public override Task StartAsync(CancellationToken cancellationToken) { Task task = base.StartAsync(cancellationToken); return(task.ContinueWith(t => { 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.RunSingleThread()) { 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(); }
public IActionResult Index(string url) { ViewData["KeyCode"] = string.Empty; ViewData["FullUrl"] = string.Empty; if (!string.IsNullOrWhiteSpace(url)) { string result = string.Empty; var urlExecutor = new StrategiesManager(_serviceScopeFactory).Get(StrategyConstants.SingleLayer); urlExecutor.SetUrl(url); if (urlExecutor.Validate()) { result = urlExecutor.GetShortUrl(); } else { result = urlExecutor.ErrorMessages.First(); } ViewData["KeyCode"] = result; ViewData["FullUrl"] = string.Format("Geenrated key code for Url is : {0}{1}", CommonConstants.BaseUrl, result); } return(View()); }
public ActionResult<string> Short(string url) { var urlExecutor = new StrategiesManager(_serviceScopeFactory).Get(StrategyConstants.SingleLayer); urlExecutor.SetUrl(url); if (urlExecutor.Validate()) { return urlExecutor.GetShortUrl(); } return urlExecutor.ErrorMessages.First(); }
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 IActionResult UrlCode(string url) { var urlExecutor = new StrategiesManager(_serviceScopeFactory).Get(StrategyConstants.SingleLayer); var originalUrl = urlExecutor.GetLongUrl(url); if (originalUrl == ErrorMessagesConstants.FailToGenerate) { return(RedirectPermanent(CommonConstants.BaseUrl)); } return(RedirectPermanent(originalUrl)); }
public StrategyOptimizationManager(StrategyBase strategy) { Strategy = strategy; DataProvider = new SimulationStrategyDataProvider(); Manager = new StrategiesManager(DataProvider); Manager.Strategies.Add(Strategy); Strategy.Manager = Manager; Strategy.OptimizationMode = true; Strategy.OptimizationParametersInitialized = false; Strategy.InitializeParametersToOptimize(); Strategy.DemoMode = true; }
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 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); }
public ActionResult<string> Regen(string code) { var urlExecutor = new StrategiesManager(_serviceScopeFactory).Get(StrategyConstants.SingleLayer); return urlExecutor.GetLongUrl(code); }