Exp – The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!

Exp – TickSniper Автоматический советник для Metatrader. Тиковый скальпер
Copylot – копировщик сделок форекс для МТ4 и МТ5. Копир между терминалами
Exp – TickSniper Автоматический советник для Metatrader. Тиковый скальпер
Copylot – копировщик сделок форекс для МТ4 и МТ5. Копир между терминалами

Video Thumbnail

  • Main
  • Documentation
  • Settings
  • FAQ
  • Changelog
  • Reviews
  • Comments
  • Extra

О xCustomEA

Универсальный торговый советник для пользовательских индикаторов в MetaTrader

Ищете настраиваемое торговое решение для MetaTrader 4 и MetaTrader 5?


Представляем ExpxCustomEA, универсальный торговый советник, который безупречно работает с пользовательскими индикаторами через функцию iCustom на MT4 и MT5.

Наш новый торговый советник, xCustomEA, основан на проверенной платформе X – Universal EA, с ключевым улучшением: полной интеграцией с пользовательскими индикаторами, что позволяет трейдерам автоматизировать персонализированные торговые стратегии.

Почему стоит выбрать xCustomEA?

xCustomEA предлагает все функции нашего широко используемого советника The X,

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

Будь то индикаторы из mql5 маркета или загруженные из интернета,

xCustomEA позволяет вам разрабатывать и реализовывать индивидуальные торговые стратегии для MetaTrader 4 и MetaTrader 5.

Как работает xCustomEA?

  • Совместимость с пользовательскими индикаторами.
    xCustomEA интегрируется с любым пользовательским индикатором, доступным онлайн или через mql5 маркет, что позволяет полностью автоматизировать торговлю на основе сигналов индикатора.Это делает его универсальным инструментом для трейдеров, стремящихся настроить свои торговые стратегии.
  • Простой конструктор стратегий.
    Просто введите название выбранного вами индикатора вместе с его стрелочными и сигнальными буферами, и xCustomEA сделает остальное, автоматизируя сделки на основе сигналов, генерируемых индикатором.
  • Расширенные торговые функции.
    Помимо работы с пользовательскими индикаторами, xCustomEA предлагает широкий спектр встроенных функций для улучшения и оптимизации вашей торговой стратегии.
    У вас есть полный контроль над настройкой исполнения сделок, стоп-лосса, тейк-профита и других параметров.

Преимущества xCustomEA

  • Работает с любыми пользовательскими индикаторами.
    Будь то индикаторы, загруженные из mql5 маркета или с других источников в интернете, xCustomEA читает и торгует на основе сигнальных буферов ваших выбранных пользовательских индикаторов.
  • Полностью автоматизированная торговля.
    С помощью xCustomEA вы можете автоматизировать свою стратегию как на платформе MetaTrader 4, так и MetaTrader 5, обеспечивая точное и эффективное исполнение сделок.
  • Полный контроль над стратегией.
    Настраивайте свою торговую стратегию с легкостью с помощью полного набора функций xCustomEA, включая инструменты управления рисками и продвинутую торговую логику.
  • Поддержка MetaTrader 4 и MetaTrader 5.
    Независимо от того, используете ли вы MT4 или MT5, xCustomEA обеспечивает бесшовную совместимость, предоставляя трейдерам гибкость на обеих платформах.

xCustomEA – это идеальное решение для трейдеров, которые ищут настраиваемые торговые советники для MetaTrader 4 и MetaTrader 5.
Максимизируйте свой торговый потенциал с возможностью подключения любых пользовательских индикаторов и создания автоматизированных стратегий, адаптированных к вашим нуждам.

Как работает xCustomEA?

Новый советник на основе индикаторов iCustom

Вы можете бесплатно протестировать индикаторы iCustom из Маркета

Вы можете запрограммировать стратегию за 5 минут

Все терминалы Metatraders, Все типы счетов, Все символы

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

Пример программирования стратегии для нашего xCustomEA

Что люди пишут о xCustomEA?

  • ROBERT URBANSKI 2022.12.02 18:40
    I rent this EA for one month for testing. I give 5 stars in begin for Suport. After month I will update info about EA but now I can tell. It have many interesting settings. I tried work with many custom indicator (not build). Works very impresive.
    ROBERT URBANSKI
    ⭐⭐⭐⭐⭐
  • DadeSubandryo 2022.09.04 12:56
    Great support for consumers. still learning stage & EA started to work as i want. I will update the stars & comments if necessary. Thank you
    DadeSubandryo
    ⭐⭐⭐⭐⭐
  • Stanimir Stanchev 2020.06.29 09:55
    I am using xCustomEA for two months and i am extreamly happy with it and the support i'd received from Vladislav. His Exp4 Tester PAD for Strategy Tester is also very useful when it comes to test a strategy in visual mode. My favorite developer as of now!
    Stanimir Stanchev
    ⭐⭐⭐⭐⭐
  • Hanxyork 2020.01.31 03:00
    I purchased the xCustomEA few days ago, Vladislav answered all my questions quickly, he is very professional, responsible, knowledgeable, honest and dedicated, he helped me to start up my xCustomEA in a VPS. I am buying more of his products, definitely. Thank you very much Vladislav.
    Hanxyork
    ⭐⭐⭐⭐⭐
  • 189114nickynomates 2020.11.26 03:06
    This has opened up a whole new world to my trading. The concept is pure brilliant. The forums very informative and you always get help to questions detailed in the correct way. The biggest gain I have received is widening my understanding of the scope that can be achieved in cleaver trading with this ea. Keep up the good work.
    189114nickynomates
    ⭐⭐⭐⭐⭐
  • Sammy Boy 2020.10.28 12:00
    Excellent EA. Vladislav has put in great effort to come up with such sophisticated EA
    Sammy Boy
    ⭐⭐⭐⭐⭐
  • Franco Alves 2020.07.08 20:09
    Very good!!
    Franco Alves
    ⭐⭐⭐⭐⭐
  • Valter Oliveira 2020.06.01 01:09
    Excellent product for implementing Expert Advisors (EA) using existing indicators in the MQL5 market. I thank the developer for making this tool available to us.
    Valter Oliveira
    ⭐⭐⭐⭐⭐
  • Atila R Akdeniz 2018.12.28 10:01
    I just bought the EA. I have been using The X Universal for a long time now, with great results. This EA does everything TheX Universal does and much more, including integration of other EA's and signals and independent strategies etc. I guess there will be a little bit of a learning curve to understand its full functionality and use it to its full power. 5 stars for such an innovative product from a great designer.
    Atila R Akdeniz
    ⭐⭐⭐⭐⭐

Вы можете бесплатно скачать xCustomEA

Начните БЕСПЛАТНО!

Вы можете скачать и установить нашу программу бесплатно!

И вы можете протестировать ее на своем ДЕМО-счете без ограничений по времени!
И вы также можете протестировать нашу программу бесплатно на РЕАЛЬНОМ счете, используя символ USDJPY!

Вы можете купить полную версию xCustomEA

MetaTrader

Время использования

Торговые счета

Компьютеры

Функции

Поддержка

ПОЛНАЯ версия MT4


For MetaTrader 4

250 $

MT 4

Безлимитно

Безлимитно

10

Полный набор

24/7

ПОЛНАЯ версия MT5


For MetaTrader 5

250 $

MT 5

Безлимитно

Безлимитно

10

Полный набор

24/7

АРЕНДА на 3 месяца


For MetaTrader 4

60 $

MT 4

3 месяца

Безлимитно

10

Полный набор

24/7

АРЕНДА на 3 месяца


For MetaTrader 5

60 $

MT 5

3 месяца

Безлимитно

10

Полный набор

24/7

Перед покупкой мы настоятельно рекомендуем ознакомиться с нашими инструкциями и разделом часто задаваемых вопросов (FAQ), чтобы обеспечить максимально удобное использование.


Ссылки


The X and The xCustomEA : Testing and Optimization

Useful links


Download MetaTrader

Как купить Как установить Тестер стратегий VPS MetaQuotes Лог-файлы MT4 Лог-файлы MT5


Описание

Exp – The xCustomEA Универсальный торговый советник на пользовательских индикаторах.

Наш новый советник The xCustomEA построен на базе советника The X – Universal EA

Функциональные возможности универсального торгового советника The xCustomEA в точности повторяют все параметры нашего советника The X за исключением одного:

The xCustomEA работает на пользовательских индикатор и имеет возможность программирования своей собственной стратегии торговли для терминалов МТ5 и МТ4.

Другими словами: The xCustomEA имеет связь с пользовательскими индикаторами, которые могут быть скачаны с интернета или маркета mql5 .

Предисловие

Программируя советники на заказ мы не были удивлены тем, что 90 % заказов построены на стратегиях по индикаторам.

Поэтому основная наша работа заключалась в том, чтобы встроить пользовательский индикатор в наш шаблон для написания советника.

Но стоимость такой работы + шаблон для написания + открытый код такого шаблона слишком велика. И не все трейдеры соглашаются на то, чтобы написать торговый советник на один пользовательский индикатор.

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

Мы нашли выход из этой ситуации и разработали новый универсальный торговый советник The xCustomEA

Этот советник не имеет предустановленной стратегии, он умеет торговать по сигналам других индикаторов. Вы можете запрограммировать Ваш пользовательский индикатор, а наш советник The xCustomEA будет открывать позиции по сигналам.

Купив Наш Универсальный торговый советник The xCustomEA , Вы сможете программировать советники по индикаторам каждый день!

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

Вы можете скачать индикатор в тестер стратегий и проверить нашего советника по этому индикатору в тестере стратегий.

Только после получения прибыльных результатов в тестере стратегий, Вы можете купить пользовательский индикатор и запустить советник по этому индикатору на реальном или демо счете!

СтатьяОптимизация и тестирование! Поиск настроек советника!

Video Thumbnail

iCustom xCustomEA

Разница между The X и The xCustomEA?

Эти два советник построенны на одной одинаковой базе и отличаются лишь в том, что:

The X = Это Универсальный советник , который работает на стандартных индикаторах терминала MetaTrader (Около 20 стандартных стратегий по стандартным индикаторам).

The xCustomEA = Это Универсальный советник , который работает на пользовательских индикаторах. + Добавлено 20 стандартных стратегий из The X Список индикаторов и фильтров

  1. В этом советнике нет встроенной стратегии и нет выбора стратегий. Вы можете устанавливать пользовательские индикаторы в этот советник.
  2. Это значит, что Вы можете выбрать любой пользовательский индикатор, которые показывает сигналы с СТРЕЛКАМИ и торговать по нему.
  3. Также в этом советнике Вы можете программировать свою стратегию по любым индикаторам, которые есть в интернете!
  4. Также Вы можете скачивать готовые стратегии, которые были запрограммированы для этого советника. Этот список пополняется по мере возможности.
  5. Также в этом советнике можно загрузить все стратегии сигналов от The X – и использовать свои кастомные изменения в стратегиях!

Если Вы не умеете и не желаете изучать программирование и Вам достаточно торговать по стандартным индикаторам, то Ваш выбор = The X .

Если Вы умеете программировать и у Вас есть интерес к изучению других индикаторов, то Ваш выбор = The xCustomEA .

Основные Функции и описание параметров

Мы не будем останавливаться на подробном описании основных параметров советника потому, что 99% параметров соответствуют нашей систему The X.

Полное описание всех основных параметров и функций рассмотрено в инструкции по The X. Описание параметров Exp The xCustomEA

В The xCustomEA имеются такие функции как:

  1. Автолот (расчет лота от текущего баланса), мани менеджмент;
  2. Фиксированный лот;
  3. Работа по времени (ограничение работы советника по времени торговли);
  4. Трейлингстоп (стандартный, с алгоритмом “Только прибыльные”);
  5. Трейлингстоп по индикатору Parabolic SAR
  6. Функции обработки ошибок для реальных счетов;
  7. Блок закрытия по общей прибыли и убытку с возможностью отключить советник на счете;
  8. Безубыток (установка стоплосса на точку безубыточности) (установка Стоп Лосс на нулевой уровень);
  9. Мартингейл (увеличение следующего лота после убыточной позиции);
  10. Работа исключительно по сигналам индикатора (Сигнал – открытие, Сигнал – закрытие противоположного ордера – открытие);
  11. Закрытие противоположного сигнала при смене сигнала;
  12. Функция “РЕВЕРС”, переворот сигналов вашей стратегии;
  13. Функция усреднения убыточной позиции.
  14. Функция дополнительного открытия позиций по тренду и против тренда.
  15. Функции виртуальных стоплосс, тейкпрофит и трейлингстопа.
  16. Работа позициями, отложенными ордерами, лимитными ордерами.
  17. Работа с просадкой;
  18. Работа с лимитом прибыли и убытка;
  19. Работа с результатами тестирования;
  20. Работа в полуавтоматическом режиме без открытия позици с оповещенеим о том, что стратегия получила сигнал на открытие, на экран выводится АЛЕРТ;

Полное описание всех основных параметров и функций рассмотрено в инструкции по The X. Описание параметров Exp The xCustomEA

Определение Сигнала и Фильтра

Сигнал

  1. Сигнал – происходит тогда, когда есть все условия для сигнала, например факт пересечения линий МА. Или появление новой точки ZigZag .
  2. Например : Пересечение уровня 70 для индикатора RSI это сигнал. А если RSI выше уровня 70, то это уже фильтр.
  3. Сигнал – это то, что появляется в момент поступления котировок, фиксируется на баре. Советник принимает факт совершения сигнала.
  4. Например: Включился свет. Это сигнал потому, что свет только что включился. При включении света , человек проснулся. Это сигнал.
  5. Открытие позиций происходит по факту совершения сигнала, линии пересеклись , тогда открывается позиция. Если линии были пересечены ранее, то это не сигнал. Сигнал уже прошел.
  6. Добавлено 20 стандартных стратегий из The X Список индикаторов и фильтров

Фильтр:

  1. Фильтр – Это текущее положение индикатора, например текущее положение линий МА относительно друг друга. Или текущая последняя вершина ZIGZAG
  2. Фильтр – это то, что на данный момент показывает индикатор. Это не факт совершения сигнала. Это текущее положение индикатора.
  3. Например: Свет горел. Это фильтр потому, что свет уже был включен и он уже горит. При включенном свете человек уже не спит. Это фильтр.
  4. Фильтрация сигналов происходит по текущему значению индикатору. Если Быстрая МА выше медленной МА, то это фильтр на то, что должны открываться только BUY.
  5. Добавлено 20 стандартных стратегий из The X Список индикаторов и фильтров
iCustom xCustomEA example

Простая установка пользовательского индикатора в сигналах и фильтрах

Есть два типа работы советника :

xCustomEA – Работа советника по нашему индикатору, в котором Вы лично программируете свою стратегию.

Если Вам необходимо программировать работу советника по индикатору, перейдите в следующий раздел: Программирование своей стратегии

xArrow – Работа советника напрямую с пользовательским индикатором, у которого есть буферы типа Стрелок (Arrow) которые можно использовать для советника.

Например: Буфер с сигналами индикатора на BUY и Буфер с сигналами индикатора на SELL

Такие буферы должны иметь тип Стрелки.

Наш советник определяет сигнал по типу : Значение буфера не равно пустому значению и выше 0.:

 //--- проводим проверку условия и устанавливаем значение для sig
 if(xCustom_SIGNAL_BUY_buffer[OWNSIGNAL_shift]!=EMPTY_VALUE && xCustom_SIGNAL_BUY_buffer[OWNSIGNAL_shift]!=0)
 sig=1;
 else
 if(xCustom_SIGNAL_SELL_buffer[OWNSIGNAL_shift]!=EMPTY_VALUE && xCustom_SIGNAL_SELL_buffer[OWNSIGNAL_shift]!=0)
 sig=-1;

Если Вы не хотите программировать свою стратегию и Ваш пользовательский индикатор позволяет работать напрямую с советником, Вы можете указать название индикатора и задать буферы для его работы по сигналам на BUY и SELL

например:

iCustom xCustomEA

1. Укажите имя пользовательского индикатора! Если этот индикатор был скачан с маркета MQL5, тогда Вам необходимо указать с папки Market:

Market\\PipFinite Trend PRO

Обязательно нужно писать двойной обратный слэш \\

2. Укажите тип сигналов xArrow

3. Укажите номер буфера сигналов для открытия BUY (в данном примере буфер номер 8)

4. Укажите номер буфера сигналов для открытия SELL (в данном примере буфер номер 9)

Пример буфера:

iCustom xCustomEA

Таким образом, нам не нужно программировать наш индикатор, для работы советника.

Наш пример пользовательского индикатора содержит буферы для работы советника и мы напрямую можем с ним взаимодействовать!

В нашем разделе The xCustomEA Примеры стратегий мы будем выкладывать примеры программирования стратегий и советники по индикаторам известных в маркете!

Пример советника по индикатору PipFinite Trend PRO

iCustom xCustomEA example easy

Пример работы советника по индикатору PipFinite

iCustom xCustomEA PipFinite

Файл шаблона индикатора

Для удобства использования советника:

При первом запуске советника, будет создан файл шаблона индикатора в папке Вашего терминала Files

iCustom xCustomEA

Этот файл можно использовать как шаблон для написания стратегии по индикатору.

Для того, чтобы найти файл, нажмите в Вашем терминале меню Файл – Открыть каталог данных

iCustom xCustomEA open data folder

Откройте этот файл с помощью Вашего компилятора

iCustom xCustomEA

В файле Вы увидите примеры использования и шаги программирования стратегии.

После создания стратегии по индикатору – сохраните этот файл в папке Вашего терминала – Indicators/

iCustom xCustomEA

После этого укажите этот файл в настройках советника SignalNameIndicator

Программирование своей стратегии

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

Программирование советников для MetaTrader 5 сложнее, чем программирование для MetaTrader 4. Но терминал МТ5 позволяет создать более мощные стратегии, а также обладает более продвинутым тестером стратегий.

iCustom xCustomEA mql4
iCustom xCustomEA mql5

Для простоты программирования

  1. Откройте наш исходный код индикатора Ind – The xCustomEA или Ind – The xCustomEA Example TheX,;
  2. Нажмите сочетание клавиш Ctrl+F и вы увидите строку поиска;
  3. Введите название Step MT4 или Step MT5- По этому слову, в нашем исходном коде, Вы сможете ориентироваться и быстро написать свою стратегию.
  4. Каждый шаг комментирован и содержит пример
  5. Для того,чтобы научиться программировать свою стратегию, Вы можете поэтапно раскомментировать строки с звездочкой //*

