Exemplo n.º 1
0
        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.");
            }));
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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());
        }
Exemplo n.º 4
0
        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();
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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;
        }
Exemplo n.º 8
0
        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.");
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 11
0
 public ActionResult<string> Regen(string code)
 {
     
     var urlExecutor = new StrategiesManager(_serviceScopeFactory).Get(StrategyConstants.SingleLayer);
     return urlExecutor.GetLongUrl(code);
 }