From 3699b73cf77ead6dc69a16297adc545e97f6d281 Mon Sep 17 00:00:00 2001 From: Viacheslav Demydiuk Date: Mon, 6 Apr 2026 21:55:59 +0300 Subject: [PATCH] Issue #290: provide information about Period (Timeframe) in event Mt5TimeBar --- MtApi5/Mt5TimeBarArgs.cs | 4 +++- MtApi5/MtApi5Client.cs | 2 +- MtApi5/MtProtocol/OnLastTimeBarEvent.cs | 1 + TestClients/MtApi5TestClient/ViewModel.cs | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/MtApi5/Mt5TimeBarArgs.cs b/MtApi5/Mt5TimeBarArgs.cs index 4f89eb54..13034f34 100644 --- a/MtApi5/Mt5TimeBarArgs.cs +++ b/MtApi5/Mt5TimeBarArgs.cs @@ -4,15 +4,17 @@ namespace MtApi5 { public class Mt5TimeBarArgs: EventArgs { - internal Mt5TimeBarArgs(int expertHandle, string symbol, MqlRates rates) + internal Mt5TimeBarArgs(int expertHandle, string symbol, ENUM_TIMEFRAMES timeframe, MqlRates rates) { ExpertHandle = expertHandle; Rates = rates; Symbol = symbol; + Timeframe = timeframe; } public int ExpertHandle { get; } public string Symbol { get; } + public ENUM_TIMEFRAMES Timeframe { get; } public MqlRates Rates { get; } } } diff --git a/MtApi5/MtApi5Client.cs b/MtApi5/MtApi5Client.cs index 2ace4cbe..b75bd2a0 100755 --- a/MtApi5/MtApi5Client.cs +++ b/MtApi5/MtApi5Client.cs @@ -3546,7 +3546,7 @@ namespace MtApi5 var e = JsonConvert.DeserializeObject(payload); if (e == null || string.IsNullOrEmpty(e.Instrument) || e.Rates == null) return; - OnLastTimeBar?.Invoke(this, new Mt5TimeBarArgs(expertHandle, e.Instrument, e.Rates)); + OnLastTimeBar?.Invoke(this, new Mt5TimeBarArgs(expertHandle, e.Instrument, e.Timeframe, e.Rates)); } private void ReceivedOnLockTicksEvent(int expertHandle, string payload) diff --git a/MtApi5/MtProtocol/OnLastTimeBarEvent.cs b/MtApi5/MtProtocol/OnLastTimeBarEvent.cs index de07ff8e..a6dc3e24 100755 --- a/MtApi5/MtProtocol/OnLastTimeBarEvent.cs +++ b/MtApi5/MtProtocol/OnLastTimeBarEvent.cs @@ -4,6 +4,7 @@ { public MqlRates? Rates { get; set; } public string? Instrument { get; set; } + public ENUM_TIMEFRAMES Timeframe { get; set; } public int ExpertHandle { get; set; } } } \ No newline at end of file diff --git a/TestClients/MtApi5TestClient/ViewModel.cs b/TestClients/MtApi5TestClient/ViewModel.cs index 5ee50991..c585d1f7 100755 --- a/TestClients/MtApi5TestClient/ViewModel.cs +++ b/TestClients/MtApi5TestClient/ViewModel.cs @@ -1873,7 +1873,7 @@ namespace MtApi5TestClient private void _mtApiClient_OnLastTimeBar(object sender, Mt5TimeBarArgs e) { - AddLog($"OnLastTimeBarEvent: ExpertHandle = {e.ExpertHandle}, Symbol = {e.Symbol}, open = {e.Rates.open}, close = {e.Rates.close}, time = {e.Rates.time}, high = {e.Rates.high}, low = {e.Rates.low}"); + AddLog($"OnLastTimeBarEvent: ExpertHandle = {e.ExpertHandle}, Symbol = {e.Symbol}, Timeframe = {e.Timeframe}, open = {e.Rates.open}, close = {e.Rates.close}, time = {e.Rates.time}, high = {e.Rates.high}, low = {e.Rates.low}"); } private void _mtApiClient_OnLockTicks(object sender, Mt5LockTicksEventArgs e)