Мы разберем каждый шаг подробно!

MetaTrader 4 Программирование своей стратегии по пользовательскому индикатору в МТ4

Программирование советника по индикатору в МТ4:

MetaTrader 4 Шаг 0: Шаг указания внешних переменных

// Step MT4 0
// Step MT5 0
// Вы можете объявить здесь свои внешние переменные, которые будут использоваться в советнике!
// Внимание! Порядок и тип переменных задается в строгом соответствии с вызовом в советнике в параметрах
// SIGNALStrategyInputs CloseStrategyInputs SLTPStrategyInputs FILTERStrategyInputs
//
// You can declare your external variables here that will be used in the advisor!
// Attention! The order and type of variables is set in strict accordance with the call in the expert in the parameters
// SIGNALStrategyInputs CloseStrategyInputs SLTPStrategyInputs FILTERStrategyInputs

// for example:
// input int InpCCIPeriod=1;
// input double InpCCIPeriod2=2.0;
// input color InpCCIPeriod3=clrGreen;
// input string InpCCIPeriod6=”text”;
// input datetime InpCCIPeriod4=2018.11.08;
// input bool InpCCIPeriod5=false;
// =========================================================================
// В советнике эти параметры должны быть записаны как:
// In the expert advisor, these parameters should be written as:
// StrategyInputs=1,2.0,C’0/128/0′,”text “,D’2018.11.08′,false
//

MetaTrader 4 Шаг 1: Шаг загрузки индикаторов в ресурсы!

// Step MT4 1 
// Step MT5 1 
// Для того,чтобы при компиляции, индикатор был встроен в советник, Вам необходимо загрузить его в ресурсы советника
// In order for the indicator to be built into the Expert Advisor during compilation, you need to load it into the resources of the Expert Advisor
// for example:
//* #resource "\Indicators\Market\Examples.ex5"

Здесь мы обязаны добавить , нужные Нам, индикаторы в ресурсы.

Это позволит компилировать индикатор для маркета , а также избавит нас от лишних проблем, когда компилированный советник вдруг не найдет нужный индикатор на другом компьютере!

Правила написания имени маркета: Полное название папок, начиная с Indicators!

Папка обозначается \\

Например:

Если путь к Вашему индикатору выглядит так:

C:\ROBO MT4\MQL4\Indicators\Examples\MACD.ex4

тогда путь к этому индикатору в языке программирования записывается так:

“\\Indicators\\Examples\\MACD.ex4

MetaTrader 4 Шаг 3: Здесь мы указываем массивы буферов, для хранения данных от индикаторов

// Step MT4 3
// Step MT5 3
// обьявите переменную массива значений индикатора
// Declare the variable of the handle array
// for example:

double custom_buffer_for_Open_BUY[];
double custom_buffer_for_Open_SELL[];
double custom_buffer_for_Close_BUY[];
double custom_buffer_for_Close_SELL[];
double custom_buffer_for_Filter_BUY[];
double custom_buffer_for_Filter_SELL[];
double custom_buffer_for_SL_BUY[];
double custom_buffer_for_SL_SELL[];
double custom_buffer_for_TP_BUY[];
double custom_buffer_for_TP_SELL[];

MetaTrader 4 Шаг 5: Шаг для заполнения массивом данными от нашего индикатора

// Step MT4 5
// Здесь создаем наш сигнал для открытия позиций. Заполняем буферы данных
// Here we create our signal for opening positions. Fill in the data buffer

#ifdef __MQL4__
ArrayResize(custom_buffer_for_Open_BUY,3+ShiftIndicator);
ArrayResize(custom_buffer_for_Open_SELL,3+ShiftIndicator);
for(int inum=0;inum!3+ShiftIndicator; inum++)
{
custom_buffer_for_Open_BUY[inum]=iCustom(StrategySymbolString,StrategyTimeFrame,IndicatorName,/* Здесь можно вставить настройки индикатора, через запятую*/SignalBuferforBUY,StartCopyI+inum);
custom_buffer_for_Open_SELL[inum]=iCustom(StrategySymbolString,StrategyTimeFrame,IndicatorName,/* Здесь можно вставить настройки индикатора, через запятую*/SignalBuferforSELL,StartCopyI+inum);
}
#endif

MetaTrader 4 Шаг 6: Главный шаг создания стратегии и сигналов для открытия позиций!

// Step MT4 6 
// Step MT5 6 
// Здесь создаем наш сигнал для открытия позиций. Здесь пишем нашу стратегию,
// Here we create our signal for opening positions. Here we write our strategy,
if(custom_buffer_for_Open_SELL[ShiftIndicator]!=EMPTY_VALUE && custom_buffer_for_Open_SELL[ShiftIndicator]!=0)
sig=-1;
else
if(custom_buffer_for_Open_BUY[ShiftIndicator]!=EMPTY_VALUE && custom_buffer_for_Open_BUY[ShiftIndicator]!=0)
sig=1;
else sig=0;

Этот шаг очень важен для советника. Хотя и все остальные шаги обязательны, иначе советник не будет работать.

Свои комментарии я указал в коде!

  1. Программирование кода для стратегии и сигнала индивидуально. Зависит от выбранной стратегии и индикаторов. Получения буферов, стратегии……..
  2. Хочу заметить лишь то, что в этом блоке Вы можете указывать любую стратегию.
iCustom xCustomEA signal
  1. 1. Программирование стратегии. В данном случае это пересечение двух линий.
  2. Важно: Сигнал для BUY это 1, а для SELL это -1

Примеры стратегий я буду публиковать на нашем форуме!

MetaTrader 4 Шаг 7: Шаг для указание фильтров от ваших индикаторов, или использование вашего индикатора как фильтр для стратегии!

// Step MT4 7 
// Здесь создаем наш фильтр для фильтрации сигналов. Заполняем буферы данных
// Here we create our filter for signal filtering. Fill in the data buffers
// 
#ifdef __MQL4__
ArrayResize(custom_buffer_for_Filter_BUY,3+ShiftIndicator);
ArrayResize(custom_buffer_for_Filter_SELL,3+ShiftIndicator);
for(int inum=0;inum!3+ShiftIndicator; inum++)
{
custom_buffer_for_Filter_BUY[inum]=iCustom(StrategySymbolString,StrategyTimeFrame,IndicatorName,/* Здесь можно вставить настройки индикатора, через запятую*/FilterBuferforBUY,StartCopyI+inum);
custom_buffer_for_Filter_SELL[inum]=iCustom(StrategySymbolString,StrategyTimeFrame,IndicatorName,/* Здесь можно вставить настройки индикатора, через запятую*/FilterBuferforSELL,StartCopyI+inum);
}
#endif

MetaTrader 4 Шаг 8: Создание сигналов для фильтрации сигналов!

В программировании кода на этом шаге нет ничего сложного и он похож на предыдущий шаг.

Отличие лишь в том, что на этом шаге Вы программируете свои индикаторы в роли Фильтра.

Вы можете не указывать сигналы по индикатору, а указать только фильтр. Или наоборот! Все зависит от стратегии.

// Step MT4 8
// Step MT5 8
// Здесь создаем наш фильтр для фильтрации сигналов. Здесь пишем нашу стратегию,
// Here we create our filter for signal filtering. Here we write our strategy,

if(custom_buffer_for_Filter_SELL[ShiftIndicator]!=EMPTY_VALUE && custom_buffer_for_Filter_SELL[ShiftIndicator]!=0)
sig=-1;
else
if(custom_buffer_for_Filter_BUY[ShiftIndicator]!=EMPTY_VALUE && custom_buffer_for_Filter_BUY[ShiftIndicator]!=0)
sig=1;

else sig=0;

Все остальные шаги созданы для сигналов закрытия позиций по индикатору (Шаг 9 – 10) и получения пользовательских стоплосс и тейкпрофита от индикатора (Шаг 11-12)

MetaTrader 5 Программирование своей стратегии по пользовательскому индикатору в МТ5

MetaTrader 5 Шаг 0: Шаг загрузки индикаторов в ресурсы!

// Step MT4 0
// Step MT5 0
// Вы можете объявить здесь свои внешние переменные, которые будут использоваться в советнике!
// Внимание! Порядок и тип переменных задается в строгом соответствии с вызовом в советнике в параметрах
// SIGNALStrategyInputs CloseStrategyInputs SLTPStrategyInputs FILTERStrategyInputs

// You can declare your external variables here that will be used in the advisor!
// Attention! The order and type of variables is set in strict accordance with the call in the expert in the parameters
// SIGNALStrategyInputs CloseStrategyInputs SLTPStrategyInputs FILTERStrategyInputs
// for example:
// input int InpCCIPeriod=1;
// input double InpCCIPeriod2=2.0;
// input color InpCCIPeriod3=clrGreen;
// input string InpCCIPeriod6=”text”;
// input datetime InpCCIPeriod4=2018.11.08;
// input bool InpCCIPeriod5=false;
// В советнике эти параметры должны быть записаны как:
// In the expert advisor, these parameters should be written as:
// SIGNALStrategyInputs=1,2.0,C’0/128/0′,”text “,D’2018.11.08′,false
// CloseStrategyInputs=1,2.0,C’0/128/0′,”text “,D’2018.11.08′,false
// SLTPStrategyInputs=1,2.0,C’0/128/0′,”text “,D’2018.11.08′,false
// FILTERStrategyInputs=1,2.0,C’0/128/0′,”text “,D’2018.11.08′,false

 

MetaTrader 5 Шаг 1: Шаг загрузки индикаторов в ресурсы!

// Step MT4 1 
// Step MT5 1 
// Для того,чтобы при компиляции, индикатор был встроен в советник, Вам необходимо загрузить его в ресурсы советника
// In order for the indicator to be built into the Expert Advisor during compilation, you need to load it into the resources of the Expert Advisor
// for example:
//* #resource "\Indicators\Market\Examples.ex5"

Здесь мы обязаны добавить , нужные Нам, индикаторы в ресурсы.

Это позволит компилировать советник для маркета , а также избавит нас от лишних проблем, когда компилированный советник вдруг не найдет нужный индикатор на другом компьютере!

Правила написания имени маркета: Полное название папок, начиная с Indicators!

Папка обозначается \\

Например:

Если путь к Вашему индикатору выглядит так:

C:\ROBO MT5\MQL5\Indicators\Examples\MACD.ex5

тогда путь к этому индикатору в языке программирования записывается так:

“\\Indicators\\Examples\\MACD.ex5”

MetaTrader 5 Шаг 2: Шаг объявления переменных для хранения хендлов индикаторов стратегии!

// Step MT5 2 
// Только для МТ5
// обьявите переменную массива хендлов
// Declare the variable of the handle array

// for example:
int h_custom_for_Open;
int h_custom_for_Close;
int h_custom_for_Filter;
int h_custom_for_SLTP;

Здесь мы просто указываем названия наших хендлов, которые создавали выше!

Сложного здесь ничего нет.

Хендлы создаются в виде массивов для того, чтобы использовать мультивалютность в советнике и использоваться возможность указания сразу 6 сигналов или фильтров!

MetaTrader 5 Шаг 3: Шаг объявления переменных для хранения данных индикаторов!

// Step MT4 3 
// Step MT5 3 
// обьявите переменную массива значений индикатора
// Declare the variable of the handle array

// for example:
double custom_buffer_for_Open_BUY[];
double custom_buffer_for_Open_SELL[];
double custom_buffer_for_Close_BUY[];
double custom_buffer_for_Close_SELL[];
double custom_buffer_for_Filter_BUY[];
double custom_buffer_for_Filter_SELL[];
double custom_buffer_for_SL_BUY[];
double custom_buffer_for_SL_SELL[];
double custom_buffer_for_TP_BUY[];
double custom_buffer_for_TP_SELL[];

Здесь мы просто указываем названия наших данных для буферов!

Сложного здесь ничего нет.

В этих массивах будут хранится данные о значениях индикатора на каждом баре. Если Вам нужно использовать несколько буферов, Вы можете использовать несколько переменных.

В нашем случае, для примера, нам нужно 2 буфера, для сигнальной и главной линии индикатора MACD

MetaTrader 5 Шаг 4: Шаг создания хендлов индикаторов, для загрузки в советник!

// Step MT5 4 
// Только для МТ5
// Вам необходимо создать запись в массиве для того, чтобы советник присвоил хендл индикатора при инициализации
// Если необходимо указать внешние переменные индикаторы, то это можно сделать после IndicatorName через запятую,
// например:
// h_custom_for_Open=iCustom(StrategySymbolString,StrategyTimeFrame,IndicatorName,InpCCIPeriod,InpCCIPeriod2,InpCCIPeriod3,InpCCIPeriod6,InpCCIPeriod4,InpCCIPeriod5);
// 
// You need to create an entry in the array in order for the Expert Advisor to assign an indicator handle when initializing
// If you need to specify external variable indicators, this can be done after IndicatorName, separated by commas
// eg:
// h_custom_for_Open = iCustom (StrategySymbolString, StrategyTimeFrame, IndicatorName, InpCCIPeriod, InpCCIPeriod2, InpCCIPeriod3, InpCCIPeriod6, InpCCIPeriod4, InpCCIPeriod5);

// for example:
 case 1:
 // Если нужно указать индикатор для открытия позиций
 if(h_custom_for_Open!=0)
 h_custom_for_Open=iCustom(StrategySymbolString,StrategyTimeFrame,"");
 if(h_custom_for_Open==INVALID_HANDLE){Print(" Failed to get indicator handle | Не удалось получить хендл индикатора");return;}

 // Если нужно указать индикатор для закрытия позиций
 if(h_custom_for_Close!=0)
 h_custom_for_Close=iCustom(StrategySymbolString,StrategyTimeFrame,"");
 if(h_custom_for_Close==INVALID_HANDLE){Print(" Failed to get indicator handle | Не удалось получить хендл индикатора");return;}

 // Если нужно указать индикатор для фильтрации позиций
 if(h_custom_for_Filter!=0)
 h_custom_for_Filter=iCustom(StrategySymbolString,StrategyTimeFrame,"");
 if(h_custom_for_Filter==INVALID_HANDLE){Print(" Failed to get indicator handle | Не удалось получить хендл индикатора");return;}

 // Если нужно указать индикатор для стоплосса и тейкпрофита
 if(h_custom_for_SLTP!=0)
 h_custom_for_SLTP=iCustom(StrategySymbolString,StrategyTimeFrame,"");
 if(h_custom_for_SLTP==INVALID_HANDLE){Print(" Failed to get indicator handle | Не удалось получить хендл индикатора");return;}

 break;

Этот шаг нужен для того, чтобы наши индикаторы загружались 1 раз при инициализации советника. В MetaTrader 5 нет необходимости в том, чтобы постоянно загружать индикатор на график.

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

Здесь нужно быть очень внимательным. При создании хендла мы должны указать все внешние переменные индикатора и указать правильное имя, иначе советник не сможет загрузить индикатор.

Помните, что мы загрузили индикатор в ресурсы советника. Поэтому вызывать индикатор мы будем из ресурсов!

Вы можете почитать справку о вызове индикаторов через iCustom

Номер стратегии также нужен нам для написания этого кода. Если у Вас несколько индикаторов в одной стратегии, тогда нужно указывать несколько индикаторов но с одинаковым номером. Чтобы советник правильно загрузил Вашу стратегию.

По нашим примерам выше нам нужно сделать так:

 case 1:
 // Если нужно указать индикатор для открытия позиций
 if(h_custom_for_Open!=0)
 h_custom_for_Open=iCustom(StrategySymbolString,StrategyTimeFrame,"");
 if(h_custom_for_Open==INVALID_HANDLE){Print(" Failed to get indicator handle | Не удалось получить хендл индикатора");return;}

 // Если нужно указать индикатор для закрытия позиций
 if(h_custom_for_Close!=0)
 h_custom_for_Close=iCustom(StrategySymbolString,StrategyTimeFrame,"");
 if(h_custom_for_Close==INVALID_HANDLE){Print(" Failed to get indicator handle | Не удалось получить хендл индикатора");return;}

 // Если нужно указать индикатор для фильтрации позиций
 if(h_custom_for_Filter!=0)
 h_custom_for_Filter=iCustom(StrategySymbolString,StrategyTimeFrame,"");
 if(h_custom_for_Filter==INVALID_HANDLE){Print(" Failed to get indicator handle | Не удалось получить хендл индикатора");return;}

 // Если нужно указать индикатор для стоплосса и тейкпрофита
 if(h_custom_for_SLTP!=0)
 h_custom_for_SLTP=iCustom(StrategySymbolString,StrategyTimeFrame,"");
 if(h_custom_for_SLTP==INVALID_HANDLE){Print(" Failed to get indicator handle | Не удалось получить хендл индикатора");return;}

 break;

По аналогии выше, Вы можете добавить несколько индикаторов и хендлов.

Также и с другими стратегиями, которые вы хотите вставить в советника!

MetaTrader 5 Шаг 5: Главный шаг создания стратегии и сигналов для открытия позиций!

// Step MT5 5 
// Здесь создаем наш сигнал для открытия позиций. Заполняем буферы данных
// Here we create our signal for opening positions. Fill in the data buffer
// 
#ifdef __MQL5__
if(xCustomCopyBufferMT5(h_custom_for_Open,SignalBuferforBUY,StartCopyI,3+ShiftIndicator,custom_buffer_for_Open_BUY)!3+ShiftIndicator)return(0);
if(xCustomCopyBufferMT5(h_custom_for_Open,SignalBuferforSELL,StartCopyI,3+ShiftIndicator,custom_buffer_for_Open_SELL)!3+ShiftIndicator)return(0);
#endif

// Step MT4 6
// Step MT5 6
// Здесь создаем наш сигнал для открытия позиций. Здесь пишем нашу стратегию,
// Here we create our signal for opening positions. Here we write our strategy,

if(custom_buffer_for_Open_SELL[ShiftIndicator]!=EMPTY_VALUE && custom_buffer_for_Open_SELL[ShiftIndicator]!=0)
sig=-1;
else
if(custom_buffer_for_Open_BUY[ShiftIndicator]!=EMPTY_VALUE && custom_buffer_for_Open_BUY[ShiftIndicator]!=0)
sig=1;
else sig=0;

