diff --git a/MtApi/ChartEventArgs.cs b/MtApi/ChartEventArgs.cs
index 79f534ea..0cdb8e6b 100644
--- a/MtApi/ChartEventArgs.cs
+++ b/MtApi/ChartEventArgs.cs
@@ -1,4 +1,5 @@
using System;
+using MtApi.Events;
namespace MtApi
{
diff --git a/MtApi/MtChartEvent.cs b/MtApi/Events/MtChartEvent.cs
similarity index 90%
rename from MtApi/MtChartEvent.cs
rename to MtApi/Events/MtChartEvent.cs
index 838d2af9..9e765ace 100644
--- a/MtApi/MtChartEvent.cs
+++ b/MtApi/Events/MtChartEvent.cs
@@ -1,4 +1,4 @@
-namespace MtApi
+namespace MtApi.Events
{
internal class MtChartEvent
{
diff --git a/MtApi/Events/MtEventTypes.cs b/MtApi/Events/MtEventTypes.cs
new file mode 100644
index 00000000..413d4cc3
--- /dev/null
+++ b/MtApi/Events/MtEventTypes.cs
@@ -0,0 +1,9 @@
+namespace MtApi.Events
+{
+ public enum MtEventTypes
+ {
+ LastTimeBar = 1,
+ ChartEvent = 2,
+ OnLockTicks = 3
+ }
+}
diff --git a/MtApi/Events/OnLockTicksEvent.cs b/MtApi/Events/OnLockTicksEvent.cs
new file mode 100644
index 00000000..92f37f37
--- /dev/null
+++ b/MtApi/Events/OnLockTicksEvent.cs
@@ -0,0 +1,7 @@
+namespace MtApi.Events
+{
+ internal class OnLockTicksEvent
+ {
+ public string Instrument { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/MtApi/MtApi.csproj b/MtApi/MtApi.csproj
index 92bc2804..c601a6f5 100755
--- a/MtApi/MtApi.csproj
+++ b/MtApi/MtApi.csproj
@@ -74,6 +74,7 @@
+
@@ -86,14 +87,15 @@
-
+
-
+
+
diff --git a/MtApi/MtApiClient.cs b/MtApi/MtApiClient.cs
index c0630c66..627b264c 100755
--- a/MtApi/MtApiClient.cs
+++ b/MtApi/MtApiClient.cs
@@ -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(e.Payload));
break;
+ case MtEventTypes.OnLockTicks:
+ FireOnLockTicks(e.ExpertHandle, JsonConvert.DeserializeObject(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