public MetaTraderTimeBarsAdapter(MtApiClient metaTraderProvider) { this.metaTraderProvider = metaTraderProvider ?? throw new ArgumentNullException(nameof(metaTraderProvider)); this.lastCandeAdded = new Subject <ICandle>(); this.timesBarCollection = new CandleCollection(); this.lastCandleIndex = 0; this.metaTraderProvider.OnLastTimeBar += FireOnLastTimeBar; }
public TradeMonitor(MtApiClient apiClient) { if (apiClient == null) { throw new ArgumentNullException(nameof(apiClient)); } _apiClient = apiClient; }
public MtAPIFacade(string host, int port) { this._MtApiClient = new MtApiClient(); this.host = host; this.port = port; _MtApiClient.ConnectionStateChanged += MtApiClient_ConnectionStateChanged; _MtApiClient.OnLastTimeBar += MtApiClient_OnLastTimeBar; }
public MainPageViewModel(MtApiClient metaTraderProvider, IMarketEventsLogger marketEventsLogger) { this.metaTraderProvider = metaTraderProvider ?? throw new ArgumentNullException(nameof(metaTraderProvider)); this.marketEventsLogger = marketEventsLogger ?? throw new ArgumentNullException(nameof(marketEventsLogger)); this.metaTraderProvider.ConnectionStateChanged += ProviderConnectionStateChanged; ConnectMetaTraderCommand = new DelegateCommand(() => ConnectMetaTrader()); NotConnected = true; }
private MT4APICharts() { apiClient = new MtApiClient(); // apiClient.QuoteUpdated += ApiClient_QuoteUpdated; apiClient.QuoteUpdate += ApiClient_QuoteUpdate; apiClient.ConnectionStateChanged += ApiClient_ConnectionStateChanged; _timerTradeMonitor = new TimerTradeMonitor(apiClient) { Interval = 10000 }; // 10 sec _timerTradeMonitor.AvailabilityOrdersChanged += _tradeMonitor_AvailabilityOrdersChanged; _timeframeTradeMonitor = new TimeframeTradeMonitor(apiClient); _timeframeTradeMonitor.AvailabilityOrdersChanged += _tradeMonitor_AvailabilityOrdersChanged; apiClient.OnLastTimeBar += apiClient_OnLastTimeBar; //Connect to MT _timerTradeMonitor.Start(); _timeframeTradeMonitor.Start(); apiClient.BeginConnect(8222); }
/// <summary> /// Constructor for initializing a new instance with a custom instance of <see cref="TimeElapsedTrigger"/>. /// <para>SyncTrigger is set to false by default</para> /// </summary> /// <param name="apiClient">The <see cref="MtApiClient"/> which will be used to communicate with MetaTrader.</param> /// <param name="timeElapsedTrigger">The custom instance of <see cref="TimeElapsedTrigger"/> which will be used to trigger this instance of <see cref="TradeMonitor"/>.</param> public TimerTradeMonitor(MtApiClient apiClient, TimeElapsedTrigger timeElapsedTrigger) : base(apiClient, timeElapsedTrigger) { _timeElapsedTrigger = timeElapsedTrigger; }
/// <summary> /// Constructor for initializing a new instance with a default <see cref="Interval"/> of 10 seconds. /// <para>SyncTrigger is set to true by default</para> /// </summary> /// <param name="apiClient">The <see cref="MtApiClient"/> which will be used to communicate with MetaTrader.</param> 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 }
public BaseTechnicalIndicator(MtApiClient metaTraderProvider) { this.metaTraderProvider = metaTraderProvider ?? throw new ArgumentNullException(nameof(metaTraderProvider)); }
public StatusBarViewModel(MtApiClient metaTraderProvider) { this.metaTraderProvider = metaTraderProvider ?? throw new ArgumentNullException(nameof(metaTraderProvider)); this.metaTraderProvider.ConnectionStateChanged += MetaTraderProviderConnectionStateChanged; }
public BaseCommandHandler(MtApiClient metaTraderProvider) { this.metaTraderProvider = metaTraderProvider ?? throw new ArgumentNullException(nameof(metaTraderProvider)); }
public RelativeStrengthIndex(MtApiClient metaTraderProvider) : base(metaTraderProvider) { }
public ModifiedOrdersMonitor(MtApiClient apiClient, IMonitorTrigger monitorTrigger, OrderModifiedTypes orderModifiedTypes = OrderModifiedTypes.All, bool syncTrigger = false) : base(apiClient, monitorTrigger, syncTrigger) { _lastOrders = GetOrders(); OrderModifiedTypes = orderModifiedTypes; }
/// <summary> /// Constructor for initializing a new instance with a trigger instance of <see cref="NewBarTrigger"/>. /// <para>SyncTrigger is set to true by default</para> /// </summary> /// <param name="apiClient">The <see cref="MtApiClient"/> which will be used to communicate with MetaTrader.</param> public TimeframeTradeMonitor(MtApiClient apiClient) : base(apiClient, new NewBarTrigger(apiClient)) { SyncTrigger = true; //Sync-Trigger set to true, to have the same behavior as before }
public MetaTraderMarketListenerAdapter(MtApiClient metaTraderProvider) { this.metaTraderProvider = metaTraderProvider ?? throw new ArgumentNullException(nameof(metaTraderProvider)); this.metaTraderProvider.QuoteUpdate += FireOnQuotedUpdated; this.quotedUpdated = new Subject <IQuote>(); }
public MovingAverage(MtApiClient metaTraderProvider) : base(metaTraderProvider) { }
public TimerTradeMonitor(MtApiClient apiClient) : base(apiClient) { _timer.Interval = 10000; //default interval 10 sec _timer.Elapsed += _timer_Elapsed; }
/// <summary> /// Constructor for initializing an instance of <see cref="TradeMonitor"/>. /// </summary> /// <param name="apiClient">The <see cref="MtApiClient"/> which will be used to communicate with MetaTrader.</param> /// <param name="monitorTrigger">The custom instance of <see cref="IMonitorTrigger"/> which will be used to trigger this instance of <see cref="TradeMonitor"/>.</param> public TradeMonitor(MtApiClient apiClient, IMonitorTrigger monitorTrigger) : base(apiClient, monitorTrigger) { }
public TimeframeTradeMonitor(MtApiClient apiClient) : base(apiClient) { apiClient.OnLastTimeBar += ApiClient_OnLastTimeBar; }
public NewBarTrigger(MtApiClient apiClient) { _apiClient = apiClient; _apiClient.OnLastTimeBar += _apiClient_OnLastTimeBar; }