Этот шаг очень важен для советника. Хотя и все остальные шаги обязательны, иначе советник не будет работать.

Свои комментарии я указал в коде!

Номер стратегии у нас такой же как и в первых шагах!

  1. Программирование кода для стратегии и сигнала индивидуально. Зависит от выбранной стратегии и индикаторов. Получения буферов, стратегии……..
  2. Хочу заметить лишь то, что в этом блоке Вы можете указывать любую стратегию.
  3. Все индикаторы, которые мы объявили в хендлах, будут загружены в память и использоваться для построения стратегии.

Этот шаг можно разделить на 2 подшага:

  1. 1. Мы обязаны скопировать буферы данных в наши массивы данных. В параметрах копирования мы должны указать номера линий (В нашем случае это линии индикатора MACD )
  2. Мы используем две линии MAIN и SIGNAL
  3. Вы можете почитать справку о функции CopyBuffer
  4. 2. Программирование стратегии. В данном случае это пересечение двух линий.
  5. Важно: Сигнал для BUY это 1, а для SELL это -1

MetaTrader 5 Шаг 7: Шаг для указание фильтров от ваших индикаторов, или использование вашего индикатора как фильтр для стратегии!

 // Step MT5 7 
// Здесь создаем наш фильтр для фильтрации сигналов. Заполняем буферы данных
// Here we create our filter for signal filtering. Fill in the data buffers
#ifdef __MQL5__
if(xCustomCopyBufferMT5(h_custom_for_Filter,FilterBuferforBUY,StartCopyI,3+ShiftIndicator,custom_buffer_for_Filter_BUY)!3+ShiftIndicator)return(0);
if(xCustomCopyBufferMT5(h_custom_for_Filter,FilterBuferforSELL,StartCopyI,3+ShiftIndicator,custom_buffer_for_Filter_SELL)!3+ShiftIndicator)return(0);
#endif

// Step MT4 8
// Step MT5 8
// Здесь создаем наш фильтр для фильтрации сигналов. Здесь пишем нашу стратегию,
// Here we create our filter for signal filtering. Here we write our strategy,

if(custom_buffer_for_Filter_SELL[ShiftIndicator]!=EMPTY_VALUE && custom_buffer_for_Filter_SELL[ShiftIndicator]!=0)
sig=-1;
else
if(custom_buffer_for_Filter_BUY[ShiftIndicator]!=EMPTY_VALUE && custom_buffer_for_Filter_BUY[ShiftIndicator]!=0)
sig=1;

else sig=0;

В программировании кода на этом шаге нет ничего сложного и он похож на предыдущий шаг.

Отличие лишь в том, что на этом шаге Вы программируете свои индикаторы в роли Фильтра.

Вы можете не указывать сигналы по индикатору, а указать только фильтр. Или наоборот! Все зависит от стратегии.

Все остальные шаги созданы для сигналов закрытия позиций по индикатору (Шаг 9 – 10) и получения пользовательских стоплосс и тейкпрофита от индикатора (Шаг 11-12)

You can download our files for optimization for EA

Блок подключения пользовательского индикатора в нашего советника

Новый блок работы с пользовательской стратегией (пользовательский индикатор ) был включен в нашего нового советника.

ПараметрОписание

Параметры собственного сигнала

SignalNameIndicatorНазвание пользовательского индикатора, из которого будут поступать основные сигналы для открытия позиций.


 По умолчанию: ” Ind – The xCustomEA “
 Это стандартный пустой индикатор, в который вы можете запрограммировать свою стратегию по нашему примеру!


 Мы также создали пример пользовательского индикатора на основе сигналов The X.


Ind – The xCustomEA Example The X
 Вы можете использовать наш пример для получения сигналов, используя стандартные индикаторы.
Описание стандартных стратегий The X
SignalTypeIndicatorТип индикатора для сигналов.


Существует 3 типа работы советников (EA) и 20 стандартных индикаторов (из The X):
xCustomEA – Советник (EA) работает с нашим индикатором, в который вы запрограммируете свою стратегию.


xArrow :
xArrow – Советник работает непосредственно с пользовательским индикатором, который имеет буферы типа стрелки, которые можно использовать для EA.


Например, буфер с сигналами индикатора для ПОКУПКИ и буфер с сигналами индикатора для ПРОДАЖИ;


Такие буферы должны быть типа стрелок.
Наш советник определяет сигнал по типу: Значение буфера не равно пустому значению и больше 0.
// — Мы проверяем условия и устанавливаем значение для сигнала, если (xCustom_SIGNAL_BUY_buffer [OWNSIGNAL_shift] != EMPTY_VALUE && xCustom_SIGNAL_BUY_buffer [OWNSIGNAL_shift]> 0) sig = 1; 
иначе если (xCustom_SIGNAL_SELL_buffer [OWNSIGNAL_shift] != EMPTY_VALUE && xCustom_SIGNAL_SELL_buffer [OWNSIGNAL_shift]> 0) sig = -1;


xColorArrow:
Добавлен тип сигналов индикатора (xColorArrow с 1 буфером и 2 цветами), для которого стрелки сигнала имеют 2 разных цвета (DRAW_COLOR_ARROW).


 При использовании типа сигнала xColorArrow необходимо установить следующие значения:
SignalBuferforBUY Номер буфера для стрелок (уточните у автора вашего индикатора) или рассчитайте этот номер буфера.
SignalBuferforSELL = Номер цветового буфера для этих стрелок (уточните у автора), обычно следующий за буфером стрелок.


Внимание! Этот тип поддерживает 2 цвета, где:


0 (первый цвет стрелки) — сигнал для открытия ПОКУПКИ;
1 (второй цвет стрелки) — сигнал для открытия ПРОДАЖИ;


Если в вашем индикаторе цвета инверсированы, то можно использовать параметр Signal_Reverse.
 Для получения дополнительной информации мы сделали пример использования такого индикатора с буфером DRAW_COLOR_ARROW !




Добавлено 20 стандартных стратегий из The X Список индикаторов и фильтров
Список индикаторов:


NoSignal=100,//Нет сигнала для открытия позиции
Ma=101,//Скользящая средняя
MACD=102, //Скользящая средняя сходимости/расхождения (MACD)
STOCH=103,//Стохастический осциллятор
RSI=104,//RSI
CCI=105,//Индекс товарного канала (CCI)
WPR=106,//Процентный диапазон Вильямса (WPR)
BB=107,//Полосы Боллинджера
Envelopes=108,//Конверты
Alligator=109,//Аллигатор
OsMA=110,//Осциллятор скользящей средней (OsMA)
AO=111,//Awesome Oscillator (AO)
ISH=112,//Ишимоку
AC=113,//AC
BAR=114,//Bar BEAR/BULL
ADX=115,//ADX
ZigZag=117,//ZigZag
MFI=120,//Индекс денежного потока (MFI)
Fractals=121,//Фракталы
 
IndSigToTradeВыбор индикатора и сигнала для открытия первой и основной позиции.
 Номер стратегии из пользовательского индикатора SignalNameIndicator


Если указанная стратегия не найдена в индикаторе, советник будет выгружен с графика с ошибкой!

Если указано 0, сигналы стратегии не используются, но фильтры применяются!

При использовании основного индикатора сигнал генерируется как есть! 
На текущем баре!
Это означает, что сигнал на открытие появляется как факт выполнения сигнала. 
Если есть сигнал и фильтр не позволяет открыть позицию, то сигнал игнорируется.


No Signal: При выборе советник игнорирует основной сигнал и торгует по фильтрам.
При использовании NoSignal, советник может игнорировать факт выполнения основного сигнала и работать по фильтрам.
При использовании фильтров советник открывает позицию на основе текущих данных выбранного индикатора.
TF_IndSigToTrade1Таймфрейм для первого основного индикатора.

Вы можете выбрать таймфрейм, по которому индикатор будет получать сигналы.
Period_Current – текущий таймфрейм


Чем больше таймфрейм, тем дольше нужно ждать основного сигнала!
Чем меньше таймфрейм, тем быстрее открываются позиции (сделки).
SIGNALStrategyInputsВнешние параметры для пользовательского индикатора,
в режиме SignalTypeIndicator = xArrow!


Вы можете указать внешние переменные индикатора, как они записаны в таблице настроек, разделенные запятыми!


Важно: необходимо соблюдать порядок и тип переменных.

– Тип int: тот же;
– Тип double: тот же;
– Тип boolean: true или false;
– Тип datetime: D’год.месяц.день’ Обязательное указание D и одинарных кавычек.
Если нужно записать без конкретной даты, то следует писать как строку: “00:00” или “23:59″D’2018.11.08 ‘D’2015.01.01 ‘”00:00″”23:59”
– Тип color: C’red/green/blue ‘ Обязательное указание C и одинарных кавычек.
Пример: C’0/128/128′ или C’0/256/0′
– Тип enum(список, перечисление)x (цифра)
Если у вашего индикатора есть список (выбор параметра из списка), то в настройках нужно написать число!
– Тип string
Обязательно укажите строку (не числа), тогда можно писать как “X”.
В MT4: ВниманиеВ версии для MetaTrader4 запрещена передача строковых параметров! 
При передаче строковых параметров индикатор может некорректно загрузиться!






Например, 
Если в вашем индикаторе есть этот входной параметр:
 int InpCCIPeriod = 1;
 double InpCCIPeriod2 = 2.0;
 color InpCCIPeriod3 = clrGreen;
 string InpCCIPeriod6 = “text”;
 datetime InpCCIPeriod4 = 2018.11.08;
 bool InpCCIPeriod5 = false;
записано как:
SIGNALStrategyInputs = 1,2.0, C’0/128/0′, “text“, D’2018.11.08′, false
Signal_ReverseИнверсия сигналов этого основного индикатора.

Этот параметр инвертирует сигналы только основного индикатора.

Если сигнал на Покупку, то советник открывает Продажу!
Если сигнал на Продажу, то советник открывает Покупку!
ClosePositionifChangeOWNSignalВключение/Отключение закрытия позиций на противоположный сигнал основного индикатора без участия других фильтров и параметров.


Параметр ClosePositionifChangeOWNSignal разделен на 3 значения:
– False (выкл)
– True (вкл),
– OnlyifProfit (Только если позиции в прибыли);
OWNSIGNAL_shiftНомер бара для сигнала, который будет генерировать индикатор.


– = Последний закрытый бар; сигналы на таком баре считаются закрытыми.
– = Текущий открытый бар; сигналы на этом баре считаются предварительными; будьте осторожны.


Подробнее об этом параметре: Подробная статья о сигнальных барах
SignalBuferforBUYSignalBuferforSELLНомер буфера в пользовательском индикаторе для получения сигнала на ПОКУПКУ и ПРОДАЖУ.
Не изменяйте для Ind – The xCustomEA и Ind – The xCustomEA Example TheX.

Параметры закрытия

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


 Вы можете использовать его, если пользовательский индикатор дает сигналы для закрытия позиций (отдельно от сигналов для открытия новой позиции).


 Предположим, вам нужно прописать в этих настройках в советнике сигналы для закрытия позиций.


 В этом случае вам нужно указать название индикатора (которое может быть идентичным названию индикатора для закрытия позиций), набор параметров (если они отличаются от параметров индикатора по умолчанию), таймфрейм, сдвиг бара и номер буферов для получения сигналов для закрытия. Отдельно для позиций на ПОКУПКУ и ПРОДАЖУ.


 Внимание: Если вы хотите закрыть позицию при получении противоположных сигналов, то не нужно использовать этот блок.
CloseNameIndicatorНазвание пользовательского индикатора, из которого будут поступать основные сигналы для закрытия позиций.
CloseTypeIndicatorТип индикатора для сигналов. Существует два типа работы советников:

– xCustomEA – Советники работают с нашим индикатором, в который вы запрограммируете свою стратегию.

– xArrow – Советник работает непосредственно с пользовательским индикатором, который имеет буферы типа стрелки, которые можно использовать для советника.

Например, буферы с сигналами индикатора для закрытия ПОКУПОК и буферы с сигналами индикатора для закрытия ПРОДАЖ.
Такие буферы должны быть типа стрелки. Наш советник определяет сигнал по типу:
Значение буфера не равно пустому значению и больше 0.

// — Мы проверяем условия и устанавливаем значение для сигнала, если (xCustom_SIGNAL_BUY_buffer [OWNSIGNAL_shift] != EMPTY_VALUE && xCustom_SIGNAL_BUY_buffer [OWNSIGNAL_shift]> 0) sig = 1;

иначе, если (xCustom_SIGNAL_SELL_buffer [OWNSIGNAL_shift] != EMPTY_VALUE && xCustom_SIGNAL_SELL_buffer [OWNSIGNAL_shift]> 0) sig = -1;
CloseTimeFrame
Close_shift
CloseStrategyInputs
CloseBuferforBUY
CloseBuferforSELL
Close_IndSigToClose
 

Параметры фильтра

FilterNameIndicatorНазвание пользовательского индикатора, из которого будут поступать фильтры при открытии позиций.


По умолчанию” Ind – The xCustomEA “.
Это стандартный пустой индикатор, в который вы можете запрограммировать свою стратегию по нашему примеру!
FilterTypeIndicatorТип индикатора для фильтра. 
Существует два типа работы советников:


– xCustomEA – Совет ники работают с нашим индикатором, в который вы запрограммируете свою стратегию фильтра.
– xArrow – Советник, работающий напрямую с пользовательским индикатором, который имеет буферы типа стрелки (Arrow) или непустое значение буфера, которое можно использовать для советника.


Например
Буфер с фильтром индикатора на ПОКУПКУ и буфер с фильтром индикатора на ПРОДАЖУ.
Такие буферы должны быть типа стрелки.
Наш советник определяет фильтр по типу: Значение буфера не равно пустому значению и больше 0:


// — мы проверяем условия и устанавливаем значение для сигнала, если (xCustom_FILTER_BUY_buffer [shift] != EMPTY_VALUE && xCustom_FILTER_BUY_buffer [shift]> 0) sig = 1; 
иначе если (xCustom_FILTER_SELL_buffer [shift] != EMPTY_VALUE && xCustom_FILTER_SELL_buffer [shift]> 0) sig = -1;




–  Или вы можете использовать наши стандартные стратегии из The X 
FILTERMa=101,//Скользящая средняя
FILTERMACD=102, //Скользящая средняя сходимости/расхождения (MACD)
FILTERSTOCH=103,//Стохастический осциллятор
FILTERRSI=104,//RSI
FILTERCCI=105,//Индекс товарного канала (CCI)
FILTERWPR=106,//Процентный диапазон Вильямса (WPR)
FILTERBB=107,//Полосы Боллинджера
FILTEREnvelopes=108,//Конверты
FILTERAlligator=109,//Аллигатор
FILTEROsMA=1010,//Осциллятор скользящей средней (OsMA)
FILTERAO=111,//Awesome Oscillator (AO)
FILTERISH=112,//Ишимоку
FILTERAC=113,//AC
FILTERBAR=114,//Bar
FILTERADX=115,//Средний индекс направленного движения (ADX)
FILTERBARrelativelyMA=116,//Bar относительно MA
FILTERZigZag=117,//ZigZag
FILTERATR=118,//ATR
FILTERMFI=120,//Индекс денежного потока (MFI)
FILTERFractals=121,//Фракталы 
FILTER_IndSigToTradeВыбор индикатора и фильтра для фильтрации основного сигнала.


 Номер стратегии из пользовательского индикатора FilterNameIndicator.


Если указанная стратегия не найдена в индикаторе, советник будет выгружен с графика с ошибкой!

Если IndSigToTrade установлен на 0, то советник будет работать по фильтрам!
FILTER_TF_IndSigToTradeТаймфрейм для фильтра.
Вы можете выбрать таймфрейм, по которому индикатор будет получать сигналы фильтра.
Period_Current – текущий таймфрейм.


Например
При использовании MA в качестве основного сигнала с TF = M30 вы можете включить фильтрацию на старшем MA с TF = H4.
Filter_ReverseИнверсия сигналов этого фильтра.


Этот параметр инвертирует сигналы только данного фильтра.
Например
Основной индикатор MA показывает ПОКУПКУ, но старший индикатор MA показывает ПРОДАЖУ
При использовании этой функции мы переворачиваем сигналы старшего MA и получаем итоговый сигнал ПОКУПКА.
FILTERSIGNAL_shiftНомер бара для сигнала, который будет генерировать индикатор,


– = Последний закрытый бар; сигналы на таком баре считаются закрытыми.
– = Текущий открытый бар; сигналы на этом баре считаются предварительными; будьте осторожны.
Подробнее об этом параметре: Подробная статья о сигнальных барах
FilterBuferforBUYFilterBuferforSELLИспользуйте номер буфера в пользовательском индикаторе для получения фильтра на ПОКУПКУ и ПРОДАЖУ.


Не изменяйте для Ind – The xCustomEA и Ind – The xCustomEA Example TheX

Параметры SLTP

 
 Этот блок позволяет установить Stop Loss или Take Profit при открытии позиций по сигналу, которые можно взять из значений буферов пользовательского индикатора.




 Если пользовательский индикатор имеет отдельные буферы для получения Stop Loss или Take Profit, вы можете использовать эти значения при открытии новой позиции.


ВниманиеStoploss или Take Profit устанавливаются только при открытии новой позиции по новому сигналу.


Функции усреднения и дополнительного открытия используют параметры стоп-лосса и тейк-профита из предыдущих переменных. 
Stoploss и Takeprofit, полученные из пользовательского индикатора при усреднении и дополнительном открытии, не принимаются.
 Stoploss и Takeprofit из пользовательского индикатора также устанавливаются при использовании функции ForcedModifySLTP.


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

