コード例 #1
0
ファイル: StrategyManager.cs プロジェクト: Aerevia/SKryll
        public void StartStrategy(InstalledStrategy installedStrategy, Exchange exchange, string pair, bool isAllIn, bool isLive, float fuel = 25, float tradedAmount = 0, float baseAmount = 0, string instanceName = "")
        {
            installedStrategy.StartButton.Click();

            var startElement = Browser.FindElementByCssSelector("app-dialog-strategy-start");

            var wait = new WebDriverWait(Browser, TimeSpan.FromSeconds(5)).Until(drv => drv.FindElement(By.CssSelector("select[name='multi_exchange']")));


            if (instanceName != "")
            {
                var nameElement = startElement.FindElement(By.CssSelector("input[name='name']"));
                nameElement.Clear();
                nameElement.SendKeys(instanceName);
            }

            SelectElement exchangeSelect = new SelectElement(startElement.FindElement(By.CssSelector("select[name='multi_exchange']")));

            exchangeSelect.SelectByText(exchange.Value);

            SelectElement pairSelect = new SelectElement(startElement.FindElement(By.CssSelector("select[name='pair']")));

            pairSelect.SelectByText(pairSelect.Options.Where(o => o.Text.Contains(pair)).First().Text);

            if (isAllIn)
            {
                startElement.FindElement(By.CssSelector("a[class='underline']")).Click();
            }
            else
            {
                var startingTradedElement = startElement.FindElement(By.CssSelector("input[name='strategy_traded']"));
                startingTradedElement.Clear();
                startingTradedElement.SendKeys(tradedAmount.ToString());
                var startingBaseElement = startElement.FindElement(By.CssSelector("input[name='strategy_base']"));
                startingBaseElement.Clear();
                startingBaseElement.SendKeys(baseAmount.ToString());
            }

            var fuelElement = startElement.FindElement(By.CssSelector("input[name='krl_to_lock']"));

            fuelElement.Clear();
            fuelElement.SendKeys(fuel.ToString());

            if (!isLive)
            {
                startElement.FindElement(By.CssSelector("input[id='switchMode']")).Click();
            }


            startElement.FindElement(By.CssSelector("button[type='submit']")).Click();
        }
コード例 #2
0
ファイル: StrategyManager.cs プロジェクト: Aerevia/SKryll
        public List <InstalledStrategy> GetInstalledtrategies()
        {
            InstalledStrategies = new List <InstalledStrategy>();

            Browser.Navigate().GoToUrl(strategiesUrl);

            var installedStrategiesDiv = Browser.FindElementsByCssSelector("app-card-strategy-picked");

            foreach (var item in installedStrategiesDiv)
            {
                var buttonElements = item.FindElement(By.ClassName("card-actions")).FindElements(By.TagName("a"));
                InstalledStrategy installedStrategy = new InstalledStrategy
                {
                    Title          = item.FindElement(By.ClassName("card-name")).Text,
                    InfoButton     = buttonElements[0],
                    BackTestButton = buttonElements[1],
                    StartButton    = buttonElements[2]
                };

                InstalledStrategies.Add(installedStrategy);
            }

            return(InstalledStrategies);
        }