コード例 #1
0
ファイル: ModelsMapper.cs プロジェクト: zubr404/BinanceClient
 public static TradeConfigurationAlgo ToTradeConfigurationAlgo(this TradeConfiguration item)
 {
     if (item != null)
     {
         return(new TradeConfigurationAlgo()
         {
             MainCoin = item.MainCoin,
             AltCoin = item.AltCoin,
             Strategy = item.Strategy,
             Margin = item.Margin,
             OpenOrders = item.OpenOrders,
             OrderIndent = item.OrderIndent,
             OrderDeposit = item.OrderDeposit,
             FirstStep = item.FirstStep,
             OrderStepPlus = item.OrderStepPlus,
             Martingale = item.Martingale,
             DepositLimit = item.DepositLimit,
             OrderReload = item.OrderReload,
             Loss = item.Loss,
             Profit = item.Profit,
             IndentExtremum = item.IndentExtremum,
             ProtectiveSpread = item.ProtectiveSpread,
             Active = item.Active,
             ActivationTime = item.ActivationTime,
             DeactivationTime = item.DeactivationTime
         });
     }
     return(null);
 }
コード例 #2
0
        /// <summary>
        /// Обновляет конфиг
        /// </summary>
        /// <param name="configuration">конфигурация</param>
        /// <param name="savedStrategies">зранимая стратегия из правой панели</param>
        /// <returns></returns>
        public TradeConfiguration Update(TradeConfiguration configuration, string savedStrategies)
        {
            if (string.IsNullOrWhiteSpace(configuration.AltCoin) || string.IsNullOrWhiteSpace(configuration.MainCoin))
            {
                throw new ArgumentException("Поля AltCoin и MainCoin не должны содержать пустых значений.", "configuration");
            }
            else
            {
                var strategyString = GetStrategyString(configuration);
                using (var db = new DataBaseContext())
                {
                    var config = db.TradeConfigurations.FirstOrDefault(x => x.AltCoin == configuration.AltCoin && x.MainCoin == configuration.MainCoin && x.Strategy == configuration.Strategy);
                    if (config == null)
                    {
                        configuration.ActivationTime   = DateTime.UtcNow.ToUnixTime();
                        configuration.DeactivationTime = 0;
                        config = db.TradeConfigurations.Add(configuration).Entity;
                        db.SaveChanges();

                        if (!savedStrategies.Contains(strategyString))
                        {
                            DeactivationConfig(savedStrategies, config.ID);
                        }
                    }
                    else
                    {
                        config.MainCoin         = configuration.MainCoin;
                        config.AltCoin          = configuration.AltCoin;
                        config.Strategy         = configuration.Strategy;
                        config.IntervalHttp     = configuration.IntervalHttp;
                        config.Margin           = configuration.Margin;
                        config.OpenOrders       = configuration.OpenOrders;
                        config.OrderIndent      = configuration.OrderIndent;
                        config.OrderReload      = configuration.OrderReload;
                        config.OrderDeposit     = configuration.OrderDeposit;
                        config.FirstStep        = configuration.FirstStep;
                        config.OrderStepPlus    = configuration.OrderStepPlus;
                        config.Martingale       = configuration.Martingale;
                        config.DepositLimit     = configuration.DepositLimit;
                        config.Loss             = configuration.Loss;
                        config.Profit           = configuration.Profit;
                        config.IndentExtremum   = configuration.IndentExtremum;
                        config.ProtectiveSpread = configuration.ProtectiveSpread;
                        config.Active           = configuration.Active;
                        config.ActivationTime   = DateTime.UtcNow.ToUnixTime();
                        config.DeactivationTime = 0;
                        db.SaveChanges();

                        if (!savedStrategies.Contains(strategyString))
                        {
                            DeactivationConfig(savedStrategies, config.ID);
                        }
                    }
                    return(config);
                }
            }
        }
コード例 #3
0
 private void SetConfigView(TradeConfiguration config)
 {
     TradeConfigurationView.AltCoin          = config.AltCoin;
     TradeConfigurationView.DepositLimit     = config.DepositLimit;
     TradeConfigurationView.FirstStep        = config.FirstStep;
     TradeConfigurationView.IntervalHttp     = config.IntervalHttp;
     TradeConfigurationView.MainCoin         = config.MainCoin;
     TradeConfigurationView.Margin           = config.Margin;
     TradeConfigurationView.Martingale       = config.Martingale;
     TradeConfigurationView.OpenOrders       = config.OpenOrders;
     TradeConfigurationView.OrderDeposit     = config.OrderDeposit;
     TradeConfigurationView.OrderIndent      = config.OrderIndent;
     TradeConfigurationView.OrderStepPlus    = config.OrderStepPlus;
     TradeConfigurationView.Profit           = config.Profit;
     TradeConfigurationView.ProtectiveSpread = config.ProtectiveSpread;
     TradeConfigurationView.Strategy         = config.Strategy;
     TradeConfigurationView.IndentExtremum   = config.IndentExtremum;
     TradeConfigurationView.Loss             = config.Loss;
     TradeConfigurationView.OrderReload      = config.OrderReload;
 }
コード例 #4
0
ファイル: Martingale.cs プロジェクト: zubr404/BinanceClient
        //******************************************


        private BackTestConfiguration ToTestConfifuration(TradeConfiguration configuration)
        {
            return(new BackTestConfiguration()
            {
                MainCoin = configuration.MainCoin,
                AltCoin = configuration.AltCoin,
                Strategy = configuration.Strategy,
                Margin = configuration.Margin,
                OrderIndent = configuration.OrderIndent,
                OrderDeposit = configuration.OrderDeposit,
                FirstStep = configuration.FirstStep,
                OrderStepPlus = configuration.OrderStepPlus,
                Martingale = configuration.Martingale,
                DepositLimit = configuration.DepositLimit,
                OrderReload = configuration.OrderReload,
                Loss = configuration.Loss,
                Profit = configuration.Profit,
                IndentExtremum = configuration.IndentExtremum,
                ProtectiveSpread = configuration.ProtectiveSpread
            });
        }
コード例 #5
0
 private string GetStrategyString(TradeConfiguration tradeConfiguration)
 {
     return($"{tradeConfiguration.MainCoin.ToUpper()}{tradeConfiguration.AltCoin.ToUpper()}{tradeConfiguration.Strategy.ToUpper()}");
 }