Отдельно для позиций на ПОКУПКУ и ПРОДАЖУ и отдельно для StopLoss и TakeProfit.
SLTPNameIndicatorНазвание пользовательского индикатора, из которого будут получены значения StopLoss и TakeProfit.
SLTPTypeIndicatorТип индикатора.
xPrice – Цена, которая будет создана из переменной (StopLoss, TakeProfit)
SLTPTimeFrame 
SLTP_shift 
SLTPStrategyInputs 
SLTPBuferforBUY_StopLossНомер буфера для получения значения StopLoss для ПОКУПКИ,
-1 означает, что эта опция не работает.
SLTPBuferforSELL_StopLossНомер буфера для получения значения StopLoss для позиций на ПРОДАЖУ,
-1 означает, что эта опция не работает.
SLTPBuferforBUY_TakeProfitНомер
буфера для получения значения TakeProfit для ПОКУПКИ,
-1 означает, что эта опция не работает.
SLTPBuferforSELL_TakeProfitНомер буфера для получения значения TakeProfit для позиций на ПРОДАЖУ,
-1 означает, что эта опция не работает.

 Внешние переменные и настройки

ПараметрОписание

Настройки сигналов Дополнительный блок обработки сигналов

Show_alert_without_opening_positionsОповещение

Если эта опция включена (TRUE), Советник не будет открывать новую позицию по сигналу, а только уведомит пользователя о появлении нового сигнала. 
В этом случае все остальные функции будут работать в обычном режиме.

Позволяет пользователю открыть позицию(Deal) самостоятельно, если Советник выдал (создал) сигнал. 
Однако, Советник не совершает сделку (позицию) и не открывает её, а только оповещает пользователя о сигнале.
Send_Push_without_opening_positionsPush-уведомление

Если эта опция включена (TRUE), Советник не будет открывать новую позицию по сигналу, а только уведомит пользователя по телефону о появлении нового сигнала. 
В этом случае все остальные функции будут работать в обычном режиме.

Позволяет пользователю открыть позицию(Deal) самостоятельно, если Советник выдал (создал) сигнал. 
Однако, Советник не открывает эту сделку (позицию) и не открывает позицию, а только отправляет Push-уведомление пользователю о сигнале.
OpenBarControlOnlyРабота Советника только на открытых барах (Начало нового Бара).


Этот режим позволяет симулировать работу Советника на открытии бара (как в тестере стратегий).
Когда этот режим включен (True), Советник будет торговать точно так же, как в режиме OpenPriceOnly в тестировании.


Все функции Советника будут выполняться один раз при открытии нового бара (в зависимости от TF, который у вас установлен), включая модификацию, трейлинг-стоп, усреднение, открытие сделок по сигналу и т.д.
ControlNewBarforSIGNALПроверка сигнала индикатора только на каждом новом баре (без проверки на каждом тике).

Работает только, если OWNSIGNAL_shift ≥ 1 и IndSigToTrade ≠ NoSignal (при NoSignal Советник проверяет значения фильтров на каждом тике)
Когда ControlNewBarforSIGNAL = true, скорость оптимизации увеличивается в 1.5 раза!

1. ControlNewBarforSIGNALType = 1 = True, минимальный TF из настроек:
Новый режим!


Советник выбирает минимальный таймфрейм, который был установлен параметрами TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2…

В этом режиме Советник не проверяет сигнал на текущем таймфрейме, а на таймфрейме, с которого получен сигнал от индикаторов!
Этот режим полезен для тех, кто использует TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2, отличные от текущего таймфрейма.


2. ControlNewBarforSIGNALType = 2 = True, текущий бар текущего TF:
Старый режим!


В этом режиме Советник проверяет каждый новый бар текущего таймфрейма на новые сигналы!
Если вы используете TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2, отличные от текущего таймфрейма, результаты могут различаться на каждом таймфрейме.
Мы рекомендуем установить Советника на таймфрейм M1!


3. ControlNewBarforSIGNALType = 0 = False:
Не используйте контроль нового бара для определения сигнала!
Внимание: Когда эта опция выключена (false), Советник проверяет сигнал на каждом новом тике! Это может привести к задержкам в тестировании и оптимизации!
ControlNewBarforOpenbySignal: ControlNewBarforOpenbySignal = true: Старый режим! 
Советник открывает позиции по сигналу только на каждом новом текущем баре текущего таймфрейма!
Советник открывает позиции, если есть сигнал, только когда появляется новый бар на текущем таймфрейме!


ControlNewBarforOpenbySignal = false:   Новый режим! 
Советник открывает позиции по сигналу на каждом новом баре с таймфрейма сигнала!
Советник открывает позиции, если есть сигнал, сразу после обнаружения сигнала.


Этот режим полезен для тех, кто использует TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1 и FILTER_TF_IndSigToTrade2, отличные от текущего таймфрейма.
ReverseSignalИнвертирование общего сигнала стратегии, полученного от основного индикатора + фильтры!


Если общий сигнал на открытие  покупки, то Советник открывает  продажу!
Если общий сигнал на открытие  продажи, то Советник открывает  покупку!

Опции фильтра открытия

TypeTradeBUYSELLНаправление торговли:

– Покупка и продажа
– Только покупка
– Только продажа

Внимание: Если вы используете отложенные ордера (вместо позиций) и работаете только в одном направлении, каждый раз при получении нового сигнала старый отложенный ордер будет удален и установлен по новой цене.
MinuteToOpenNextPositionРазрешение на открытие следующей сделки после последней открытой позиции


Если нет открытых позиций (сделок), Советник (EA) учитывает время (в минутах) с момента последней закрытой позиции.


Время учитывается для одинакового типа позиций. 
Если сигнал на покупку: время с момента последней открытой/закрытой покупки…
Если сигнал на продажу: время с момента последней открытой/закрытой продажи …


Количество минут до открытия следующей сделки по сигналам индикаторов.
Это позволяет фильтровать сделки при использовании ONlyOnePosbySignal = false.
DistanceToOpenNextPositionМинимальная дистанция для открытия следующей позиции по основному сигналу 


(Если ONlyOnePosbySignal = false и OnePosPerDirection = false).


Если  DistanceToOpenNextPosition  больше 0, тогда следующая позиция (сделка) может быть открыта только тогда, когда предыдущая позиция (сделка) по сигналу прошла  DistanceToOpenNextPosition  в прибыльных пунктах (Pips)!

Если  DistanceToOpenNextPosition  меньше 0, тогда следующая позиция (сделка) может быть открыта только тогда, когда предыдущая позиция (сделка) по сигналу находится на расстоянии  DistanceToOpenNextPosition  пунктов (Pips) в обе стороны от прибыли или убытка! 
OpenOppositePositionAfterStoplossСоветник открывает противоположную позицию при закрытии текущего по стоп-лоссу.


Открывает противоположную позицию (сделку) сразу после получения стоп-лосса по предыдущей сделке (позиции) без использования сигналов индикаторов.
Если последняя позиция была закрыта по стоп-лоссу, Советник немедленно откроет противоположную позицию.
ONlyOnePosbySignalТорговля только 1 текущей основной позицией в одном направлении.

Если Советник открывает позицию на продажу, все другие сигналы на продажу будут игнорироваться.

Если Советник открывает позицию на покупку, все другие сигналы на покупку будут игнорироваться.
OnePosPerDirectionОткрытие 1 сделки в 1 направлении,


например:
если  OnePosPerDirection  = true 
и  ONlyOnePosbySignal  = false 
тогда Советник может открыть 1 сделку на покупку по сигналу и 1 сделку на продажу по сигналу;


если  OnePosPerDirection  = false 
и  ONlyOnePosbySignal  = true 
тогда Советник может открыть только одну сделку (позицию) по сигналу,  либо  покупку или продажу;


если  OnePosPerDirection  = false 
и  ONlyOnePosbySignal  = false 
тогда Советник может открывать любые сделки (позиции) по каждому новому сигналу индикатора;
OnlyOnePositionPerMagicОткрытие 1 позиции по одному магическому номеру.


Советник проверяет, есть ли открытые позиции (сделки) с этим магическим номером на других валютных парах.


  Если позиции нет, советник откроет сделку по сигналу, а остальные советники будут ждать завершения этой сделки.


Если  OnePosPerDirection = false, тогда OnlyOnePositionPerMagic = true работает следующим образом:   разрешена 1 позиция по магическому номеру;


Если  OnePosPerDirection = true, тогда OnlyOnePositionPerMagic = true работает следующим образом:   разрешена 1 позиция в каждом направлении (покупка и продажа) по магическому номеру;
OnlyAlternateSignalsПозволяет открывать позиции только поочередно.

Если последняя закрытая позиция была  продажей, следующей может быть открыта только  покупка!

Необходимо торговать по основному индикатору в  режиме без сигналов.(IndSigToTrade=No Signal)
MAX_BUY_POSITIONПараметр для ограничения максимального количества сделок (позиций) на покупку.


Учитываются позиции, открытые по сигналам индикаторов.
Средние и дополнительные позиции не учитываются.
MAX_SELL_POSITIONПараметр для ограничения максимального количества сделок (позиций) на продажу.


Учитываются позиции, открытые по сигналам индикаторов.
Средние и дополнительные позиции не учитываются.
MaxSpreadToNotTradeМаксимальный спред, при котором советник может открыть позицию.


Если текущий спред на момент получения сигнала больше указанного значения, сигнал индикатора игнорируется, пока спред не станет меньше указанного значения.
MinSpreadToNotTradeМинимальный спред, при котором советник может открыть позицию.

Внимание: Этот фильтр используется только для открытия позиций по сигналам, усреднения и дополнительных открытий. 

Все другие функции работают в нормальном режиме.

Внимание: Этот фильтр действует только для позиций!

Для отложенных ордеров этот фильтр не имеет значения. 
Следовательно, фильтр работает только при использовании позиций.
Include_Commission_SwapУчитывать расчет комиссии и свопа при включенных функциях: Безубыток (стоп-лосс на точке безубыточности в пунктах), трейлинг-стоп, усреднение.


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


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


Это не ошибка расчета! Также стоит учитывать, что при возникновении свопа советник пересчитывает линию безубытка и устанавливает новые стопы, если сервер это позволяет (ограничение минимального уровня стопа для вашего брокера StopLevel). Если сервер не позволяет установить безубыток и возвращает ошибку минимального уровня стопа, советник не сможет изменить позицию, и вы можете понести дополнительные потери пунктов (Pips).


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


Например, комиссия за открытие и закрытие позиции = 2 доллара (EURUSD) на 1 лот.
Таким образом, чтобы покрыть убыток на комиссии, нужно установить LevelWLoss = 2 пункта (Pips) + 1 контрольный пункт = 3 пункта (Pips).
Таким образом, советник установит безубыток (стоп-лосс на точке безубыточности) на уровне +3 пункта (Pips), что в свою очередь покроет убытки по комиссии.

Опции закрытия 

ClosePosifChangeЗакрытие позиций при изменении общего сигнала индикатора.


Разница между 
ClosePosifChange и ClosePositionifChangeOWNSignal заключается в том, что при ClosePosifChange(true) – изменение сигнала учитывается для всех фильтров + основного сигнала.

Когда ClosePositionifChangeOWNSignal(true) – изменение сигнала учитывается только для основного индикатора (IndSigToTrade).


Это также работает для отложенных ордеров.
ClosePosition_After_X_MinutesСоветник может закрыть позицию через указанное количество минут.


Также советник проверяет включенный параметр CloseChangeOnlyInProfit:
Советник может закрывать только прибыльные позиции.
CloseChangeOnlyInProfitСоветник может закрывать сделки при изменении сигнала (изменение направления сигнала) только когда текущая позиция находится в прибыли.

Опции отложенных ордеров 

StopOrderUSEОткрытие отложенных ордеров или лимитных ордеров вместо позиций.

1. FALSE: Открыть позиции BUY SELL;

2. TRUE: Это позволяет открыть отложенный или лимитный ордер на полученный сигнал на расстоянии StopOrderDeltaifUSE пунктов (Pips).
Таким образом, мы перепроверяем сигнал на прибыльность.

Если сигнал открыт в правильном направлении движения цены, то отложенный ордер сработает на расстоянии StopOrderDeltaifUSE пунктов (Pips).

3. Использовать виртуальные стоп-ордера: Устанавливает виртуальный отложенный стоп-ордер на расстоянии StopOrderDeltaifUSE пунктов (Pips);

4. Использовать виртуальные лимитные ордера: Устанавливает виртуальный отложенный лимитный ордер на расстоянии StopOrderDeltaifUSE пунктов (Pips);

Внимание: (Использование виртуальных стоп-ордеров) и (Использование виртуальных лимитных ордеров) работают только в режиме визуализации или на реальных графиках, когда терминал работает на вашем компьютере.
Это не работает в режиме оптимизации!
StopOrderDeltaifUSEКоличество пунктов (Pips) для стоп-ордера или лимитного ордера.
Дистанция от текущей цены.
StopOrderDayToExpirationStopOrderDayToExpiration = количество дней до истечения ордера.

– 0 – ORDER_TIME_GTC: Ордер будет в очереди, пока не будет удален;
– 1 – ORDER_TIME_DAY: Ордер будет действителен только в текущий торговый день;
– X – ORDER_TIME_SPECIFIED: Ордер будет действителен до указанной даты истечения.

Если появляется ошибка Rejected, и при наведении на ордер в истории вы видите это сообщение: incomplete FOK information of the order, то если у вас брокер BCS или Open, необходимо установить:
TypeFilling = ImmediateOrCancel или TypeFilling = Return и DayToExpiration = 1.
StopOrderBarToExpirationИстечение отложенного ордера в барах.

Если указано StopOrderBarToExpiration = 10, и TF = M1, то отложенный ордер будет удален через 10 минут после установки.

Внимание: У каждого брокера есть свой минимальный параметр времени для истечения ордера.
ReInstallStopOrdersNewSignalAppearsСброс отложенных ордеров при появлении нового сигнала от индикаторов.

Это позволяет удалить текущий BUYSTOP отложенный ордер и установить новый BUYSTOP на новом уровне при появлении нового сигнала индикаторов.

Торговые опции

MagicМагический номер позиций, открытых советником EA.
SlippageУровень максимально возможного отклонения в цене при открытии и закрытии позиций (в пунктах).

Пример:
Slippage = 1
Максимальное отклонение цены при открытии позиции = Цена открытия + -1 пункт.
Slippage = 100
Максимальное отклонение цены при открытии позиции = Цена открытия + -100 пунктов.
Пример: Цена открытия позиции при отправке сделки на сервер = 1.12345
Но если за время отправки и открытия позиции цена изменилась в пределах 100 пунктов (Requote), то позиция откроется по цене в пределах 1.12245 – 1.12445.
MarketWatchДля открытых позиций с уровнем стоп-лосса и тейк-профита на счете с рыночным исполнением.

Сначала советник EA может открыть позицию, а после успешного открытия уровни StopLoss и TakeProfit модифицируются в этой позиции.

True — для ECN-брокеров и счетов, на которых запрещено устанавливать стопы одновременно с открытием позиции.

Если ваш счет относится к группе ECN или NDD, необходимо установить опцию в значение true.
CommentToOrderДополнительные комментарии к открытым позициям.

Здесь можно указать дополнительный комментарий, который будет добавлен к открытой позиции для различения настроек, например.
Стандартный комментарий: “The X” + CommentToOrder.
RoundingDigitsСоветник EA может округлять все цены при открытии и модификации ордеров и позиций.
Опции:
Без округления,
Округление до 1 цифры,
Округление до 2 цифр.

Функция создана для золота и серебра, а также для брокеров, где требуется определенная точность тиков.

Пример:
Цена открытия сделки = 1.12345
Округление до 1 цифры = 1.12340
Округление до 2 цифр = 1.12300
TypeFillingТип заполнения позиций и ордеров.
Используется для терминала MT5.
В режиме AUTO советник EA пытается автоматически определить тип заполнения.
Но в некоторых ситуациях необходимо задать тип заполнения вручную.

Если при открытии позиции вы получаете ошибку 10030 TRADE_RETCODE_INVALID_FILL, это указывает на неподдерживаемый тип исполнения оставшегося ордера.
Установите тип заполнения, который поддерживает ваш брокер.

Пример:
FillOrKill
Эта политика исполнения означает, что ордер может быть исполнен только в указанном объеме. Если на рынке в данный момент недостаточно финансового инструмента, ордер не будет исполнен. Требуемый объем может быть составлен из нескольких доступных предложений на рынке в данный момент.

ImmediateOrCancel
Означает согласие на сделку по максимально доступному объему на рынке в пределах, указанных в ордере. В случае невозможности полного исполнения ордер будет исполнен на доступный объем, а невыполненная часть ордера будет отменена.

Return
Этот режим используется для рыночных, лимитных и стоп-лимитных ордеров, а также в режимах «Рыночное исполнение» и «Биржевое исполнение». В случае частичного исполнения рыночный или лимитный ордер с остаточным объемом не снимается, а продолжает действовать. Для стоп-лимитных ордеров при активации будет создан соответствующий лимитный ордер с типом исполнения Return.

Опции Стопов

VirtualStopsФункция включения виртуального стоп-лосса/тейк-профита/трейлинг-стопа вместо реальных уровней.


Использование виртуальных (невидимых) уровней стоп-лосса/тейк-профита/трейлинг-стопа/безубытка.


Мы полностью переработали алгоритм виртуальных стоп-лоссов/тейк-профитов/трейлинг-стопов/безубытка.


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


Примечание: Если удалить линию стопа на графике и глобальные переменные, виртуальное закрытие по этой линии не сработает.


Внимание: Проверьте свои эксперты и индикаторы на удаление линий с графика и глобальных переменных!
Внимание: Виртуальные уровни срабатывают по текущей цене, после чего происходит закрытие.
При закрытии может быть проскальзывание в пару пунктов!
Внимание: В МТ4 в режиме оптимизации виртуальный стоп-лосс/тейк-профит не работает.
Внимание: При включении VirtualStops скорость тестирования значительно снижается.
Внимание: Виртуальные SL/TP/TS не имеют ограничений и запретов сервера. Поэтому они могут быть установлены по текущей цене! В этом случае происходит немедленное закрытие.
SetMinStopsАвтоматическая нормализация всех параметров советника до минимально допустимых уровней стопов.


При использовании виртуальных стопов — этот параметр не влияет.


С AutoSetMinLevel уровни стопов будут приведены к минимально возможным уровням, разрешенным на сервере.

Если уровень StopLoss или TakeProfit меньше минимального уровня стопов на сервере, то уровень StopLoss/TakeProfit = Минимальный уровень стопов (Spread*2 или фиксированный уровень на сервере) + Spread.


