public override Task StartAsync(CancellationToken cancellationToken) { Task task = base.StartAsync(cancellationToken); return(task.ContinueWith(t => { LogManager.Default.Log(LogType.Success, null, "starting.", ""); _logger.LogInformation("starting..."); Manager = new StrategiesManager(); TaSimpleStrategy strategy = new TaSimpleStrategy(); strategy.TickerInfo = new Crypto.Core.Common.TickerNameInfo() { BaseCurrency = "USDT", MarketCurrency = "BTC", Exchange = CryptoMarketClient.ExchangeType.Poloniex }; strategy.DemoMode = true; strategy.MaxAllowedDeposit = 1000; Manager.Strategies.Add(strategy); if (!Manager.Initialize(new RealtimeStrategyDataProvider())) { LogManager.Default.Log(LogType.Error, Manager, "strategies manager did not initialized.", ""); _logger.LogError("strategies manager did not initialized."); return; } LogManager.Default.Log(LogType.Success, Manager, "start strategies manager.", ""); if (!Manager.Start()) { LogManager.Default.Log(LogType.Error, Manager, "strategies manager did not start.", ""); _logger.LogError("strategies manager did not start."); return; } LogManager.Default.Log(LogType.Success, Manager, "strategies manager started.", ""); _logger.LogInformation("strategies manager successuflly started."); })); }
private void bbGrabData_ItemClick(object sender, ItemClickEventArgs e) { TickerDataCaptureStrategy s = new TickerDataCaptureStrategy(); if (File.Exists("CaptureDataSettings.xml")) { s = TickerDataCaptureStrategy.LoadFromFile("CaptureDataSettings.xml"); } s.Enabled = true; s.DemoMode = false; using (TickerCaptureSettingsForm form = new TickerCaptureSettingsForm()) { form.Settings = s; if (form.ShowDialog() != DialogResult.OK) { return; } } s.FileName = "CaptureDataSettings.xml"; s.Save(null); StrategiesManager m = new StrategiesManager(); m.Strategies.Add(s); m.Initialize(new RealtimeStrategyDataProvider()); m.Start(); ActiveConnectionsForm.Show(); }
private void biSimulation_ItemClick(object sender, ItemClickEventArgs e) { StrategyBase strategy = (StrategyBase)this.gridView1.GetFocusedRow(); if (strategy == null) { XtraMessageBox.Show("No strategy selected."); return; } if (!strategy.SupportSimulation) { XtraMessageBox.Show("This strategy does not support simulation."); return; } StrategiesManager manager = new StrategiesManager(); StrategyBase cloned = strategy.Clone(); cloned.DemoMode = true; manager.Strategies.Add(cloned); this.siStatus.Caption = "<b>Loading data from exchanges...</b>"; IOverlaySplashScreenHandle handle = SplashScreenManager.ShowOverlayForm(this); Application.DoEvents(); manager.Initialize(new SimulationStrategyDataProvider()); if (!manager.Start()) { XtraMessageBox.Show("Error starting simulation! Please check log messages"); return; } this.siStatus.Caption = "<b>Running simulation...</b>"; Application.DoEvents(); Stopwatch timer = new Stopwatch(); timer.Start(); int elapsedSeconds = 0; while (manager.Running) { if (timer.ElapsedMilliseconds / 1000 > elapsedSeconds) { elapsedSeconds = (int)(timer.ElapsedMilliseconds / 1000); this.siStatus.Caption = string.Format("<b>Running simulation... {0} sec</b>", elapsedSeconds); Application.DoEvents(); } } SplashScreenManager.CloseOverlayForm(handle); this.siStatus.Caption = "<b>Simulation done.</b>"; Application.DoEvents(); StrategyConfigurationManager.Default.ShowData(cloned); }
public static void Main(string[] args) { LogManager.Default.Log(LogType.Success, null, "starting.", ""); Debug.WriteLine("starting..."); StrategiesManager manager = new StrategiesManager(); TaSimpleStrategy strategy = new TaSimpleStrategy(); strategy.TickerInfo = new Crypto.Core.Common.TickerNameInfo() { BaseCurrency = "USDT", MarketCurrency = "BTC", Exchange = CryptoMarketClient.ExchangeType.Poloniex }; strategy.DemoMode = true; strategy.MaxAllowedDeposit = 1000; manager.Strategies.Add(strategy); if (!manager.Initialize(new RealtimeStrategyDataProvider())) { LogManager.Default.Log(LogType.Error, manager, "strategies manager did not initialized.", ""); Debug.WriteLine("strategies manager did not initialized."); return; } LogManager.Default.Log(LogType.Success, manager, "start strategies manager.", ""); if (!manager.Start()) { LogManager.Default.Log(LogType.Error, manager, "strategies manager did not start.", ""); Debug.WriteLine("strategies manager did not start."); return; } LogManager.Default.Log(LogType.Success, manager, "strategies manager started.", ""); Console.WriteLine("strategies manager successuflly started."); while (true) { lock (manager) { if (!manager.Running) { break; } } lock (strategy) { Debug.WriteLine(DateTime.Now.ToLongTimeString() + " deposit = " + strategy.MaxActualDeposit + " earned = " + strategy.Earned); } } LogManager.Default.Log(LogType.Success, manager, "strategies manager stopped.", ""); Console.WriteLine("strategies manager successuflly stopped."); }
public void StartStrategiesManager() { LogManager.Default.Log(LogType.Success, null, "starting.", ""); Console.WriteLine("starting..."); StrategiesManager manager = new StrategiesManager(); if (!PoloniexExchange.Default.Connect()) { LogManager.Default.Log(LogType.Error, null, "Poloniex exchange not connected.", ""); Console.WriteLine("Poloniex exchange not connected."); return; } TaSimpleStrategy strategy = new TaSimpleStrategy(); strategy.StrategyInfo.Tickers.Add(new TickerInputInfo() { Exchange = ExchangeType.Poloniex, TickerName = "USDT_BTC", UseOrderBook = true, }); strategy.Enabled = true; strategy.DemoMode = true; strategy.MaxAllowedDeposit = 1000; manager.Strategies.Add(strategy); if (!manager.Initialize(new RealtimeStrategyDataProvider())) { LogManager.Default.Log(LogType.Error, manager, "strategies manager did not initialized.", ""); Console.WriteLine("strategies manager did not initialized."); return; } LogManager.Default.Log(LogType.Success, manager, "start strategies manager.", ""); if (!manager.Start()) { LogManager.Default.Log(LogType.Error, manager, "strategies manager did not start.", ""); Console.WriteLine("strategies manager did not start."); return; } LogManager.Default.Log(LogType.Success, manager, "strategies manager started.", ""); Console.WriteLine("strategies manager successuflly started."); Manager = manager; }
private void biStart_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { Stopped = false; if (!Manager.Initialized) { if (!Manager.Initialize(new RealtimeStrategyDataProvider())) { XtraMessageBox.Show("There are troubles initializing manager with RealtimeStrategyDataProvider. Check log for detailed information."); return; } } if (!Manager.Start()) { XtraMessageBox.Show("There are troubles starting strategies manager. Check log for detailed information."); return; } UpdateStatusText(); this.gridView1.RefreshData(); }
private void biSimulation_ItemClick(object sender, ItemClickEventArgs e) { Stopped = false; StrategyBase strategy = (StrategyBase)this.gridView1.GetFocusedRow(); if (strategy == null) { XtraMessageBox.Show("No strategy selected."); return; } if (!strategy.SupportSimulation) { XtraMessageBox.Show("This strategy does not support simulation."); return; } StrategiesManager manager = new StrategiesManager(); manager.FileName = "SimulationStrategiesManager.xml"; StrategyBase cloned = strategy.Clone(); cloned.DemoMode = true; manager.Strategies.Add(cloned); this.siStatus.Caption = "<b>Loading data from exchanges...</b>"; IOverlaySplashScreenHandle handle = SplashScreenManager.ShowOverlayForm(gridControl1); Application.DoEvents(); SimulationStrategyDataProvider dataProvider = new SimulationStrategyDataProvider(); dataProvider.DownloadProgressChanged += OnSimulationProviderDownloadProgressChanged; this.beSimulationProgress.EditValue = 0; this.beSimulationProgress.Visibility = BarItemVisibility.Always; manager.Initialize(dataProvider); dataProvider.DownloadProgressChanged -= OnSimulationProviderDownloadProgressChanged; if (!manager.Start()) { XtraMessageBox.Show("Error starting simulation! Please check log messages"); return; } this.beSimulationProgress.EditValue = 0; this.beSimulationProgress.Visibility = BarItemVisibility.Always; this.siStatus.Caption = "<b>Running simulation...</b>"; Application.DoEvents(); Stopwatch timer = new Stopwatch(); timer.Start(); int elapsedSeconds = 0; double progress = 0; while (manager.Running) { this.beSimulationProgress.EditValue = (int)(dataProvider.SimulationProgress * this.repositoryItemProgressBar1.Maximum); if (timer.ElapsedMilliseconds / 1000 > elapsedSeconds) { elapsedSeconds = (int)(timer.ElapsedMilliseconds / 1000); this.siStatus.Caption = string.Format("<b>Running simulation... {0} sec</b>", elapsedSeconds); Application.DoEvents(); } if ((dataProvider.SimulationProgress - progress) >= 0.05) { progress = dataProvider.SimulationProgress; Application.DoEvents(); } } this.beSimulationProgress.Visibility = BarItemVisibility.Never; SplashScreenManager.CloseOverlayForm(handle); manager.Save(); this.siStatus.Caption = "<b>Simulation done.</b>"; Application.DoEvents(); //this.toastNotificationsManager1.ShowNotification("404ef86f-183c-4fea-960b-86f54e52ea76"); StrategyConfigurationManager.Default.ShowData(cloned); }