using MtApi.Monitors.Triggers; namespace MtApi.Monitors { public class TimerTradeMonitor : TradeMonitor { #region Fields private readonly TimeElapsedTrigger _timeElapsedTrigger; #endregion #region Properties /// /// Interval for raising the trigger /// public double Interval { get => _timeElapsedTrigger.Interval.TotalMilliseconds; set => _timeElapsedTrigger.Interval = TimeSpan.FromMilliseconds(value); } #endregion #region ctors /// /// Constructor for initializing a new instance with a default of 10 seconds. /// SyncTrigger is set to true by default /// /// The which will be used to communicate with MetaTrader. public TimerTradeMonitor(MtApiClient apiClient) : this(apiClient, new TimeElapsedTrigger(TimeSpan.FromSeconds(10))) { SyncTrigger = true; //Sync-Trigger set to true, to have the same behavior as before } /// /// Constructor for initializing a new instance with a custom instance of . /// SyncTrigger is set to false by default /// /// The which will be used to communicate with MetaTrader. /// The custom instance of which will be used to trigger this instance of . public TimerTradeMonitor(MtApiClient apiClient, TimeElapsedTrigger timeElapsedTrigger) : base(apiClient, timeElapsedTrigger) { _timeElapsedTrigger = timeElapsedTrigger; } #endregion } }