При использовании ManualSet пользователь получит сообщение о том, что уровни стопов советника меньше минимальных, и советник получит ошибку от сервера.
Если уровень стопов на сервере плавающий, то минимальный уровень стопов рассчитывается автоматически = Spread*2.
StopLossСтоп-лосс каждой открытой позиции в пунктах (Pips).
TakeProfitТейк-профит каждой открытой позиции в пунктах (Pips).
ForcedModifySLTPПринудительная модификация позиций: установка стоп-лосса и тейк-профита.


Советник будет принудительно модифицировать стоп-лосс и тейк-профит для всех своих позиций.


Пример: Если сервер брокера открыл сделку, но не вернул ее тикет, то эксперт принудительно проверит все свои позиции.
Если советник обнаружит, что у позиции StopLoss или TakeProfit равен 0, он принудительно модифицирует уровни StopLoss и TakeProfit.
TimeToCheckAverageSpreadАлгоритм функции взят из нашего автоматизированного советника-скальпера tickSniper.


Добавлены параметры к блоку опций стопов (SL TP TS):
TimeToCheckAverageSpread: Время (в миллисекундах, 20 000 = 20 секунд) для определения среднего спреда.
AutoCheckLowSpread: Автоматическое определение низкого спреда.
Автоматически определяет спред как слишком низкий (меньше 1 пункта) и устанавливает все системные настройки на минимальный возможный спред.
Это позволяет защитить систему от уменьшения спреда брокером.


Как использовать:
Для параметра, рассчитанного в пунктах (Pips), чтобы он рассчитывался исходя из среднего спреда валютной пары, необходимо указать настройку со знаком ““.

Пример:
StopLoss = 2000 означает, что стоп-лосс каждой позиции будет равен 2000 пунктов (Pips).
StopLoss = -100 означает, что стоп-лосс каждой позиции будет равен 100 * Средний спред, который был рассчитан советником за TimeToCheckAverageSpread миллисекунд.


Если спред составляет 20 пунктов, то стоп-лосс на момент открытия составит 2000 пунктов.
При плавающем спреде это значение всегда меняется.


Параметры, доступные для настройки в режиме спреда: Distance, DistanceAdditionalOpening, StopOrderDeltaifUSE, StopLoss, TakeProfit, TrailingStop, TakeProfitALL, StopLossALL, LevelWLoss, LevelProfit.


Средний и текущий спред, а также уровень Auto Spread Low будут отображены на нашей панели в разделе Strategy Info.

Опции лотов

LotsФиксированный лот (Объем), используемый для открытия позиции (Сделки) или ордера.
 AdditionalLots – Дополнительный лот (Объем), который будет добавлен к каждой новой сделке на основе нового сигнала.

CoeficienteLots – Коэффициент лота, на который будет умножаться лот для каждой новой сделки по новому сигналу.

Работает только (Когда советнику разрешено открывать больше одной позиции для каждого сигнала ONlyOnePosbySignal = false / OnePosPerDirection = false)
DynamicLotДинамический лот, Автолот, для открытой позиции.
Вы можете включить расчет динамического лота в процентах от свободной маржи и других факторов.
Расчет нашего автолота.

Тип расчета автолота:
BALANCE – Автолот рассчитывается от текущего баланса. Лот рассчитывается от баланса счета! Если на счете есть открытые позиции, то следующий лот будет примерно таким же, так как баланс не уменьшается от числа текущих открытых позиций!
FREEMARGIN – Стандартный расчет лота от текущей свободной маржи: чем больше открытых позиций на счете, тем меньше лот, рассчитанный для следующей позиции. Поскольку при открытии позиции свободная маржа уменьшается, соответственно, каждая новая открытая позиция имеет меньший лот при расчете автолота.
DynamicLotStopLossРиск по стоп-лоссу – Рассчитывает автоматический лот с учетом стоп-лосса.
Максимальная потеря в процентах от баланса при закрытии сделки по стоп-лоссу.
При расчете лота наш советник будет учитывать стоп-лосс (в момент открытия сделки).
Если сделка закрывается по стоп-лоссу, потеря по этой сделке будет = % от баланса (на момент открытия сделки).
Важно! Если ваш стоп-лосс был изменен после открытия сделки, то лот сделки не может быть изменен. При закрытии сделки потеря может быть больше или меньше.
Важно! Если вы используете трейлинг-стоп, стоп-лосс сделки изменяется с каждым тиком. Но лот не может быть изменен.
Формула и код: https://expforex.com/my-autolot-secrets-dynamiclot-autolot/#eb-table-content-5
LotBalancePercentПроцент для автолота.
RiskRateКурс вашей валюты к доллару (или к валюте вашего счета).

По умолчанию RiskRate = 0, что означает, что советник будет пытаться найти правильный курс на вкладке “Обзор рынка”.
Для того чтобы автолот работал корректно со всеми валютными парами, вам необходимо включить «Показать все валютные пары» в разделе Обзор рынка.
MaxLotМаксимальный лот, который советник может открыть при расчете автолота и мартингейла для первой основной позиции.
MartinМартингейл. Стандартное увеличение лота последней закрытой позиции при убытке.


Если Martin = 1, то мартингейл не включен (Фиксированные лоты (объемы)).
Если Martin = 0, то советник не может открыть следующую позицию.
Если Martin = 2, то первый лот = 0.1, второй лот = 0.2 и так далее: 0.4 – 0.8 – 1.6 – 3.2 – 6.4…
Если Martin = 0.5, то первый лот = 1, второй лот = 0.5 и так далее: 0.25 – 0.125.

Опции усреднения:

Блок функций для усреднения позиций, открытия позиций против тренда.
Подробнее:  Exp – Averager. Усреднение торговых позиций. Открытие сделок против тренда и по тренду!
UseAverAdditionalOpeningOrderinOneКоличество позиций (сделок) считается общим как для дополнительных сделок, так и для усредненных сделок.
Внимание! Только для версии MT4!
AverageUSEВключение функции усреднения.
Если основная позиция в убытке на определенное количество пунктов (Pips), наш советник открывает позицию того же типа (против тренда).
Таким образом, происходит усреднение первой позиции.
Все функции советника (трейлинг-стоп, Безубыток (StopLoss на уровне безубытка) и т.д.) будут работать уже от средней линии позиций, которая рассчитывается от всех позиций (сделок) одного типа.


Пример:
Вы открываете BUY позицию по цене 1.600;
Цена падает до 1.500, и текущий убыток составляет -100 пунктов;
Уровень безубытка (средняя цена) = 1.600;
Чтобы изменить стоп-лосс на уровень безубытка, цена должна подняться на 100 пунктов;
Если мы открываем BUY позицию по цене 1.500, то наша позиция усреднится, и безубыточный уровень будет установлен на 1.550;
Для закрытия двух сделок цена должна подняться всего на 50 пунктов, а не на 100 пунктов.
Советник (EA) активирует трейлинг-стоп, и две позиции начнут приносить прибыль для увеличения прибыли.


Внимание: Для различных объемов позиций средняя цена рассчитывается с использованием математической формулы.
TakeProfitALLОбщий тейк-профит для всех позиций.
Тейк-профит, который будет установлен на расстоянии TakeProfitALL пунктов от средней цены открытия позиций.
Если вы установите TakeProfitALL = 5 пунктов, это означает, что тейк-профит будет установлен от средней линии на расстоянии 5 пунктов.
DistanceРасстояние для открытия усредняющих позиций.

Через сколько пунктов против тренда открывать следующую усредняющую позицию (сделку) от последней открытой позиции одного типа для усреднения.


Вы можете установить 100 пунктов (Pips).
Тогда каждая новая усредняющая позиция будет открываться после убытка в 100 пунктов от последней открытой позиции.

Вы можете установить 50 пунктов (Pips).
Тогда каждая новая дополнительная позиция (сделка) будет открываться через 100+50 убытков от последней открытой позиции. (100,150,200,250,300)
DistanceMartinКоэффициент увеличения расстояния от среднего для каждой сделки.


Вы можете установить его на 1.5.
Тогда каждая новая усредняющая позиция будет открываться через 100+50 (100*1.5) убытков в пунктах (Pips) от последней открытой позиции (100,150,225,337,506).
LotsMartinКоэффициент увеличения объема (лот) для позиций в сетке.
Коэффициент увеличения объема каждой следующей усредняющей позиции.

Пример:
Начальный лот (объем) основной позиции = 0.1
LotsMartin = 2, тогда
Следующий лот (объем) для открытой усредняющей позиции будет 0.2, 0.4, 0.8 и так далее.


Внимание: Средняя линия будет рассчитываться с использованием формулы с учетом лотов.
Это позволит приблизить уровень безубытка (средняя линия) к текущей цене.


Но мартингейл может быть опасен для вашего счета.
Пожалуйста, рассчитайте этот параметр так, чтобы ваш депозит выдержал такую нагрузку.
LotAdditionalДополнительный лот (объем) для следующей усредняющей позиции.

Пример:
Начальный лот (объем) основной позиции = 0.1;
LotAdditional = 0.05, тогда
Следующий лот для открытой усредняющей позиции будет 0.15, 0.2, 0.25 и так далее.
MaxOrdersOpenМаксимальное количество позиций для этой валютной пары в одном направлении (отдельно для BUY и SELL).


Если позиции в сетке достигли MaxOrdersOpen, то следующие усредняющие сделки игнорируются.

Дополнительное открытие: Блок функций для дополнительного открытия позиций по тренду.

Подробнее: Exp – Averager. Усреднение торговых позиций. Открытие сделок против тренда и по тренду!
AdditionalOpeningСоветник (EA) может включить открытие дополнительных сделок.
Если основная позиция выходит в прибыль на определенное количество пунктов, наш советник открывает позицию того же типа.
Таким образом, добавляется позиция с выгодным сигналом.
Все функции советника (Trailing Stop, Безубыток (уровень безубыточности) и т.д.) будут работать от средней линии позиций, которая рассчитывается от всех позиций одного типа.


Пример:
Вы открываете BUY позицию по цене 1.600;
Цена поднимается до 1.700, и текущая прибыль составляет +100 пунктов;
Уровень безубыточности (средняя цена) = 1.600;
Если мы открываем BUY позицию по цене 1.700, то наша позиция усредняется, и безубыток будет установлен на уровне 1.650;
Советник открывает 3 дополнительные позиции (сделки).
Цена откатывается.
Советник (EA) активирует трейлинг-стоп, и 5 позиций увеличивают прибыль.

Внимание: Для различных лотов позиций средняя цена рассчитывается по математической формуле.
StopLossALLОбщий стоп-лосс для всех позиций.
Стоп-лосс будет установлен на расстоянии StopLossALL пунктов от средней цены открытия позиций.
Если вы установите StopLossALL = 5 пунктов, это означает, что стоп-лосс будет установлен от средней линии на расстоянии 5 пунктов.
DistanceAdditionalOpeningРасстояние для открытия дополнительных позиций в сетке.

После какого количества пунктов по тренду открывается следующая дополнительная позиция (сделка).

Вы можете установить 50 пунктов (Pips).
Тогда каждая новая дополнительная позиция (сделка) будет открываться через 100+50 пунктов от последней открытой позиции.(100, 150, 200, 250, 300)
LotsMartinAdditionalOpeningКоэффициент увеличения лота (объема) для позиций в сетке.
Коэффициент увеличения лотов для каждой следующей дополнительной позиции.

Пример:
Начальный лот (объем) основной позиции = 0.1;
LotsMartinAdditionalOpening = 2, тогда
Следующий лот (объем) для открытой дополнительной позиции будет 0.2, 0.4, 0.8 и так далее.


Внимание: Средняя линия будет рассчитываться с использованием формулы по лотам.
Это позволит приблизить уровень безубыточности (среднюю линию) к текущей цене.


Но мартингейл может быть опасен для вашего счета.
Пожалуйста, рассчитайте этот параметр так, чтобы ваш депозит выдержал такую нагрузку.
LotAdditionalOpeningДополнительный лот (объем) для следующей дополнительной позиции.

Пример:
Начальный лот (объем) основной позиции = 0.1;
LotAdditionalOpening = 0.05, тогда
Следующий лот для открытой дополнительной позиции будет 0.15, 0.2, 0.25 и так далее.
MaxOrdersOpenAdditionalOpeningМаксимальное количество позиций для этой валютной пары в одном направлении (отдельно для BUY и SELL).

Если количество позиций в сетке равно MaxOrdersOpenAdditionalOpening, то следующие дополнительные позиции игнорируются.

Опции торговли по времени:

Блок работы с торговым временем и временными ограничениями.
TradeStartStopbyTimeTimeTrade – функция работы советника EA с временными ограничениями.

Если TradeStartStopbyTime = false, то советник работает круглосуточно.
Если TradeStartStopbyTime = true, то включен временной лимит для торговли:
SeveralTimeWorkВы можете указать несколько временных интервалов для торговли в параметре SeveralTimeWork.

Формат записи: HH: MM-HH: MM;
где:
Час начала торговли: Минуты начала торговли – Час окончания торговли: Минуты окончания торговли.

Пример:

SeveralTimeWork = 3:00-5:00; 7:30-8:50; 12:00-15:00;
тогда советник будет торговать в 3 временных промежутка.
С 3:00 до 5:00;
с 7:30 до 8:50;
и с 12:00 до 15:00.

Советник не будет открывать новые сделки в остальное время.
OpenHour OpenMinuteСоветник проверяет время торговли по параметрам:

OpenHour:OpenMinute – начало торговли;
CloseHour:CloseMinute – завершение торговли за 1 день.

Пример: OpenHour = 5, OpenMinute = 0, а также CloseHour = 18 и CloseMinute = 59,
тогда советник будет торговать каждый день с 5:00 до 18:59.
ClosePeriod_MinuteЕсли вы хотите указать торговый период от времени начала, вы можете установить параметр ClosePeriod_Minute, который указывает период в минутах.

Пример: OpenHour = 6, OpenMinute = 0 и ClosePeriod_Minute = 180.
Тогда советник установит время торговли с 6:00 до 9:00 (6 + 180 минут = 9 часов).
CloseAllTradesByOutOfTimeТакже вы можете закрыть все открытые сделки и отложенные ордера во внерабочие часы, если CloseAllTradesByOutOfTime = true.

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

Не использовать = не использовать эту функцию;
Позиции и ордера = закрыть позиции и отложенные ордера;
Только позиции = закрыть только позиции (BUY и SELL);
Только ордера = закрыть только отложенные ордера (BUYSTOP, SELLSTOP, BUYLIMIT и SELLLIMIT).
TradeByDaysВ этом блоке работы по времени вы можете указать торговые дни для торговли:TradeByDays.

Пример:
TradeByDays = true и Days = 1, 2, 3
– в этом случае советник будет торговать только в понедельник, вторник и среду, согласно установленному времени.

Или торговать круглосуточно в эти 3 дня, если время не установлено.

Если вы установите Days = 1, 2, 3, 4, 5, но параметр TradeStartStopbyTimeFriday = false, то советник не будет торговать в пятницу.
DayForOptimizationТакже вы можете установить 1 день для оптимизации в параметре DayForOptimization.

Эта опция полезна для определения, какие дни в оптимизации были наиболее прибыльными.

Пример:
если DayForOptimization = 3, то советник будет торговать только по средам.
TradeStartbyTimeMondayСоветник начинает работу в понедельник, если установлено TradeStartbyTimeMonday = true, по времени OpenHourMonday:OpenMinuteMonday.

Пример:
OpenHourMonday = 3, OpenMinuteMonday = 40, тогда советник начинает торговать в понедельник в 03:40 по серверному времени.
(Время вашего брокера, как указано в обзоре рынка).
TradeStartStopbyTimeFridayTradeStartStopbyTimeFriday – торговое время для пятницы.

В нашем советнике вы можете установить время для торговли советником в пятницу.

Временные параметры для пятницы: OpenHourFriday:OpenMinuteFridayCloseHourFriday:CloseMinuteFriday.

Пример:
если вам нужно, чтобы советник не открывал новые сделки в пятницу после 18:00, вы можете установить:
OpenHourFriday = 0, OpenMinuteFriday = 0
– CloseHourFriday = 18, CloseMinuteFriday = 0.
В этом случае советник не будет открывать новые сделки после 18:00.
CloseFridayТакже вы можете закрыть все открытые сделки и отложенные ордера в пятницу в указанное время 18:00, если CloseFriday = true.

Опции безубыточности (BreakEven WithoutLOSS)

Блок работы с безубыточностью (установка стоп-лосса на уровне безубыточности в определенный момент) 
MovingInWLUSEВключить функцию безубытка.

Эта функция модифицирует стоп-лосс на уровне LevelWLoss пунктов, когда позиция достигает LevelProfit пунктов прибыли.
Функциональные особенности советников от www.expforex.com

Пример:
LevelWLoss = 50, LevelProfit = 200
Как только позиция наберет 200 пунктов прибыли, стоп-лосс позиции будет модифицирован до цены открытия позиции (+ спред) + 50 пунктов.

Пример:
LevelWLoss = 0, LevelProfit = 100
Как только позиция наберет 100 пунктов прибыли, стоп-лосс позиции будет модифицирован до цены открытия позиции (+ спред).

Внимание: если функция усреднения или дополнительного открытия включена (true):
То, когда открыто 2 или более позиций, советник включает функцию безубытка, исходя из средней линии, а не из цены открытия позиций.
LevelWLossУровень прибыли (LevelWLoss) в пунктах, при котором устанавливается стоп-лосс при включенной функции безубытка.

1 = 1 пункт прибыли;
0 = Автоматический минимальный режим прибыли.
Если установлено 0, то количество пунктов прибыли для безубытка (стоплосс на уровне безубытка) = спред по текущей валютной паре.
LevelProfitКоличество пунктов прибыли (LevelProfit), при котором позиция получает установку стоп-лосса на уровне LevelWLoss в пунктах прибыли (Pips).
LevelProfit должен быть больше, чем LevelWLoss.

Стандартные опции Trailing Stop

(Трейлинг позиций, путем модификации стоплосса в прибыль!)
TrailingStopUSEВы можете включить стандартную функцию Trailing Stop.

Примечание: Если функция усреднения или дополнительного открытия включена, и вы открыли 2 или более позиции, советник включает функцию трейлинг-стопа, исходя из средней линии, а не из цены открытия позиции.
Средняя цена отображается на графике.
IfProfTrailЕсли “true” – советник начинает модифицировать позицию только с момента достижения уровня безубытка (стоплосса на уровне безубытка) + TrailingStop в пунктах прибыли.

Если “false” – функция TrailingStop работает сразу после открытия позиции и тянется за ценой, когда позиция находится в прибыли.
TrailingStopРасстояние в пунктах от текущей цены до стоп-лосса.
Если текущая прибыль составляет 200 пунктов, а TrailingStop = 100, то стоп-лосс будет установлен на +100 пунктов.

Таким образом, мы даем цене возможность отката максимум на 100 пунктов.
В противном случае сработает стоп-лосс, и позиция будет закрыта с прибылью +100 пунктов.
TrailingStepШаг модификации стоп-лосса при включенной функции трейлинг-стопа.
SaveTPafterTrailingStopПри включении, тейк-профит модифицированных позиций не будет изменен после трейлинг-стопа.

Пример:
SaveTPafterTrailingStop = false:
При работе трейлинг-стопа, тейк-профит модифицированной позиции будет удален (установлен на 0);

SaveTPafterTrailingStop = true:
При работе трейлинг-стопа, тейк-профит модифицированной позиции будет сохранен.

Trailing Stop по SAR Parabolic

(Установка и модификация стоп-лосса по индикатору Parabolic SAR в пунктах)
TrailingStopSARВы можете включить (true) функцию Trailing Stop по индикатору Parabolic SAR.

Внимание: если индикатор показывает убыток для позиции, советник (EA) ждет, пока параболическая точка не станет прибыльной для позиции.

Если у нас есть 2 или более позиции по усреднению, то безубыток (стоп-лосс на уровне безубытка) рассчитывается от средней цены позиций.
TrailingStopSAR_TimeFrameТаймфрейм для индикатора Parabolic SAR.
Параметры Parabolic SARНастройки индикатора Parabolic SAR.

Опции закрытия всех позиций при прибыли или убытке (CloseALL when Profit or LOSS) 

Закрытие позиций в MetaTrader при достижении общей прибыли/убытка с функцией трейлинга прибыли.

Эта функция взята из CloseIfProfitorLoss with Trailing. Контроль

CloseALL when Profit or LOSS optionsЗакрытие позиций в MetaTrader при достижении общего профита или убытка с функцией трейлинг профита.
Эта функция взята из CloseIfProfitorLoss with Trailing. Контроль общего профита или убытка с трейлингом прибыли.
TypeofCloseТип закрытия по общему профиту или убытку в долларах (валюта депозита), пунктах (Pips), процентах от баланса или процентах от капитала.
Этот блок позволяет закрыть все позиции по этому символу, если общий профит или убыток всех позиций достигает установленного значения.
SeparateBuySellРаздельный расчет и закрытие позиций в двух разных направлениях: BUY и SELL.


Если SeparateBuySell=true, то советник (EA) отдельно закрывает направления BUY и SELL по общему профиту или убытку.
Если SeparateBuySell=false, то советник (EA) закрывает оба направления (BUY и SELL) вместе по общему профиту или убытку.
Для того чтобы советник закрыл оба типа позиций (сделок) – BUY и SELL, общий профит этих позиций должен быть выше установленного значения.
CloseProfitЗакрытие позиций по общему профиту.
True – включить,
False – выключить.
prifitessssКоличество единиц (долларов, пунктов или процентов) для закрытия.
Если общий профит по позициям валютной пары больше или равен значению prifitessss, то все позиции будут закрыты.
CloseLossЗакрытие позиций по общему убытку.
True – включить,
False – выключить.
lossssКоличество единиц (долларов, пунктов или процентов) для закрытия.
Если общий убыток по позициям валютной пары больше или равен значению lossss, то все позиции будут закрыты.
TrailOptionsВы можете включить трейлинг общего профита при достижении значения prifitessss единиц.
Эта опция задает расстояние от параметра prifitessss, на котором активируется трейлинг профита.

Пример:
prifitessss = $100 (валюта депозита) и TrailOptions = $10, тогда, когда позиции достигнут прибыли в $100, советник не закроет их, а установит уровень профита на $90.
Если прибыль возрастет до $101, то уровень профита будет установлен на $91. Если прибыль уменьшится до $91, все позиции будут закрыты на этом уровне.
TrailOptionsStepШаг увеличения фиксированного уровня профита.
BalanceStartНачальный баланс, от которого будет рассчитываться процент от баланса.
Если значение равно 0, то будет установлен текущий баланс счета.
ForcedCloseПринудительное закрытие всех позиций (сделок) после достижения цены общего профита или убытка.
MailSendОтправить уведомление по электронной почте при закрытии позиций (сделок) по общему профиту или убытку.
OrderdeleteУдалить отложенные ордера при закрытии позиций (сделок) по общему профиту или убытку.
OFFAfterClosePROFОтключить советника (EA) после закрытия по общему профиту.
Советник остановит свою работу и не будет открывать новые позиции (сделки) и ордера.
OFFAfterCloseLOSSОтключить советника (EA) после закрытия по общему убытку.
Советник остановит свою работу и не будет открывать новые позиции (сделки) и ордера.
CloseTerminalAfterClosePROFЗакрыть терминал после закрытия по общему профиту.
CloseTerminalAfterCloseLOSSЗакрыть терминал после закрытия по общему убытку.

Ограничение убытков и профитов


Ограничение убытков и профитов за определенный период: день/неделя/месяц.
Ограничение убытков и прибыли
Ограничение убытков и прибыли на определенный период. Ограничение убытков и прибыли для 1 дня/недели/месяца.
Limiting LimitFor – Тип лимита: день/неделя/месяц;
LimitForLosses – Лимит на убытки;
LimitForProfits – Лимит на прибыль;
LimitType – Тип лимита: в долларах, пунктах или процентах от депозита;
ClosebyLIMITING – Закрыть сделки советника при превышении лимита;
UseCurrentProfit – Учитывать текущую прибыль/убыток при расчете лимита.
Эта функция может отключить работу советника, если советник получил определенную прибыль/убыток в валюте депозита за день/месяц/неделю.
Следующая работа советника начнется на следующий день, неделю или месяц.

Пример:
LimitFor = DAY, LimitForProfits = 1, LimitForProfits = 10 долларов.
Также можно выбрать LimitType для расчетов (в долларах, пунктах или процентах от баланса счета).
Если нужно закрыть и удалить все сделки советника при превышении лимитов, установите ClosebyLIMITING = true.
UseCurrentProfit – Включить/Отключить учет текущей плавающей прибыли/убытка для данного советника.
ClosebyLIMITINGЗакрыть сделки советника при превышении лимита.
UseCurrentProfitУчитывать текущий плавающий профит/убыток при расчете лимита.
LimitForLossesЛимит убытков за установленный период. Если этот лимит превышен, советник прекратит торги до следующего периода.
LimitForProfitsЛимит прибыли за установленный период. Когда эта прибыль достигнута, советник прекратит торговлю до следующего периода.

Опции контроля просадки


Блок управления открытием позиций при просадке


DrawDown_Level – включить блок контроля просадки;
Type_DrawDownHR – тип расчета просадки на основе сделок в истории и текущих сделок;
DrawDown_Level_One – первый уровень просадки в процентах;
Type_Deal_Level_One – действие при достижении первого уровня просадки (отключить новые сигналы, отключить усреднение сделок или дополнительное открытие, закрыть все сделки);
DrawDown_Level_Two – второй уровень просадки в процентах;
Type_Deal_Level_Two – действие при достижении второго уровня просадки (закрыть все прибыльные позиции, закрыть все убыточные позиции, закрыть все);


Пример:

DrawDown_Level = true,

DrawDown_Level_One = 50,

Type_Deal_Level_One = No_NewDeal,

DrawDown_Level_Two = 90,

Type_Deal_Level_Two = Close_All.


С этими настройками, как только текущая просадка по сделкам в истории и текущим сделкам превышает уровень 50% от текущего депозита, советник не может открывать новые сделки по новым сигналам.
При этом функции усреднения будут работать.


Когда просадка превышает 90%, советник немедленно закрывает все сделки.
   

Виртуальное Вывод средств



Инструмент виртуального вывода используется в тестировании стратегии для имитации работы с депозитом (пополнение депозита, вывод средств).
Добавлен виртуальный вывод средств в тестере:


Withdrawal – Включить виртуальный вывод средств при тестировании в тестере стратегий;
Withdrawal_mode – режим вывода, в валюте депозита или в процентах от текущего баланса (валюта/процент);
Withdrawal_amount – Количество выводов;
Withdrawal_periodicity_days – Периодичность вывода в днях;
Withdrawal_Max – Максимальная сумма вывода;
Withdrawal_EndOfTest – Вывод средств после завершения тестирования;

OnTester_Custom

   
В блоке тестера добавлена переменная OnTester_Custom_max, в которую можно записать свой критерий генетической оптимизации.
Подробнее о результатах теста:   Статистика
Запись в виде формулы.
Например :
OnTester_Custom_max = “STAT_PROFIT * STAT_TRADES / STAT_EQUITY_DD”
Обязательно указывать названия переменных, как в справочнике!


Вы можете задать минимальные значения, при которых оптимизация будет учитывать результат во время генетического перебора!
Другими словами, вы можете задать условие: “минимальное количество сделок” (или другие параметры),
при которых данный прогон будет засчитан как результат.
Если во время отбора советник откроет меньше сделок, чем указано в настройках, то этот прогон оптимизатора не будет засчитан как результат!
–Внимание! Только для опытных пользователей.
OnTester_Min_Trades = 0; // Минимальное количество сделок для оптимизации
OnTester_Min_Profit = 0; // Минимальная прибыль для оптимизации
OnTester_Min_ProfitFactor = 0; // Минимальный коэффициент прибыли для оптимизации
OnTester_Min_Balance = 0; // Минимальный баланс для оптимизации
OnTester_Min_Equity = 0; // Минимальная собственность для оптимизации
OnTester_Max_Balance_DD = 0; // Максимальная просадка баланса для оптимизации в процентах
OnTester_Max_Equity_DD = 0; // Максимальная просадка капитала для оптимизации в процентах
Подробное руководство пользователя по этому
Наши общие часто задаваемые вопросы

FAQ Ответы на самые популярные вопросы

FAQ xCustomEA

Какой индикатор мне использовать?

Какой фильтр подойдет к моему индикатору?

Где найти хороший индикатор?

Вы можете создать мне стратегию?

Вы программируете на заказ?

Здравствуйте.
Я попытаюсь ответить на Ваш комментарий более подробно:

12 лет назад я стал заниматься программированием на заказ.
Мне заказчики присылали техническое задание и я программировал советника по этому заданию .
Я выполнил очень много заказов по программированию.
Очень много заказов были похожи друг на друга.
С одними и теми же функциями работы.
И потом мне надоело программировать потому, что каждое задание похоже на предыдущее.
Поэтому я сделал этот советник xCustomEA , чтобы пользователи сами его настраивали.
И Самым главным правилом здесь есть то, что советник без стратегии торговли.
 Он чистый.
И его главная функция – это торговля по Вашим индикаторам. Он торгует По вашей стратегии.

У меня нет каких-то определенных индикаторов-фильтров, которые будут фильтровать “все индикаторы с маркета“.
Почему я говорю “ВСЕ”?
Потому что это универсальный советник. У него нет стратегии. Он торгует по сигналам Вашего индикатора, того, который Вы запишите в его настройки.

Я отказался от программирования потому, что у меня нет больше сил на программирование на заказ.

Сейчас я программирую только свои утилиты и делаю свои программы для торговли.

Если Ваш индикатор, который дает сигналы , не достаточно прибыльный?

Значит нужно искать те индикаторы, которые будут прибыльные и будут давать свою прибыль, которая будет вас радовать.
У меня таких индикаторов нет.

Этот советник – это универсальный торговый советник, который торгует по Вашим индикаторам.

Это шаблон для робота.

В Видео я попытался объяснить самое главное, почему я создал эту программу.


Естественно, я буду отвечать на Ваши вопросы и постараюсь помочь Вам в программировании Ваших индикаторов.

В котором создаю стратегию по интересным индикаторам, которые предложили пользователи.


Но, пожалуйста, не задавайте мне вопрос про то, какой фильтр индикатор использовать для Вашего сигнала.
Я не знаю. Это Ваши сигналы. Я могу рассказать про функции своего советника. (Полное описание есть в блоге).
Я могу постараться помочь запрограммировать Вам Вашу стратегию.
Но если Вы хотите узнать мои сигналы, то лучше используйте мою стратегию TickSniper – Полностью автоматический торговый робот.

Какие значения используются в параметрах — в пунктах или пипсах?

Значения указаны в пунктах! Пункт определяется по значению переменной Point().

Если у вас брокер с 5 или 3 знаками после запятой, то 1 пункт = 0.00001 или 0.001.

Если у вас брокер с 4 или 2 знаками после запятой, то 1 пункт = 0.0001 или 0.01.

Вы вводите значение (в поле), которое вам необходимо для вашего конкретного брокера.

Существует множество споров о том, что считать пунктом и что пипсом.
У меня универсальные значения (Point = Pips).

Эти значения соответствуют значениям вашего брокера.

Есть ли у вас наборы и настройки для этого советника?

Нет, я создал этот советник как конструктор.

Этот советник требует вашей оптимизации, в соответствии с вашей стратегией и вашими возможностями, но с использованием наших функций.

More on Optimizing and Testing The X Advisor

Не хотите оптимизировать? Скачивайте мой советник для начинающих: Tick Hamster or TickSniper.

Почему результаты тестирования в терминалах MT4 и MT5 разные?

Потому что это разные терминалы с различной историей котировок и разными принципами работы тестера стратегий.

Какие настройки вы используете для вашего сигнала?

Настройки по умолчанию.
Я тестирую только корректность функций, а не прибыльность этого советника.

Почему?

Потому что этот советник был создан как конструктор, и каждый пользователь должен найти свою собственную стратегию.
Хотите мою стратегию? У меня уже есть настроенный автоматический торговый робот TickSniper. TickSniper already set up an automatic trading robot

Почему результаты с виртуальным StopLoss и реальным StopLoss сильно отличаются?

Виртуальный стоп-лосс не может получить ошибку модификации ордера из-за увеличения спреда, повышения уровня стопа или изменения котировок.

Он всегда модифицирует позицию на нужный уровень в любой ситуации.

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

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

Поэтому он может модифицировать позицию только до уровня, разрешенного сервером.

Из-за этого время закрытия позиций с виртуальными и реальными стоп-лоссами может значительно отличаться, что нарушает логику открытия и закрытия позиций.

Например, пока одна позиция открыта, вторая может не открываться.

Почему результаты новой версии и старой версии отличаются?

Мы обновляем нашу программу, чтобы исправить небольшие ошибки и улучшить функции.

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

Однако цель обновлений — устранение ошибок и улучшение функциональности.

Мы сожалеем, что результаты старой версии могут отличаться от результатов новой, но продолжим обновления программы в любом случае.

Хочу, чтобы вы внесли несколько изменений в советник.

Я добавляю новые функции только тогда, когда они будут полезны большинству пользователей системы.

К сожалению, я не могу программировать каждую функцию отдельно для каждого пользователя.

Я могу добавить несколько функций только в том случае, если вижу в них смысл. Извините.

Когда вы добавите больше индикаторов?

Я добавляю только те индикаторы, которые считаю необходимыми. К сожалению, я не могу добавить все индикаторы в советник, так как он уже насыщен внешними параметрами.

Эта функция не работает для меня!

Я смогу вам помочь, только если вы предоставите полный отчет об ошибках. full report on errors

Могу ли я использовать Set файл с настройками советника между терминалами MT4 и MT5?

Почему настройки из MT5 не работают в MT4?

Да, вы можете использовать файлы SET с настройками между двумя терминалами. Все переменные одинаковы.

Но есть одна проблема:

Терминал MT5 работает с любым кодированием, а MT4 — только с текстом в кодировке ANSI.

Поэтому файл с настройками, сохраненный в терминале MetaTrader 5, не будет открыт в терминале MetaTrader 4.

Чтобы файл с настройками из терминала MT5 загрузился в терминале MT4, вам нужно открыть этот Set файл и сохранить его в кодировке ANSI.

4o

Changelog xCustomEA

Version 24.934 2024.10.04

Fixed a bug in the parameters:
input double AdditionalLots=0; //AdditionalLots –> Additional lot for each new Signal
input double CoeficienteLots=1; //CoeficienteLots –> Coeficiente lot for each new Signal

At the first launch and in the absence of open transactions – Expert Advisor set the minimum lot. – Fixed.

Version 24.918 2024.09.18

EAPADPRO v59

–Enhanced Graphical Interface Translation

We have completely revamped and updated the translations across all elements of the graphical interface. This ensures a more accurate and natural localization, allowing the interface to better reflect the linguistic and cultural nuances of our diverse user base. As a result, interacting with the application is now even more seamless and intuitive, providing a more personalized and comfortable user experience.

–Introduced Informative Tooltips for Panel Elements

To elevate user convenience, we’ve added descriptive tooltips to various panel components. When you hover over buttons and icons, informative explanations about each element’s functionality will appear instantly. This enhancement significantly simplifies navigation and interaction within the application, making it easier for both new and experienced users to utilize all features effectively.

–Resolved Minor Bugs and Boosted Stability

In this update, we’ve addressed and fixed several minor bugs that were affecting the application’s performance. These corrections enhance the overall stability and reliability of the program, ensuring a smoother and more consistent user experience. By eliminating these small issues, we’ve laid the groundwork for a more robust and efficient application.

Version 24.805 2024.08.05

Last build compilation MetaTrader
Fixed error in profit/price/time of closed position in notifications.
Fixed INFOBOX error when deleting the EAPADPRO window.
EAPADPRO v58

Version 24.728 2024.07.29

EAPADPRO v57
Compiled in the last version of MT4

Version 24.404 2024.04.04

Global Update EAPADPRO v55

Attention! Support of visual Graph Elements (Buttons, input line, Edit Box, CheckBox) is no longer supported by VPS server from MetaQuotes!!!!

 

Added: information about profit from closed positions to the chart.

The information is displayed for each bar of the current timeframe.

You can change the timeframe to see the result of trading on a certain bar of the current timeframe.

