Issue #226: Implemented two modes of lock ticks: LOCK_EVERY_TICK and LOCK_EVERY_CANDLE. Added event OnLockTicks

This commit is contained in:
Viacheslav Demydiuk
2020-11-29 19:30:21 +02:00
parent acd8514c38
commit 3a05fc3353
11 changed files with 57 additions and 11 deletions
+10
View File
@@ -9,6 +9,7 @@ using MtApi.Requests;
using MtApi.Responses;
using Newtonsoft.Json;
using System.Threading.Tasks;
using MtApi.Events;
namespace MtApi
{
@@ -3140,6 +3141,9 @@ namespace MtApi
case MtEventTypes.ChartEvent:
FireOnChartEvent(e.ExpertHandle, JsonConvert.DeserializeObject<MtChartEvent>(e.Payload));
break;
case MtEventTypes.OnLockTicks:
FireOnLockTicks(e.ExpertHandle, JsonConvert.DeserializeObject<OnLockTicksEvent>(e.Payload));
break;
default:
throw new ArgumentOutOfRangeException();
}
@@ -3155,6 +3159,11 @@ namespace MtApi
OnChartEvent?.Invoke(this, new ChartEventArgs(expertHandler, chartEvent));
}
private void FireOnLockTicks(int expertHandler, OnLockTicksEvent lockTicksEvent)
{
OnLockTicks?.Invoke(this, new MtLockTicksEventArgs(expertHandler, lockTicksEvent.Instrument));
}
private void BacktestingReady()
{
SendCommand<object>(MtCommandType.BacktestingReady, null);
@@ -3171,6 +3180,7 @@ namespace MtApi
public event EventHandler<MtConnectionEventArgs> ConnectionStateChanged;
public event EventHandler<TimeBarArgs> OnLastTimeBar;
public event EventHandler<ChartEventArgs> OnChartEvent;
public event EventHandler<MtLockTicksEventArgs> OnLockTicks;
#endregion
}