Универсальный советник на основе индикатора — Universal EA

Универсальный EA

Эксперт-советник mql4, позволяющий построить торговую систему на базе произвольного «стрелочного» индикатора.

«Стрелочным» считается индикатор, размещающий в своем буфере значения, отличные от нуля и EMPTY_VALUE, отображающиеся в основном или дополнительном окне методом DRAW_ARROW. Советник опрашивает значения заданных индикаторных буферов, открывает и сопровождает сделки согласно заданным параметрам.

В советнике реализованы следующие функции сопровождения сделок:

  • установка для сделки значений стоп-лосс и тэйк-профит;
  • перевод в безубыток (перенос значения стоп-лосс на уровень, обеспечивающий сделке минимальное прибыльное значение при прохождении цены более заданного значения);
  • частичное закрытие позиции (закрытие заданной части объема при прохождении ценой заданного значения);
  • мартингейл (увеличение объема сделки после получения убытка);

Советник проверяет достаточность свободных средств перед открытием новой сделки, контролирует допустимые уровни размещения TP и SL, проверяет режим исполнения ордеров и изменяет с соответствии с этим алгоритм выставления SL и TP. В настройках советника использованы данные для работе на счете с 4-значными котировками. При использовании советника на счете с 5-значными котировками, настройки будут пересчитаны автоматически.

Для подключения к советнику собственного индикатора, необходимо ввести его название (имя файла без расширения и пути) и ввести значения используемых фуферов. Индикатор должен быть скомпилирован и находиться в стандартной папке приложения.

В ресурсы советника добавлен тестовый индикатор, позволяющий проверить работоспособность в тестере стратегии. Для использование тестового индикатора, в параметре IndicatorName должно быть введено значение ::Indicators\\TestIndicator.ex4 (настройка по умолчанию).

Настройки советника Universal EA

Настройки советника Universal EA

Пример подключения собственного индикатора приведен на рисунке ниже

Подключения собственного индикатора к советнику Universal EA

Подключения собственного индикатора к советнику Universal EA

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

  • 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

Видео с демонстрацией работы советника на встроенном индикаторе ниже. Смотрите пример построения торговой системы на базе Universal EA.

 

Купить эксперта UniversalEA в магазине систем алготрейдинга

 

Вы можете оставить комментарий, или ссылку на Ваш сайт.

1 комментарий к записи “Универсальный советник на основе индикатора — Universal EA”

  1. serg-deev:

    Версия 1.8 универсального советника может работать с индикаторами, формирующими пользовательские события (CustomEvent), например https://www.mql5.com/ru/market/product/18709

Оставить комментарий

Вы должны быть авторизованы, чтобы разместить комментарий.