If several positions/deals are closed on one bar of the current timeframe, the trading result is summarized, and the total information for a certain bar is displayed.

The information is updated when the next position/deal is closed.

You can turn off showing history in the panel settings.

EA xCustomEA: Universal Trading Advisor for iCustom Indicators - Image 60

===========================================================================================

Added: The status of the Expert Advisor operation if it was launched on the server from “VPS MQL MetaQuotes”.

When Expert Advisor is running on the server from MetaQuotes, a message will be created on the home computer that Expert Advisors are running on the server “VPS MQL MetaQuotes”. The smiley face is blue.

Attention: If an Expert Advisor is launched on both the server and the home computer, it can trade in parallel on 2 terminals (server “VPS MQL MetaQuotes” + home computer); there may be conflicts.

Attention: If the Expert Advisor is launched on the server “VPS MQL MetaQuotes”, do not Turn it on work on the home computer to avoid conflicts.

Frequency of polling the status of work on the server = 1 day.

After deinitialization of the Expert Advisor on the server – It will get the status – stopped.

To test the work on the server from “VPS MQL MetaQuotes”, pending orders are created!

EA xCustomEA: Universal Trading Advisor for iCustom Indicators - Image 61

===========================================================================================

Added: The error status of the Expert Advisor operation can now be read on the EAPADPRO panel.

You can click on the Smile or the Expert Advisor operation status bar and you will be shown a message about current errors of Expert Advisor operation.

If you click on the Smile button on the panel, you will be shown the causes and errors and their solutions with pictures.

EA xCustomEA: Universal Trading Advisor for iCustom Indicators - Image 62

===========================================================================================

Added: Notification of errors and opening/closing of trades to the chart in the form of InfoBox.

Notification is shown for 4 types:

—Opening a new trade;

—Closing a deal;

—Modification of a trade;

—Error received by Expert Advisor from the server;

In the EAPADPRO panel settings, you can turn on or off the notification type you need.

Notifications can be viewed as they arrive in the notification queue.

Notifications are accumulated in a data array each time you install/reinstall/change Expert Advisor settings.

In the EAPADPRO header you can also enable disable INFOBOX.

EA xCustomEA: Universal Trading Advisor for iCustom Indicators - Image 63

===========================================================================================

Added: Working with Telegram (Beta version)

For Expert Advisor to work with the Telegram bot, you need to set up the bot on your phone and create a “public” or “private” channel.

To receive notifications from your account, you need to assign your bot as an administrator of your “public” or “private” channel.

Attention! Sending notifications and working with commands takes computer resources! Use the Telegram bot only for your own needs.

How To set Telegram bot:

New settings for working with Telegram:

EAPadPRO2=” =============== Telegram bot “;

==input ENUM_UPDATE_MODE TG_UpdateMode=UPDATE_SLOW –> Update Mode. Timer speed, to receive commands from Telegram bot. The faster the timer runs, the more computer resources will be used! Please do not change it unnecessarily. 2sec,3sec,10sec

==TG_PRIORITY=TG_HOME_VPS –> Priority of work. This is the priority mode when the Telegram bot works on the MetaQuotes VPS server and your home computer.

TG_HOME_ONLY=1, // Only the HOME bot. The Telegram bot works only on the home computer.

TG_VPS_ONLY=2, // Only the VPS bot. The Telegram bot works only on the MetaQuotes VPS server.

TG_VPS_HOME=3, // First VPS bot, second HOME bot. The Telegram bot works on the MetaQuotes VPS server if you upload it to the server. If not, it will work on your home terminal. Check the work on the VPS server every 10 minutes.

TG_HOME_VPS=4, // First HOME bot, second VPS bot. The Telegram bot works on a home computer, but if the home computer/terminal is turned off, it will work on the VPS server from MetaQuotes. Check the VPS server’s work every 10 minutes.

Attention! Screenshots are not available on the VPS server from MetaQuotes!

==TG_Token=”” –> Token bot. Token (unique code) of the bot that will send notifications and receive commands

==TG_ChannelName=”” –> –> Public Channel Name @. Or “private” ID starts -100 of the private channel. That will send notifications about opening/closing/modification/errors and screenshots from the terminal.

==TG_UserNameFilter=”” –> Whitelist Usernames. List of users, starting with @, who can use the bot.

Attention! Sending notifications and working with commands takes computer resources! Use the Telegram bot only for your own needs.

==TG_UseBotTimer=false;//TG_UseBotTimer –> Working with the bot from the phone

New notification type added to EAPADPRO panel settings:

==Notice Open TG – Send a notification to the Telegram channel if a trade is open;

==Notice Close TG – Send a notification to the Telegram channel if a trade is closed;

==Notice Modify TG – Send a notification to the Telegram channel if a trade is modified;

==Notice Error TG – Send a notification to the Telegram channel if an error is received;

==ScreenShot TG – Send a screenshot to the Telegram channel if a trade is opened or closed;

Attention! This is a beta version of working with the Telegram bot. We are working on improving and adding new features.

If you have any suggestions, please write in the “Comments” section.

EA xCustomEA: Universal Trading Advisor for iCustom Indicators - Image 64

===========================================================================================

Improvement: Code optimization to increase speed.

Improvement: The speed of the panel update in the strategy tester is now calculated automatically depending on the speed of quotes arrival.

This is done to increase the speed of the program in the strategy tester.

Information update is now equal to 1 real second.

Improvement: The speed of the program running EAPADPRO in the strategy tester.

Attention! Events in the strategy tester are processed only when a new tick is created.

If a new tick (minimum price movement) is not created, then the panel waits for the next tick.

With Visualization:

Version 48: 390sec (TickSniper 2024-2024)

Version 55: 244sec >>159% (TickSniper 2024-2024)

w/o Visualization:

Version 48: 363sec (TickSniper 2020-2024)

Version 55: 220sec >>165% (TickSniper 2020-2024)

with Visualization:

Version 48: 15750sec (TickSniper 2020-2024)

Version 55: 6220sec >>253% (TickSniper 2020-2024)

Improvement: The color of the button to close a position on the chart changes depending on the current profit of this position.

Improvement: Graphic improvements to optimize the Expert Advisor’s performance

Improvement: The account deposit Symbol is cent ¢, USD $, or eur €. All others are the first letter of the deposit currency name.

Improvement: When visual testing is completed, objects are not removed from the graph.

Improvement: When creating screenshots after opening/closing positions, the EAPAPDPRO Control Panel will be expanded to show full information.

This is done in order to study the trading history of Expert Advisor on the visualization graph after testing is completed.

Fixed: Managing positions and orders from the chart when the panel is minimized.

Fixed: Corrected the error of clearing the chart from unused order labels.

Fixed: AutoSize when switching charts.

Fixed: Drawing errors to Print when the Expert Advisor runs on “VPS MQL MetaQuotes”

 

 

Version 24.126 2024.01.26

EAPADPRO v47
DynamicLot for Non-Currency Symbols fixed

New inputs:
Commission_Coefficient –> Commission coefficient (default 2)
DynamicLotStopLoss –> The calculation lot from StopLoss and free margin

Version 23.913 2023.09.19

-EAPADPRO v44
——————————
-Last Build Compilation

Version 23.101 2023.01.08

-EAPADPRO v43 (Added new languages)
-Last Build Compilation

Version 22.130 2022.01.30

Обновление индикатора ZigZag

Version 22.110 2022.01.12

Fixed a bug with drawing objects for new versions of MT5 terminal

Version 21.971 2021.11.10

Update EAPADPRO

Version 21.958 2021.10.28

-EAPADPRO v42 (Added new languages, Added Auto-pause when opening a new bar in the Strategy Tester)
-MT5:
Added the type of indicator signals (xColorArrow with 1 Buffer and 2 colors), for which the signal arrows have 2 different colors (DRAW_COLOR_ARROW)
When using the xColorArrow signal type, you need to set the following values:
SignalBuferforBUY = Buffer number for arrows (Check with the author) or by empirically calculating this buffer number.
SignalBuferforSELL = The number of the color buffer for these arrows (Check with the author), usually following the arrow buffer.
Attention! This type supports 2 colors, where:
0 (the first color of the arrow) is a signal to open a BUY;
1 (the first color of the arrow) is a signal to open SELL;
If your indicator has these colors reversed, then you can additionally use the Signal_Reverse parameter
For more information, we have made an example of using such an indicator with a DRAW_COLOR_ARROW buffer!
An example of using: https://www.mql5.com/ru/market/product/32116#!tab=comments&page=13&comment=25503972

Version 21.953 2021.10.23

-Модернизация сигнала от xArrow для некоторых индикаторов.

Version 21.923 2021.09.24

Recompiling in the latest version of the terminal

Version 21.904 2021.09.04

Recompiled in the latest version of the MetaTrader terminal

Version 21.813 2021.08.13

–Global update of The xCustomEA!
In the block for selecting the type of signal / filter SignalTypeIndicator / FilterTypeIndicator:
Added signals and filters for standard indicators from our Expert Advisor The X!
$$$ THE X MT4: https://www.mql5.com/en/market/product/11536
$$$ THE X MT5: https://www.mql5.com/en/market/product/1230
All 20 standard signals and filters have been added as the main signal / Filter / Signal to close positions!
You can use the standard indicator signals and filters from our The X along with your custom indicator signals.
This means that you can filter custom indicator signals from the market or the Internet using our standard filters.
And also use our standard strategies from The X as the main signal and apply a custom indicator as a filter!
A description of each signal and filter can be found in the user manual for The X: https://www.mql5.com/en/blogs/post/680043
Attention: when you select Standard Indicators, the SignalNameIndicator / SIGNALStrategyInputs / SignalBuferforBUY / SignalBuferforSELL fields do not work!
Attention: when you select Standard Indicators, the FilterNameIndicator / FilterStrategyInputs / FilterBuferforBUY / FilterBuferforSELL fields do not work!

– Added the TrailingStart = Starting point for the start of the Trailing function to the Trailingstop block.
The Expert Advisor will turn on the TrailingStop function when the position gains TrailingStart profit points.
If TrailingStart = 0 then TrailingStart = TrailingStop !!!

Version 21.724 2021.07.24

Added handling of SIGNALStrategyInputs settings for .wav and .bmp files

Version 21.616 2021.06.16

Update for Update

Version 21.612 2021.06.12

EAPADPRO v40 update, according to the new rules for using the MQL5 Market

Version 21.527 2021.05.27

Исправлена работа ClosePositionifChangeOWNSignal = OnlyIfProfit при работе с TypeTradeBUYSELL = Only Sell

Version 21.520 2021.05.21

A new parameter has been added to the “Averaging” block:

— CloseFirstAfterMaxAverage – Close the first averaging deal (the very first of the currently open averaging deals),

when the advisor has opened the maximum number of deals with the MaxOrdersOpen parameter.

If you want to keep a fixed number of Averager grid items (e.g. 5 grid items),

the smallest element must be closed with a loss when the 6th element is opened.

For example:

CloseFirstAfterMaxAverage = false MaxOrdersOpen = 5:

If the EA opens the maximum number of averaging deals, which is set by MaxOrdersOpen = 5,

then the next averaging deal cannot be opened.

CloseFirstAfterMaxAverage = true MaxOrdersOpen = 5:

If the EA opens the maximum number of averaging deals, which is set by MaxOrdersOpen = 5,

then the first averaging trade is closed and the next trade is opened.

================================================== ================================================== ======================

– A new parameter has been added to the “Additional opening” block:

— CloseFirstAfterMaxAdd – Close the first additional opening deal along the trend (the very first of the current open deals),

when the EA opened the maximum number of deals with the MaxOrdersOpenAdditionalOpening parameter.

Same as CloseFirstAfterMaxAverage Paramter.

Version 21.517 2021.05.17

— EAPADPRO v39

— Added custom optimization criteria in genetic mode when choosing the Custom Max optimization mode.
You can set the minimum values ??at which the optimization will take into account the result during genetic enumeration!

In other words: You can set a condition: “the minimum number of deals” (or other parameters),
upon which this run will be counted as a result.

If during selection the advisor opens fewer deals than specified in the settings, then this run of the optimizer will not be counted as a result!

–Attention! For advanced users only.

OnTester_Min_Trades = 0; // Min Deals for optimization
OnTester_Min_Profit = 0; // Min Profit for optimization
OnTester_Min_ProfitFactor = 0; // Min ProfitFactor for optimization
OnTester_Min_Balance = 0; // Min Balance for optimization
OnTester_Min_Equity = 0; // Min Equity for optimization
OnTester_Max_Balance_DD = 0; // Max Balance DD% for optimization
OnTester_Max_Equity_DD = 0; // Max Equity DD% for optimization

– You can find a detailed description of this block of settings in the user manual!

Version 21.425 2021.04.25

Work with the StopTrading button has been modernized. Fixed a bug with random permission of signals to open positions when minimizing the panel.

Version 21.313 2021.03.13

EAPADPRO v38
–Fixed the main signal reversal error when using the Signal_Reverse (true) and ClosePositionifChangeOWNSignal (OnyProfit) functions.

Version 21.216 2021.02.16

Added new parameters of Lots when opening a position by signals:
AdditionalLots – An additional lot that will be added to each new deal based on a new signal
CoeficienteLots – Lot coefficient, by which the lot will be multiplied for each new deal on a new signal
(When the advisor is allowed to open more than one position for each signal ONlyOnePosbySignal = false / OnePosPerDirection = false)

Version 20.731 2020.07.31

MT5: Fixed the conflict of the Additional Opening when using a common stop loss (StopLossALL) and a common trailing stop.

Version 20.608 2020.06.08

Компиляция 2485

Version 20.220 2020.02.19

Dear friends!
We made a very important and difficult decision regarding The X/The xCustomEA for MetaTrader 5 and the use of the multi-currency mode (PAIR1-PAIR12)
Due to the fact that the use of different methods of multi-currency operation does not bring 100% accuracy in obtaining quotes,
we were forced to turn off this mode.
We explored many topics on the forum about the problem of using multi-currency mode in MetaTrader!
Each method of implementing a multi-currency trading mode has its pros and cons!
But in each of these methods there are Cons: Reward resources on computers, skipping ticks, looping the main trade flow.
We made the decision: Remove the multi-currency trading algorithm in The X/The xCustomEA to eliminate trading problems on real charts!
We apologize for any inconvenience caused.

IMPORTANT: As soon as we find the ideal solution for working in multi-currency mode (PAIR1-PAIR12) we will turn on these parameters again, for the convenience of taming and optimization.
IMPORTANT: On a real chart, I recommend installing an adviser on each chart of a currency pair separately from each other (do not use PAIR1-PAIR12)

Version 20.216 2020.02.16

Forced modifying comment length CommentToOrder up to 12 characters!
If the comment is longer than 12 characters, then the advisor will trim the extra characters.
Attention! For the EA to work correctly, set a comment no longer than 12 characters.
eg:
Right: ExpforexTheX
Not Right: Expforex The X Set # 12345

Version 20.212 2020.02.12

– EAPADPRO v35
– Fixed the Work on time error if the advisor TF is greater than the Minutes of the time function.
(For example, closing at 22:49 and TF = H1)

Version 19.994 2019.12.05

Added parameter Send_Push_without_opening_positions:
Sending PUSH notifications to the phone instead of opening positions!
When this parameter is enabled, the adviser will not open a new position on a signal, but only notify the user that
that a new signal has appeared. At the same time, all other functions will work as usual.
Allows the user to open a position on their own if the EA gives a signal.
But the adviser does not make this transaction and does not open a position, but only notifies the user about the signal.

Version 19.905 2019.09.05

Исправлена ошибка алертов при открытии и закрытии позиций.

Version 19.903 2019.09.03

IfProfTrail:
– if true, the Advisor starts the modification only when the position is gaining profit to Breakeven (setting stop loss on the break-even point) + TrailingStop profit points.
– if false – TrailingStop starts working immediately after opening a position and making a profit of 0 points and leaving a position as a profit.
In other words: IfProfTrail = false, then the trailing stop starts working immediately after the position is in profit.

Version 19.820 2019.08.20

-. Alert has been added if the specified indicator is not found!
The adviser will check the existence of the indicator and give a message stating that the indicator was not found with a request to check the correctness of the name!

1. Function ControlNewBarforSIGNAL Changed:
Added values:
ControlNewBarforSIGNALType = 1 = True smallest TF of the settings: New mode!
The EA selects the smallest TimeFrame, which was set by the parameters TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2 ….
In this mode, the EA does not check the signal on the currently set TimeFrame, but on the TimeFrame for receiving a signal from indicators!
This mode is useful for those who use TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2, other than Current.
ControlNewBarforSIGNALType = 2 = True current bar of the current TF: Old mode!
In this mode, the EA checks signals every new bar of the current TimeFrame!
If you use TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2 other than Current, the results on each TimeFrame may be different.
We advise you to install the adviser on the TimeFrame M1!
ControlNewBarforSIGNALType = 1 = False: Do not use the control of the new bar to determine the signal!
Attention: When off, the EA checks signals every new tick! There may be delays in tapping and optimization!

2. Added variable ControlNewBarforOpenbySignal:
ControlNewBarforOpenbySignal = true: Old mode! Open positions on a signal only every new current bar of the current TimeFrame!
The EA opens positions, if there is a signal, only when a new bar of the current TimeFrame arrives!
ControlNewBarforOpenbySignal = false: New mode! Open positions on a signal every new bar from the signal Timeframe!
The EA opens positions, if there is a signal, immediately upon detection of a signal.
This mode is useful for those who use TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2, other than Current.

Version 19.816 2019.08.17

Fixed bug:
When two different directions BUY and SELL are in operation and averaging works, then BUY does not allow to modify the take profit for SELL positions!

Version 19.814 2019.08.14

Update Update

Version 19.808 2019.08.07

Added DistanceMartinAdditional – Coefficient of distance for additional order opening.
Added MinTimebeforenextAverage – Minimum time to the next averaging in minutes.

Code optimization, increased testing speed and optimization.
Starting the calculation of the average spread only when the user uses at least one parameter for the average spread.

EAPADPRO v31.

Version 19.525 2019.05.25

Added function to check different take profit for the averaging function.
If the positions have a different take profit, then the expert sets a single total take profit.

Version 19.517 2019.05.17

