Пример построения торговой системы на базе советника UniversalEA

6 мая 2018, 05:35
Sergey Deev
0
362

UniversalEA - универсальный советник, предназначенный для автоматизации торговли на базе пользовательского "стрелочного" индикатора.

Для примера возьмем популярный стрелочный индикатор из маркета - PipFinite Trend Pro. Необходимо определить номера требуемых индикаторных буферов. Для этого запускаем индикатор в тестере стратегий или размещаем на график (если он уже приобретен) и открываем окно данных. Автор индикатора позаботился о потребителях - с названием отображается и номер индикаторного буфера. На интересуют:

  • Buy Signal (8) - сигнал на покупку;
  • Sell Segnal (9) - сигнал на продажу;
  • TP2 Price (13) - уровень TP;
  • TP1 (16) - сигнал для частичного закрытия сделки.

Окно данных PipFinite Trend Pro

Далее необходимо задать значения нужным параметрам советника. Наиболее интересные нам для данного случая параметры приведены на скриншоте ниже. Можно загрузить настройки из прицепленного set-файла.

Настройка UniversalEA

Итак, мы задали: открытие сделок по сигналам BUY/SELL, установка тейк-профит по цене TP2, закрытие части объема по сигналу TP1, закрытие сделки по обратному сигналу.

Теперь запускаем тестер и смотрим результат


Описание параметров советника:

  • startLot - начальный объем при задании фиксированного значения;
  • maxLot - максимальный объем сделок при вычислении по риску или умножению;
  • MaxRisk - максимальный риск на сделку (определяет объем ордера по максимальному убытку в процентах от депозита), не работает при нулевом stopLoss, отменяет использование startLot, 0 - не используется;
  • Martin_factor - коэффициент умножения объема нового ордера после получения убытка (0 - не используется);
  • stepProfit - шаг прибыли в пунктах для частичного закрытия сделок (0 - не используется);
  • stepProfit_factor - объем при частичном закрытии ордеров (0 - не используется);
  • stopLoss - стоп-лосс в пунктах (0 - не используется);
  • takeProfit - тейк-профит в пунктах (0 - не используется);
  • noLoss - уровень перевода в безубыток в пунктах (0 - не используется);
  • noLoss_factor - уровень перевода в безубыток в долях от SL (0 - не используется);
  • trailStop - значение тейлинга в пунктах (0 - не используется);
  • trailStep - шаг тейлинга в пунктах (0 - не используется);
  • DualOrders - разрешение открытия sell-ордеров при наличии активных buy и наоборот;
  • UseAllSignals - разрешение ордеров по всем сигналам;
  • ProfitNum - минимальное количество ордеров для закрытия по суммарной прибыли;
  • ProfitSumm - сумма прибыли для закрытия ордеров;
  • minProfit_factor - размер частичного закрытия ордеров;
  • minProfit_noLoss - перевести в безубыток при частичном закрытии;
  • IndicatorName - название индикатора (без расширения и путей);
  • openBuyBufferIndex - буфер для открытия ордеров на покупку (-1 - не используется);
  • takeProfitBuyBufferIndex - буфер значения тейк-профит ордеров на покупку (-1 - не используется);
  • stopLossBuyBufferIndex - буфер значения стоп-лосс ордеров на покупку (-1 - не используется);
  • closeBuyBufferIndex - буфер для закрытия ордеров на покупку (-1 - не используется);
  • minProfetBuyBufferIndex - буфер для частичного закрытия ордеров на покупку (-1 - не используется);
  • openSellBufferIndex - буфер для открытия ордеров на продажу (-1 - не используется);
  • takeProfitSellBufferIndex - буфер значения тейк-профит ордеров на продажу (-1 - не используется);
  • stopLossSellBufferIndex - буфер значения стоп-лосс ордеров на продажу (-1 - не используется);
  • closeSellBufferIndex - буфер для закрытия ордеров на продажу (-1 - не используется);
  • minProfetSellBufferIndex - буфер для частичного закрытия ордеров на продажу (-1 - не используется);
  • BarIndex - индекс бара в буфере;
  • useMaFilter - разрешение фильтрации сигналов скользящей средней;
  • MaFilterTimeFreme - временной интервал скользящей средней;
  • MaFilterPeriod - период скользящей средней;
  • MaFilterMethot - метод скользящей средней;
  • MaFilterPrice - цены скользящей средней;
  • useRsiFilter - разрешение фильтра по индикатору RSI (продажа когда значение выше верхнего уровня, покупка когда ниже нижнего);
  • rsiFilterTimeFrafe, rsiFilterPeriod, rsiFilterPrice, rsiFilterLevel_UP, rsiFilterLevel_DOWN - параметры RSI;
  • useStochFilter - разрешение фильтра по индикатору Stohastic (продажа когда значение выше верхнего уровня, покупка когда ниже нижнего);
  • stochFilterTimeFrafe, stochFilterK, stochFilterD, stochFilterSlow, stochFilterMethod, stochFilterPrice, stochFilterLevel_UP, stochFilterLevel_DOWN - параметры стохастика;
  • useParabolicFilter - разрешение фильтра по индикатору Parabolic SAR (продажа когда значение выше свечи, покупка когда ниже свечи);
  • parabolicFilterTimeFrafe, parabolicFilterStep, parabolicFilterMax - параметры SAR
  • useStdFilter - разрешение фильтра по индикатору StdDev (торговля когда значение выше заданного и движется вверх);
  • stdFilterTimeFrafe, stdFilterPeriod, stdFilterLevel, stdFilterMethod, stdFilterPrice - параметры StdDev
  • useMacdFilter - разрешение фильтра по индикатору MACD (покупка - когда сигнальная линия ниже основной, продажа - выше);
  • macdFilterTimeFrafe, macdFilterFast, macdFilterSlow, macdFilterSignal, macdFilterPrice
  • CustomEventBuy - пользовательское событие на покупку (0 - не используется)
  • CustomEventSell - пользовательское событие на продажу (0 - не используется)
  • timeStart - час начала торговли (0 .. 23);
  • timeEnd - час завершения торговли (0 .. 23);
  • slippage - проскальзывание в пунктах;
  • MAGIC - идентификатор;
  • useMail - разрешение сообщений на электронную почту;
  • useNotification - разрешение сообщений на мобильное устройство;
  • messageText - текст сообщений;
  • TesterAutoTradeWeek - разрешение автоматического сигнала на покупку еженедельно в тестере стратегий.
  • useButton - разрешение вывода на график кнопок Buy/Sell
Файлы: