• Обзор
  • Отзывы (1)
  • Обсуждение (41)
  • Что нового

UniversalEA

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

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

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

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

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

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


Параметры

  • 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 - сумма прибыли для закрытия ордеров;
  • IndicatorName - название индикатора (без расширения и путей);
  • openBuyBufferIndex - буфер для открытия ордеров на покупку (-1 - не используется);
  • takeProfitBuyBufferIndex - буфер значения тейк-профит ордеров на покупку (-1 - не используется);
  • stopLossBuyBufferIndex - буфер значения стоп-лосс ордеров на покупку (-1 - не используется);
  • closeBuyBufferIndex - буфер для закрытия ордеров на покупку (-1 - не используется);
  • openSellBufferIndex - буфер для открытия ордеров на продажу (-1 - не используется);
  • takeProfitSellBufferIndex - буфер значения тейк-профит ордеров на продажу (-1 - не используется);
  • stopLossSellBufferIndex - буфер значения стоп-лосс ордеров на продажу (-1 - не используется);
  • closeSellBufferIndex - буфер для закрытия ордеров на продажу (-1 - не используется);
  • BarIndex - индекс бара в буфере;
  • useMaFilter - разрешение фильтрации сигналов скользящей средней;
  • MaFilterTimeFreme - временной интервал скользящей средней;
  • MaFilterPeriod - период скользящей средней;
  • MaFilterMethot - метод скользящей средней;
  • MaFilterPrice - цены скользящей средней;
  • CustomEventBuy - пользовательское событие на покупку (0 - не используется)
  • CustomEventSell - пользовательское событие на продажу (0 - не используется)
  • timeStart - час начала торговли (0 .. 23);
  • timeEnd - час завершения торговли (0 .. 23);
  • slippage - проскальзывание в пунктах;
  • MAGIC - идентификатор;
  • useMail - разрешение сообщений на электронную почту;
  • useNotification - разрешение сообщений на мобильное устройство;
  • messageText - текст сообщений;
  • TesterAutoTradeWeek - разрешение автоматического сигнала на покупку еженедельно в тестере стратегий.

Пример построения системы на базе простого пользовательского индикатора можно посмотреть на сайте.

Michael Maggi
1671
2016.12.28 14:37 
 

Starting off well for 2017 preparation. I will post more on my profile page to show the trading specifics but the Universal EA definitely does what it promises. I will add a comment with a jpg.

Версия 1.8 - 2016.12.19
Добавлена обработка пользовательских событий графика:
- CustomEventBuy
- CustomEventSell
Добавлен параметр TesterAutoTradeWeek для автоматической валидации советника на mql5. Советник в режиме тестирования автоматически генерирует события на покупку 1 раз в неделю.
Версия 1.5 - 2016.06.21
Добавлен фильтр сделок по скользящей средней. Если цена выше MA, то исполняются только сделки на покупку. Если цена ниже MA, то исполняются только сделки на продажу.
Параметры фильтра:
-useMaFilter - разрешение фильтрации сделок по скользящей средней;
-MaFilterTimeFrafe - временной интервал скользящей средней;
-MaFilterPeriod - период скользящей средней;
-MaFilterMethod - метод скользящей средней;
-MaFilterPrice - тип цены скользящей средней.
Версия 1.3 - 2016.06.07
Исправлены мелкие недочеты, добавлено оповещение на электронную почту и мобильное устройство.