Forced modification only when stop loss = 0 or take profit = 0

Version 19.514 2019.05.16

Fixed double opening of averaging deals on accounts with MARKET execution.

Version 19.123 2019.01.23

Indicator example file updated! + StrategyShift removed from indicator file !!!
Added operation mode for the current zero bar(Shift=0)!
Attention! The current bar only forms a signal, so we do not recommend using Bar # 0(Shift=0) to receive signals!
Attention! Some indicators forcibly do not draw a signal at 0 bar! – It is right. Therefore, the adviser will not open positions using Shift = 0.

Version 19.111 2019.01.10

The SaveTPafterTrailingStop function has been updated to work in virtual stop loss / take profit mode with VirtualStops = true

Version 19.110 2019.01.10

ReloadReload

Version 19.107 2019.01.07

– The ClosePositionifChangeOWNSignal parameter is divided into 3 values: False (disabled), True (enabled), OnlyifProfit (Only if the positions are in profit);
– EAPADPRO v25 update
– Additional languages added to the panel: Spanish, Portuguese (Brazil), German, Chinese, Japanese;
The translation was made using the GOOGLE Translator + MQL + Terminal site!
If you find an error in your language, please report it in messages. Thank!
– Increase the speed of the panel;

Version 19.0 2018.12.29

Fix Fix Fix

Version 18.999 2018.12.28

– Optimization of the code, increasing the speed of testing.
– When you first start the advisor, an indicator template file is created for programming your strategy.
A file is created in your terminal Files folder with name “Ind – The xCustomEA TEMPLATE.mq*”
You can open this file and follow the programming instructions of your custom strategy.

Version 18.998 2018.12.28

– Optimization of the code, increasing the speed of testing.

Version 18.992 2018.12.23

– The ability to specify and fill in external variables (which can be configured from the advisor) has been added to the xCustom signal type
SIGNALStrategyInputs, CloseStrategyInputs, FILTERStrategyInputs can now be used with indicators written in our example (xCustomEA)
– In connection with the update of the sample files and our custom indicator Ind – The xCustomEA TEMPLATE, we updated all the variables of the adviser and added an additional type: to the SLTPTypeIndicator type xCustomEA, to call from our example indicator.
Also added is the variable SLTP_IndSigToSlTp to specify the strategy number in the Ind file – The xCustomEA TEMPLATE

Version 18.988 2018.12.10

– Fixed bugs according to user messages
– Reworked system for receiving signals
– Modified indicator indicator files for receiving signals for the operation of new functions and blocks! Be attentive!
================================================= ===============================
– Update EAPADPRO to version 23:
Added controls for speed testing and pause in the strategy tester;
Added a table of current open positions in the strategy tester;
================================================= ===============================

– Added block control signal closure for custom indicator.
This block allows you to close open positions by signals of a custom indicator.
It is used if a custom indicator provides signals for closing positions (separately from the signals for opening a new position).
If you need to tell the adviser signals to close positions, then you need to specify: the indicator name (may be identical with the indicator name for closing positions), a set of parameters (If they differ from the default indicator parameters), TimeFrame, Bar Shift, and number buffers to receive signals for closing. Separately for BUY and SELL positions.
Attention: If you want to close a position when receiving the opposite signals, then you do not need to use this block.

– External parameters Signal for Close options:

CloseNameIndicator = “”; // CloseNameIndicator -> Indicator name to get the signal to close pos
CloseTypeIndicator = xArrow; // CloseTypeIndicator -> Type of indicator signal to close
CloseTimeFrame = PERIOD_CURRENT; // CloseTimeFrame -> TimeFrame of signal to close
Close_shift = 1; // Close_shift -> Bar number to receive signal to close
CloseStrategyInputs = “”; // CloseStrategyInputs -> Inputs Of Ind, separated by commas
CloseBuferforBUY = 4; // CloseBuferforBUY -> Buffer number for close BUY
CloseBuferforSELL = 5; // CloseBuferforSELL -> Buffer number for close SELL
Close_IndSigToClose = 0; // Close_IndSigToClose -> Indicator number to get Close signal
================================================= ===============================

– Added Stop Loss and Take Profit control unit based on custom indicator signals.
This block allows you to set a stop loss or take profit when opening positions on the signal, which can be taken from the values ​​of the custom indicator buffers.
If the Custom Indicator has separate buffers for getting Stop Loss or Take Profit, you can use these values ​​when opening a new position.

Attention: Stoploss or take profit is set only when a new position is opened using a new signal. The functions of averaging, additional opening use the parameters of stop loss and take profit from past variables. Stoploss and take profit obtained from the custom indicator in Averaging and additional opening are not accepted.
Stop loss and take profit from a custom indicator is also set when using the ForcedModifySLTP function.

If you need to tell the adviser the stop loss and take profit values ​​from the custom indicator, then you need to specify: the indicator name
(may be identical with the name of the indicator for opening / closing positions), a set of parameters (If they differ from the parameters of the indicator by
default), TimeFrame, Shift bar, and the number of buffers to get values. Separately for BUY and SELL positions and separately for StopLoss and TakeProfit.

– External parameters Custom StopLoss and TakeProfit from Indicators options:

SLTPNameIndicator = “”; // SLTPNameIndicator -> Indicator name to get the signal of SL / TP
SLTPTypeIndicator = xPrice; // SLTPTypeIndicator -> Type of indicator signal of SL / TP
SLTPTimeFrame = PERIOD_CURRENT; // SLTPTimeFrame -> TimeFrame of signal of SL / TP
SLTP_shift = 1; // SLTP_shift -> Bar number to receive signal of SL / TP
SLTPStrategyInputs = “”; // SLTPStrategyInputs -> Inputs of the ind, separated by commas
SLTPBuferforBUY_StopLoss = -1; // SLTPBuferforBUY_StopLoss -> Buffer number of SL for BUY
SLTPBuferforSELL_StopLoss = -1; // SLTPBuferforSELL_StopLoss -> Buffer number of SL for SELL
SLTPBuferforBUY_TakeProfit = -1; // SLTPBuferforBUY_TakeProfit -> Buffer number of TP for BUY
SLTPBuferforSELL_TakeProfit = -1; // SLTPBuferforSELL_TakeProfit -> Buffer number of TP for SELL
================================================= ===============================

Version 18.970 2018.11.10

– Global update and improvement of the working code.
-Add EAPADPRO v21 panel
-Add short hints to external variables
-Add parameters for calling indicators SIGNALStrategyInputs, for indicators with the type SignalTypeIndicator = xArrow
Read more in our blog.

Reviews about xCustomEA

Atila R Akdeniz

⭐⭐⭐⭐⭐


Atila R Akdeniz 2018.12.28 10:01
I just bought the EA. I have been using The X Universal for a long time now, with great results. This EA does everything TheX Universal does and much more, including integration of other EA's and signals and independent strategies etc. I guess there will be a little bit of a learning curve to understand its full functionality and use it to its full power. 5 stars for such an innovative product from a great designer.

ROBERT URBANSKI

⭐⭐⭐⭐⭐


ROBERT URBANSKI 2022.12.02 18:40
I rent this EA for one month for testing. I give 5 stars in begin for Suport. After month I will update info about EA but now I can tell. It have many interesting settings. I tried work with many custom indicator (not build). Works very impresive.

DadeSubandryo

⭐⭐⭐⭐⭐


DadeSubandryo 2022.09.04 12:56
Great support for consumers. still learning stage & EA started to work as i want. I will update the stars & comments if necessary. Thank you

189114nickynomates

⭐⭐⭐⭐⭐


189114nickynomates 2020.11.26 03:06
This has opened up a whole new world to my trading. The concept is pure brilliant. The forums very informative and you always get help to questions detailed in the correct way. The biggest gain I have received is widening my understanding of the scope that can be achieved in cleaver trading with this ea. Keep up the good work.

Sammy Boy

⭐⭐⭐⭐⭐


Sammy Boy 2020.10.28 12:00
Excellent EA. Vladislav has put in great effort to come up with such sophisticated EA

Pia Basson


Pia Basson 2022.08.23 18:17
I bought this EA hoping to convert my indicators into trading EAs. No luck, it does not work, and the instructions are incomplete and half translated from Russian , and when I requested support, I followed their instructions to provide full descriptions of problem together with screen shots, they then replied and wrote that they don't support this product - they don't support users to even get started or learn to make their software work - how useless. I strongly do not recommend this product. It shows promise but does not deliver. I am sure that just a proper user manual would solve this problem - I checked all their links, blogs, etc. I am now $129 out of pocket a week of time wasted trying to make it work.
Vladislav Andruschenko
Reply from developer Vladislav 2022.08.23 20:20
I don't have the technical ability to help. before buying, you can use the product for free. until we have peace, I cannot work. sorry.

Franco Alves

⭐⭐⭐⭐⭐


Franco Alves 2020.07.08 20:09
Very good!!

Stanimir Stanchev

⭐⭐⭐⭐⭐


Stanimir Stanchev 2020.06.29 09:55
I am using xCustomEA for two months and i am extreamly happy with it and the support i'd received from Vladislav. His Exp4 Tester PAD for Strategy Tester is also very useful when it comes to test a strategy in visual mode. My favorite developer as of now!

Valter Oliveira

⭐⭐⭐⭐⭐


Valter Oliveira 2020.06.01 01:09
Excellent product for implementing Expert Advisors (EA) using existing indicators in the MQL5 market. I thank the developer for making this tool available to us.

Hanxyork

⭐⭐⭐⭐⭐


Hanxyork 2020.01.31 03:00
I purchased the xCustomEA few days ago, Vladislav answered all my questions quickly, he is very professional, responsible, knowledgeable, honest and dedicated, he helped me to start up my xCustomEA in a VPS. I am buying more of his products, definitely. Thank you very much Vladislav.

Vasil lupanov

⭐⭐⭐⭐⭐


Vasil lupanov 2020.01.16 19:45
Friends, don't bother looking for experts and utilities. Look for Vladislav !!!! He has everything! Five gold stars for his products and 10 stars for him !!!

Victor Volovin

⭐⭐⭐⭐⭐


Victor Volovin 2019.12.23 11:52
Советник с неограниченными возможностями.

Mohamed Irushad Rasheed

⭐⭐⭐⭐⭐


Mohamed Irushad Rasheed 2019.10.14 22:54
looks promising . i will update the review after a month.

Al Bundy


Al Bundy 2021.08.14 09:26 ==================================================================================================================== ***** Very best EA on market. With new update, you are topping yourself :-)) ! Congratulations! I am very ambitious, but it's so rich with features for grid, averaging, ... I can only be satisfied. Technically I just have one wish: one (or a few) of parameters for custom indicators in separate fields, for iterations of strategy tester. (1. Field for custom indicator, 2. Replaces {with comma separated} custom parameter x) If I will be unsuccessful in trading, it is certainly not due to this advisor! Al Bundy
Update 3.4.2022 Zero stars Complete useless EA... Meanwhile I programmed my own EA and so I know, how easy my suggestions could have been implemented. The indicators are worthless, because no good parameters to set. Some are buggy. Even a single moving average trend filter is not possible to set. Update 18.11.2021 Issue 7 solved. Stars upgraded. My wish for hedging same pair in direction of trend is also obsolete. I studied the mathematical theory and it can gain nothing. (+1 -1 = 0) (+1 -1.1 = -0.1) == (+0 -0.1 = -0.1) but additional spread,slip,commission, lower equity, margin. This understanding has burst my illusion... ======================================================================= Update 17.11.2021 *---- Not one single issue is solved so long - very bad support. Mainly Gold for 10.000 sells - I'm so proud of you - this should only given for 10.000 succesful traders or solutions... Meanwhile my real account is 25% in draw down, because this expert has only very risky averaging martingale against the trend. EA can nothing do to solve this big issue! I have to solve it with another EA or manually. Shame it! Till there is no function for opening a position with the trend when reaching stop loss (instead of closing position), this EA is NOT to recommend. For instance ADX is not usable for me without two additional fields: 1. Time frame (I want to filter with W1) 2. ADX minimum level. The standard (25) is not good. Many thanks for your advise to use strategy tester with cloud network (in your manuals and web page of your expert advisor). There is no negative balance protection and this is not communicated. So my test run 45 minutes and I'm billed with $812,- I would like this advisor, but all these issues reduces my score again. Maybe eventually I get support or this EA will be better, than I think of better rating again. I'm tired to read always why something doesn't work. Best regards ========================================================================================================== Update 14. Oct 2021 ***-- Next star is gone, because an EA without a good indicator is useless... It seems, that many functions are not possible to function if one uses a custom indicator with this EA. See following issue number 7. Since it is not possible to optimize parameters (see 16) and others are too complex, it lacks of at least four major functions. So it seems better to use an EA with integrated indicator signals. ========================================================== 14.10.2021 Addition to issue 6. Sometimes the calculated values of my indicator are changed or not used. My indicator delivers stop loss. I check stop level but nonetheless xCustom uses SL=0 !!!!! This is a NO GO! Journal: 2021.10.14 22:01:12.612 2021.09.20 21:24:03 OPEN DEAL sy=EURUSD op=1 ll=0.16 sl=-1 tp=-1 But I have set an Indicator and a buffer number for stop loss! Issue 18. In strategy tester virtual stop loss doesn't work! ==================================================================================================================== 7.10.2021 BUMP - When are you willing to answer all my questions? Seems as there is no support... ==================================================================================================================== 2021-09-27 ****- Meanwhile there are several inconsistencies, which I recognized. It is possible, that the causes are elsewhere, but so long I can't find out. 5. I have written an indicator with arrow buffers, but not all arrows are caught - what can be wrong? (Some can bet got with OWNSIGNAL_shift=0!) 6. I deliver SL and TP, but they are sometimes not set. I have included spread and corrected the values against stoplevel. In journal there is no error. 7. With another indicator I use iCustom with a second indicator to convert non-arrow buffers to arrow buffers. My indicator receives the signal at bar 1. The bar number to receive the signal in xCustomEA can't be lower than 2 to get the signals - is this a fact? If so, double indis are not usable. 8. Some times there are errors related to the parameter without error number and metatrader freezes. They are gone if SignalStrategyInputs="". 9. in Strategy Tester visual mode it trades normal, in non visual I get a flat line. How comes? 10. If I set OnTester_custom_max = STAT_PROFIT_TRADES_PERCENT I always get 0. 11. I want to filter trades with FilterTypeIndicator = "Moving Average". If SMA200 goes up it should allow buy, if it goes down it should allow sell. Other should be prohibited. How can I do this? 12. I want the simplest setup: Indicator with up/down arrows, SL=50, TP=50, no other confounding factors. I couldn't find out since 3 months! Is this not possible? That just can't be true! 13. Documentation lacks at a few places - TrailingStart, standard indicators. 14. I can't find out how to set parameters so, that trailing starts at 0. It is too complex for me to understand MovingInWLUse + LevelWLoss + LevelProfit + TrailingStart + TrailingStep. There should be a few examples in documentation for different usage. I need 3 cases: Trailing starts at SL, Trailing starts at 0, Trailing starts at 50. Rest is ballasted. 15. I need a solution for stopping multiple consecutive stop losses like written before (2021-09-20)! 16. It is awfully well to make fields for parameters and to optimize them. I have written an EA with 60 int, 60 double and 60 bool parameters, which are compound to 60 and delivered to iCustom. They can be optimized. After 3 months 12 hours per day 7 times the week learning trading, learning MQL5, coding, testing, trying, I have no satisfying combination from bought or self made indicators with xCustomEA. Either no/poor profits or large draw downs. Maybe this is forex...   ================================================== 2021.09.20 00:10 #237 DE - copy from comments ***-- Hi, after heavy strategy testing I have a few wishes: 1. Your EA has "Open Opposite Position After Stop Loss" - I'm missing "Open Opposite Position After Close Pos If Change". 2. I can't get rid of cascades of Stop Loss losses (eg.: March 2020, Feb 2021, July 2021 , which egalize all previous profits. So I wish "Minutes Pause from Trading After (multiple/heavy) Stop Loss", to wait till the time of worst trading is over. 3. Withdrawal in tester: starting balance 1000. If balance greater than 1100 withdraw to 1000. I think this is how many trader are doing. 4. Don't trade during important news. I hope you can see the importance of these enhancements. Many thanks in advance BUMP, because of long time no response!
Vladislav Andruschenko
Reply from developer Vladislav 2021.11.18 15:38
Hello, thank you. Unfortunately this is not possible. Optimization of indicator parameters in the Expert Advisor is not available. Because the advisor does not initially know the number and type of parameters. Parameters are filled in as a string and passed as variables to the indicator. there are many nuances here. You're lying! I answer every question you have. First, you gave me 5, then you started to lower the grade for not answering you, but this is not true! I answer every question you have! https://www.mql5.com/en/market/product/32116#!tab=comments&page=13&comment=25238753 next Answer: https://www.mql5.com/ru/market/product/32116#!tab=comments&page=14&comment=25950119 next answer: https://www.mql5.com/en/market/product/32116#!tab=comments&page=13&comment=25822275

jewboy


jewboy 2019.07.22 17:50
i bought this EA yesterday and with the help of Vladislav, it is working smoothly. I will make it work on different fx pairs. Thanks again for your time Vladislav

talha8877

⭐⭐⭐⭐⭐


talha8877 2018.12.16 18:49
I was using The X Universal EA and it was great, but it was missing the ability to add custom indicators. Now the Author created this expert and it's possible to add those custom indicators or other Experts for signal triggers. It requires a bit more effort to learn how to integrate those additional functions but thankfully the author has very detailed documentation about the EA.

mckingwo

⭐⭐⭐⭐⭐


mckingwo 2018.11.27 09:31
This Ea is good !

Comments

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Extra

Navigation by tabs

Exp – TickSniper Автоматический советник для Metatrader. Тиковый скальпер

Exp – TickSniper Автоматический советник для Metatrader. Тиковый скальпер

Exp-TickSniper — быстрый тиковый скальпер, который автоматически подбирает параметры для каждой валютной пары отдельно. Советник разработан на основе опыта, накопленного за…

Этот пост также доступен на следующих языках: English Українська Portuguese Español Deutsch Chinese Русский Français Italiano Türkçe 日本語 한국어

This website uses cookies to improve your experience. By using this website you agree to our Data Protection Policy.
Read more