Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Советники

Two MA one RSI - эксперт для MetaTrader 5

Опубликовал:
Vladimir Karputov
Просмотров:
2499
Рейтинг:
(26)
Опубликован:
2018.05.28 15:38
Обновлен:
2020.10.12 04:42
\MQL5\Profiles\Tester\
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Автор идеи: Iurii Tokman.

Автор MQL5-кода: Vladimir Karputov.

Советник торгует по двум индикаторам iMA (Moving Average, MA) и одному iRSI (Relative Strength Index, RSI). Принятие решения по торговым сигналам осуществляется только в момент рождения нового бара, а трейлинг и закрытие позиций при достижении прибыли работают на каждом тике.

Применено нестандартное решение: период усреднения индикатора Slow вычисляется как период усреднения Fast, умноженный на два, а период усреднения индикатора RSI всегда равен периоду усреднения Fast. Таким образом сокращается количество параметров при оптимизации.

Также в формуле определения сигналов можно оптимизировать абсолютно все знаки "<" и ">". Для этого вводятся свои переменные (InpMoreLessBuy_1, InpMoreLessBuy_2, InpMoreLessBuy_3, InpMoreLessSell_1, InpMoreLessSell_2, InpMoreLessSell_3). С этими переменными формула определения сигналов преобразовывается к виду:

   bool signal_buy=(!InpMoreLessBuy_1  ?  ArrayFast[1]<ArraySlow[1]:  ArrayFast[1]>ArraySlow[1]) && 
                   (InpMoreLessBuy_2   ?  ArrayFast[0]>ArraySlow[0]:  ArrayFast[0]<ArraySlow[0]) &&
                   (InpMoreLessBuy_3   ?  RSI>InpRSI_level_UP      :  RSI<InpRSI_level_UP);
   bool signal_sell=(InpMoreLessSell_1 ?  ArrayFast[1]>ArraySlow[1]:  ArrayFast[1]<ArraySlow[1]) && 
                    (!InpMoreLessSell_2?  ArrayFast[0]<ArraySlow[0]:  ArrayFast[0]>ArraySlow[0]) &&
                    (!InpMoreLessSell_3?  RSI<InpRSI_level_DOWN    :  RSI>InpRSI_level_DOWN);


Входные параметры

  • Параметры индикаторов Moving Average:

    • Fast: av. period - Период усреднения Moving Average "Fast";
    • Fast: horizontal shift - Горизонтальный сдвиг Moving Average "Fast";
    • Fast: type of price - Тип цены Moving Average "Fast";
    • Slow: horizontal shift - Горизонтальный сдвиг Moving Average "Slow";
    • Slow: type of price - Тип цены Moving Average "Slow";
    • Fast and Slow: smoothing type - Тип усреднения (общий параметр для "Fast" и "Slow").

  • Параметры индикатора RSI и его сигналов:

    • RSI: type of price - Тип цены индикатора RSI;
    • RSI: level UP - Уровень UP индикатора RSI;
    • RSI: level DOWN - Уровень DOWN индикатора RSI.

  • Параметры торговли:

    • Stop Loss - Стоп лосс (если установить в ноль - параметр выключается);
    • Take Profit - Тейк профит (если установить в ноль - параметр выключается);
    • Trailing Stop - Трейлинг (если установить в ноль - параметр выключается);
    • Trailing Step - шаг трейлинга;
    • Lots - торговля постоянным лотом (параметр Lots больше нуля и параметр Risk равен нулю);
    • Risk - лот рассчитывается динамически (параметр Risk больше нуля и параметр Lots равен нулю);
    • Maximum number of positions in one direction - максимальное количество позиций одного направления (если установить в ноль - параметр выключается);
    • Close all positions when profit is achieved - Закрытие позиций при достижении прибыли (если установить в ноль - параметр выключается);
    • Close opposite positions - Закрытие противоположный позиций (если установить в "false" - параметр выключается);
    • magic number - уникальный идентификатор эксперта.

Как видите, в советнике (кроме настроек параметров индикаторов) можно гибко настраивать (и отключать) стоп лосс, тейк профит, трейлинг, максимальное количество позиций одного направления, закрытие позиций при достижении прибыли, закрытие противоположный позиций. Также можно управлять расчетом объема позиции: можно торговать постоянным лотом (параметр Lots больше нуля и параметр Risk равен нулю) или лот может рассчитываться динамически (параметр Risk больше нуля и параметр Lots равен нулю).


Рекомендации по оптимизации

В режиме генерации тиков "OHLC на M1" выбрать символ и таймфрейм M15. Стоп лосс, тейк профит и трейлинг отключаем (ставим в ноль), максимальное количество позиций каждого направления ставим в "1". Или скопируйте в папку MQL5\Profiles\Tester\ файл Two MA one RSI M15 Start.set - в этом файле уже стоят начальные параметры оптимизации для M15.

Тип оптимизации выбрать "Быстрая (генетический алгоритм)" и оптимизируемый параметр "Balance max".

Рекомендую для оптимизации подключать MQL5 Cloud Network: на USDJPY за 2017 год оптимизация в облаке плюс мои четыре ядра ноутбука

заняла

2018.05.28 08:03:19.923 optimization done in 7 minutes 58 seconds

и стоила $0.08.

CandlesticksBW_Alert CandlesticksBW_Alert

Индикатор с раскраской свечей по Б.Вильямсу и подачей алертов на смене тренда, а также отправкой почтовых и Push-сообщений в такой ситуации.

Exp_CandlesticksBW_Tm Exp_CandlesticksBW_Tm

Эксперт Exp_CandlesticksBW_Tm построен на основе изменения цвета свечек индикатора CandlesticksBW с возможностью жесткой фиксации временного диапазона торговли.

Trend_Component Trend_Component

Индикатор Trend Component Джона Элерса

CandleStop_Cloud CandleStop_Cloud

Индикатор для подтягивания трейлинг стопов с цветовым фоновым заполнением канала и с отображением последних значений в виде ценовых меток.