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;
        }
 public ForexStrategyTrader(ITradingStrategy tradingStrategy, IMarketEventsLogger marketEventsLogger)
 {
     this.tradingStrategy    = tradingStrategy ?? throw new ArgumentNullException(nameof(tradingStrategy));
     this.marketEventsLogger = marketEventsLogger ?? throw new ArgumentNullException(nameof(marketEventsLogger));
 }