Beispiel #1
0
        public AlligatorTrend(string name, StartProgram startProgram) : base(name, startProgram)
        {
            _startProgram = startProgram;

            // создаем вкладку робота
            TabCreate(BotTabType.Simple);
            _tab = TabsSimple[0];

            // создаем настроечные параметры робота
            Regime = CreateParameter("Режим работы бота", "Off", new[] { "On", "Off", "OnlyClosePosition", "OnlyShort", "OnlyLong" });
            AlligatorFastLenght   = CreateParameter("Длина быстрого алигатора", 100, 50, 200, 10);
            AlligatorMiddleLenght = CreateParameter("Длина среднего алигатора", 100, 50, 200, 10);
            AlligatorSlowLenght   = CreateParameter("Длина медленного алигатора", 100, 50, 200, 10);
            Volume           = CreateParameter("Объем входа в позицию", 1.0m, 1.0m, 100.0m, 1.0m);
            MaxPositionCount = CreateParameter("Максимальное количество позиций", 2, 1, 10, 1);
            Slippage         = CreateParameter("Проскальзывание (в шагах цены)", 350, 1, 500, 50);

            // создаем индикаторы на вкладке робота и задаем для них параметры


            _alligator = IndicatorsFactory.CreateIndicatorByName("Alligator", name + "Alligator", false);
            _alligator = (Aindicator)_tab.CreateCandleIndicator(_alligator, "Prime");
            _alligator.ParametersDigit[0].Value = AlligatorSlowLenght.ValueInt;
            _alligator.ParametersDigit[1].Value = AlligatorFastLenght.ValueInt;
            _alligator.ParametersDigit[2].Value = AlligatorMiddleLenght.ValueInt;
            _alligator.Save();

            // подписываемся на события
            _tab.CandleFinishedEvent += _tab_CandleFinishedEvent;
            ParametrsChangeByUser    += AlligatorTrend_ParametrsChangeByUser;
        }
Beispiel #2
0
        /// <summary>
        /// Конструктор
        /// </summary>
        /// <param name="name">Имя робота</param>
        /// <param name="startProgram">Программа, в которой запущен робот</param>
        public BollingerTrend(string name, StartProgram startProgram) : base(name, startProgram)
        {
            _startProgram = startProgram;

            // создаем вкладку робота Simple
            TabCreate(BotTabType.Simple);
            _tab = TabsSimple[0];

            // создаем настроечные параметры робота
            Regime                   = CreateParameter("Режим работы бота", "Off", new[] { "On", "Off", "OnlyClosePosition", "OnlyShort", "OnlyLong" });
            OnDebug                  = CreateParameter("Включить отладку", false);
            OnDepositFixed           = CreateParameter("Включить режим фикс. депозита", false);
            DepositFixedSize         = CreateParameter("Размер фикс. депозита", 100, 100.0m, 100, 100);
            DepositNameCode          = CreateParameter("Код инструмента, в котором депозит", "USDT", new[] { "USDT", "" });
            VolumePercent            = CreateParameter("Объем входа в позицию (%)", 50, 40, 300, 10);
            BollingerPeriod          = CreateParameter("Длина болинжера", 100, 50, 200, 10);
            BollingerDeviation       = CreateParameter("Отклонение болинжера", 1.5m, 1.0m, 3.0m, 0.2m);
            MethodOutOfPosition      = CreateParameter("Метод выхода из позиции", "ChannelBoundary", new[] { "ChannelBoundary", "ChannelCenter" });
            OnStopForBreakeven       = CreateParameter("Вкл. стоп для перевода в безубытк", true);
            MinProfitOnStopBreakeven = CreateParameter("Мин. профит для перевода в безубытк (%)", 7, 5, 20, 1);
            Slippage                 = CreateParameter("Проскальзывание (в шагах цены)", 350, 1, 500, 50);
            VolumeDecimals           = CreateParameter("Кол. знаков после запятой для объема", 4, 4, 10, 1);
            ShiftTimeExchange        = CreateParameter("Разница времени с биржей", 5, -10, 10, 1);

            // создаем индикаторы на вкладке робота и задаем для них параметры
            _bollinger = IndicatorsFactory.CreateIndicatorByName("Bollinger", name + "Bollinger", false);
            _bollinger = (Aindicator)_tab.CreateCandleIndicator(_bollinger, "Prime");
            _bollinger.ParametersDigit[0].Value = BollingerPeriod.ValueInt;
            _bollinger.ParametersDigit[1].Value = BollingerDeviation.ValueDecimal;
            _bollinger.Save();

            // подписываемся на события
            _tab.CandleFinishedEvent        += Tab_CandleFinishedEvent;
            _tab.PositionClosingFailEvent   += Tab_PositionClosingFailEvent;
            _tab.PositionClosingSuccesEvent += Tab_PositionClosingSuccesEvent;
            _tab.PositionOpeningFailEvent   += Tab_PositionOpeningFailEvent;
            _tab.MarketDepthUpdateEvent     += Tab_MarketDepthUpdateEvent;
            ParametrsChangeByUser           += BollingerTrend_ParametrsChangeByUser;
        }