private void StopTrading() { Strategy?.Stop(); Strategy = null; MarketTerminal?.Close(); MarketTerminal = null; MarketListBox.IsEnabled = true; }
public TradeStrategy(IMarketAPI api, Statistics stats) { MarketTerminal = api; StrategyStatistics = stats; LastStatTime = StrategyStatistics.Snapshots.LastOrDefault()?.Time ?? new DateTime(); LogThread = new Thread(new ThreadStart(_LogStats)); LogThread.Name = "LogThread"; }
private void StartTrading() { // Setup Market API OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.DefaultExt = ".txt"; fileDialog.Filter = "Text documents (.txt)|*.txt"; var result = fileDialog.ShowDialog(); if (result == true) { MarketKeyFile = fileDialog.FileName; } else { StartButton.IsChecked = false; return; } MarketTerminal = CreateMarketAPI(); if (MarketTerminal == null) { StartButton.IsChecked = false; return; } StartButton.IsEnabled = false; new Thread(new ThreadStart(delegate { while (!MarketTerminal.IsReady()) { ; } // Setup Trade Strategy Strategy = new ModifiedMR(MarketTerminal, TimeSpan.FromMinutes(15), TimePeriod.ONE_HOUR, 48, StrategyStatistics); Strategy.Start(true); App.Current.Dispatcher.Invoke(delegate { StartButton.IsEnabled = true; }); })).Start(); MarketListBox.IsEnabled = false; }