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
}
}