コード例 #1
0
ファイル: MainWindow.xaml.cs プロジェクト: w1r2p1/crux
 private void StopTrading()
 {
     Strategy?.Stop();
     Strategy = null;
     MarketTerminal?.Close();
     MarketTerminal          = null;
     MarketListBox.IsEnabled = true;
 }
コード例 #2
0
        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";
        }
コード例 #3
0
ファイル: MainWindow.xaml.cs プロジェクト: w1r2p1/crux
        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;
        }