Главная
Каталог статей форекс
Наши советники и утилиты

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

starРейтинг: 5.0/27

date_range Добавлено: 20.09.2018

date_range Обновлено: 06.03.2019

remove_red_eyeПросмотров: 1900

dashboardКатегория: Наши советники и утилиты

historyИстория версий

merge_typeТип: Универсальный торговый советник, советники по стратегиям, советник по индикатору.

computerТерминал: МТ4 и МТ5

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


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

Описание

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  , Вы сможете программировать советники по индикаторам каждый день! 

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

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

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

 

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

Мы не будем останавливаться на подробном описании основных параметров советника потому, что 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

 

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

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

Параметр Описание
OWN Signal  options
SignalNameIndicator

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

По умолчанию: "Ind - The xCustomEA"

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

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

"Ind - The xCustomEA Example TheX"

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

Описание стандартных стратегий The X

The xCustomEA Примеры стратегий

SignalTypeIndicator

Тип индикатора для сигналов.

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

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;

 

IndSigToTrade

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

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

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

TF_IndSigToTrade1 Таймфрейм для 1 главного индикатора. Вы можете выбрать ТаймФрейм, по которому индикатор будет принимать сигналы. 
Period_Current - текущий Таймфрейм
SIGNALStrategyInputs

Внешние параметры для пользовательского индикатора, в режиме SignalTypeIndicator=xArrow  

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

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

Тип переменной Запись Важно Пример
int x  

1

10

777

double x.x Обязательно указание через точку .

0.2

1.10

string "x"

Обязательно указание строки (не цифры ), можно просто записать как "X"

Внимание! В версии для MetaTrader4 запрещено передавать строковые параметры! При передаче строковых параметров (string) индикатор может быть загружен неправильно!

"XXX"

"TEST SAME"

datetime D'year.month.day' Обязательно указание D и одинарных ковычек

D'2018.11.08'

D'2015.01.01'

color C'red/green/blue' Обязательно указание С и одинарных ковычек. Перечисление цвета через слэш /

C'0/128/128'

C'0/256/0'

например 

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; 

записывается как:

SIGNALStrategyInputs=1,2.0,C'0/128/0',"text ",D'2018.11.08',false

Signal_Reverse Переворачивать сигналы этого индикатора. Эта опция переворачивает сигналы только главного индикатора. 
ClosePositionifChangeOWNSignal  Включить \ Выключить закрытие позиций по обратному сигналу главного индикатора, без участия остальных фильтров и других параметров
OWNSIGNAL_shift Номер бара для сигнала, который будет генерировать индикатор,
1 = последний закрытый бар, сигналы на таком баре считаются завершенными. 
0 = Текущий открытый бар, сигналы на таком баре считаются рисующими. 
Подробнее о этом параметре: Подробная статья о сигнальных барах

SignalBuferforBUY

SignalBuferforSELL

Номер буфера в пользовательском индикаторе, для получения сигнала на BUY и SELL

Не изменять для Ind - The xCustomEA и Ind - The xCustomEA Example TheX

Close options  
  Данный блок позволяет закрывать открытые позиции по сигналам пользовательского индикатора. 
Используется в том случае, если пользовательский индикатор предоставляет сигналы на закрытие позиций (отдельно от сигналов открытия новой позиции). 
Если Вам необходимо указать советнику сигналы на закрытие позиций, тогда Вам нужно указать: имя индикатора (может быть идентичным с именем индикатора для закрытия позиций), набор параметров (Если они отличаются от параметров индикатора по умолчанию), ТаймФрейм, Сдвиг бара, а также номер буферов для получения сигналов на закрытие. Отдельно для BUY и SELL позиций. 
Внимание: Если Вы хотите закрывать позицию при получении противоположного сигналы, тогда Вам не нужно использовать этот блок. 
CloseNameIndicator

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

CloseTypeIndicator

Тип индикатора для сигналов.

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

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;
CloseTimeFrame  
Close_shift  
CloseStrategyInputs  
CloseBuferforBUY  
CloseBuferforSELL  
Close_IndSigToClose  
Filter  options
FilterNameIndicator

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

По умолчанию: "Ind - The xCustomEA"

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

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

"Ind - The xCustomEA Example TheX"

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

Описание стандартных стратегий The X

The xCustomEA Примеры стратегий

FilterTypeIndicator

Тип индикатора для фильтра.

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

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

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

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

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

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

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

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

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

Если IndSigToTrade задан 0 , тогда советник будет работать по фильтрам!

FILTER_TF_IndSigToTrade Таймфрейм для фильтра. Вы можете выбрать ТаймФрейм, по которому индикатор будет принимать сигналы фильтра. 
Period_Current - текущий Таймфрейм.
Например: При использовании МА как главного сигнала с ТФ = М30, Вы можете включить фильтрацию по старшему МА с ТФ=Н4
Filter_Reverse Переворачивать сигналы этого фильтра. Эта опция переворачивает сигналы только этого фильтра.
Например: Главный индикатор МА показывает BUY но старший индикатор МА показывает SELL, при использовании этой функции мы переворачиваем сигналы старшего МА и получаем совокупный сигнал BUY 
FILTERSIGNAL_shift Номер бара для сигнала, который будет генерировать индикатор,
1 = последний закрытый бар, сигналы на таком баре считаются завершенными. 
0 = Текущий открытый бар, сигналы на таком баре считаются рисующими. 
Подробнее о этом параметре: Подробная статья о сигнальных барах

FilterBuferforBUY

FilterBuferforSELL

Номер буфера в пользовательском индикаторе, для получения фильтра на BUY и SELL

Не изменять для Ind - The xCustomEA и Ind - The xCustomEA Example TheX

SLTP options  
  Данный блок позволяет устанавливать стоплосс или тейкпрофит при открытии позиций по сигналу, которые могут быть взяты из значений буферов пользовательского индикатора. 
Если у Пользовательского индикатора установлены отдельные буферы для получения стоплосса или тейкпрофита, Вы можете использовать эти значения при открытии новой позиции. 

Внимание: Стоплосс или тейкпрофит устанавливается только при открытии новой позиции по новому сигналу. В функциях Усреднения, Дополнительного открытия используется параметры стоплоссов и тейкпрофитов из прошлых переменных. Стоплосс и тейкпрофит, полученный от пользовательского индикатора в Усреднении и дополнительном открытии участия не принимают. 
Стоплосс и тейкпрофит от пользовательского индикатора также устанавливается при использовании функции ForcedModifySLTP 

Если Вам необходимо указать советнику значения стоплосс и тейкпрофит от пользовательского индикатора, тогда Вам нужно указать: имя индикатора 
(может быть идентичным с именем индикатора для открытия / закрытия позиций), набор параметров (Если они отличаются от параметров индикатора по 
умолчанию), ТаймФрейм, Сдвиг бара, а также номер буферов для получения значений. Отдельно для BUY и SELL позиций и отдельно для StopLoss и TakeProfit. 
 
SLTPNameIndicator

Имя пользовательского индикатора, с которого будет получены Стоплосс и Тейкпрофит.

SLTPTypeIndicator

Тип индикатора .

xPrice - Значение цены, котороые будет передано в соответствующую переменную (Стоплосс, Тейкпрофит)

SLTPTimeFrame  
SLTP_shift  
SLTPStrategyInputs  
SLTPBuferforBUY_StopLoss Номер буфера, для получения значения StopLoss для позиций BUY , -1 означает, что данная опция не работает. 
SLTPBuferforSELL_StopLoss Номер буфера, для получения значения StopLoss для позиций SELL , -1 означает, что данная опция не работает. 
SLTPBuferforBUY_TakeProfit Номер буфера, для получения значения TakeProfit для позиций BUY , -1 означает, что данная опция не работает. 
SLTPBuferforSELL_TakeProfit Номер буфера, для получения значения TakeProfit для позиций SELL , -1 означает, что данная опция не работает. 

 

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

Сигнал

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

Фильтр:

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

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

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

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

например:

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

Market\\PipFinite Trend PRO

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

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

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

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

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

 

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

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

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

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

 

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

 

Параметр Описание
Signal  options Дополнительный блок работы с сигналами
Show_alert_without_opening_positions При включении данного параметра, советник не будет открывать новую позицию по сигналу, а только оповещать пользователя о том, что появился новый сигнал. При этом все остальные функции будут работать в штатном режиме.
Позволяет пользователю самостоятельно открывать позицию, если советник выдал сигнал. Но советник не совершает эту сделку и не открывает позицию, а только оповещает пользователя о сигнале. 
OpenBarControlOnly Работа советника только по открытым барам. Данный режим позволяет моделировать работу советника по открытию бара(как в тестере стратегий). 
При включении данного режима, советник будет торговать точно также , как при режиме тестирования OpenPriceOnly
Все! функции советника будут исполняться 1!! раз на открытии нового бара (в Зависимости от ТФ, какой ТФ у Вас установлен, такой таймфрейм и будет использоваться), в том числе и Модификация, Трейлингстоп, Усреднение, открытие сигналов и т.д.
ControlNewBarforSIGNAL проверка сигнала индикаторов только каждый новый бар (без проверки на каждом тике),
работает только тогда, когда OWNSIGNAL_shift>=1 и IndSigToTrade!=NoSignal(при NoSignal, советник проверяет
значения фильтров каждый тик)
При включении ControlNewBarforSIGNAL=true, скорость оптимизации увеличивается в 1.5 раза 
ReverseSignal Переворот общего сигнала стратегии, полученного от Главного индикатора + фильтров!
Opening Filter options Фильтры открытия позиций
TypeTradeBUYSELL направление торговли: 
  1. Buy и Sell 
  2. Only Buy 
  3. Only Sell 
При этом: Если использовать отложенные ордера и работать только в 1 направлении: каждый раз при новом сигнале, старый отложенный ордер будет удален и выставлен на новую цену.
MinuteToOpenNextPosition (Разрешение на открытие следующего сигнала после последней открытой позиции), 
если нет открытых позиций, то советник считает время от последней закрытой позиции. 
Время считается по одноименному типу. Если сигнал на BUY то время считается от последней открытой \ закрытой BUY.... 
количество минут для открытия следующей сделки по сигналам индикаторов.
Позволяет фильтровать сделки при использовании ONlyOnePosbySignal=false. 
DistanceToOpenNextPosition 
Минимальная Дистанция для открытия следующей позиции по основному сигналу (Если установлено ONlyOnePosbySignal=false и OnePosPerDirection=false). 
Если DistanceToOpenNextPosition выше 0, тогда следующая позиция может быть открыта только тогда, когда предидущая позиция по сигналу прошла DistanceToOpenNextPosition пунктов прибыли! 
Если DistanceToOpenNextPosition ниже 0, тогда следующая позиция может быть открыта только тогда, когда предыдущая позиция по сигналу находится на расстоянии DistanceToOpenNextPosition пунктов в обе стороны прибыли или убытка!
OpenOppositePositionAfterStoploss  открывать противоположную позицию при закрытии текущей по стоп-лоссу. Позволяет открывать противоположную позицию сразу же после получения стоп-лосса предыдущей сделки без использования сигналов индикатора. 
Если последняя позиция была закрыта по стоплоссу, советник немедленно откроет противоположную позицию 
ONlyOnePosbySignal Торговать только 1 текущей главной позицией одного направления. 
Если советник открыл позицию SELL , тогда все остальные сигналы на SELL будут игнорироваться
OnePosPerDirection Открытие 1 сделки на 1 направление 
например: 
если OnePosPerDirection=true и ONlyOnePosbySignal = false 
тогда советник может открыть 1 сделку Бай по сигналу и 1 сделку Селл по сигналу 
если OnePosPerDirection=false и ONlyOnePosbySignal = true 
тогда советник может открыть только 1 сделку по сигналу либо Бай либо СЕЛЛ 
если OnePosPerDirection=false и ONlyOnePosbySignal = false 
тогда советник может открывать любые сделки по каждому сигналу индикаторов 
OnlyOnePositionPerMagic Открытие 1 позиции на 1 магик, 
Советник проверяет есть ли открытые позиции по данному магику у других валютных пар. Если позиции нет - советник откроет сделку по сигналу, а остальные советники будут ждать завершения этой сделки.
Если OnePosPerDirection= false, тогда OnlyOnePositionPerMagic=true работает так: разрешена 1 позиция по магическому номеру; 
Если OnePosPerDirection= true, тогда OnlyOnePositionPerMagic=true работает так: разрешена 1 позиция каждого из направлений по магическому номеру; 
OnlyAlternateSignals  OnlyAlternateSignals 
Позволяет открывать позиции только поочередно. 
Если последняя закрытая позиция была SELL, следующая может открыться
только BUY! 
Необходима для торговли главного индикатора в режиме No Signal
MAX_BUY_POSITION параметр ограничения максимального количества сделок BUY. Учитывается позиции, открытые по сигналам индикаторов. Позиции усреднения и доливок не учитываются
MAX_SELL_POSITION параметр ограничения максимального количества сделок SELL. Учитывается позиции, открытые по сигналам индикаторов. Позиции усреднения и доливок не учитываются
MaxSpreadToNotTrade Максимальный спред, при котором советник может открыть позицию 
Если текущий спред на момент получения сигнала больше указанного значения, сигнал индикатора игнорируется до тех пор, пока спред не станет меньше указанного значения. 
MinSpreadToNotTrade 

Минимальный спред, при котором советник может открыть позицию 
Внимание: Данный фильтр используется только! для открытия позиций по сигналу, усреднению, доливке. Все остальные функции работают в штатном режиме.

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

Include_Commission_Swap

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

Авторский расчет комиссии основывается на формуле расчета стоимости 1 пункта из открытых позиций по данному символу и магику, В расчете участвует отрицательный своп и комиссия.  Функция возвращает стоимость отрицательного свопа и комиссии в пунктах и учитывает это при работе функций Безубыток (установка стоплосса на точку безубыточности)и трейлингстопа. 

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

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

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

Уровень Безубыток (установка стоплосса на точку безубыточности) (LevelWLoss) можно рассчитать самостоятельно, учитывая комиссию.

например: Комиссия за открытие и закрытие позиции = 2 доллара(EURUSD) на 1 лот. Значит, для того, чтобы покрыть убыток по комиссии, Вам необходимо установить LevelWLoss = 2(пункта)+1(контрольный) = 3 пункта. 

Таким образом: советник установит  Безубыток (установка стоплосса на точку безубыточности) на +3 пункта , что в свою очередь покроет убыток по комиссии.  

Close  options Блок функций по закрытию позиций!
ClosePosifChange Закрывать позиции при обратном общем сигнале индикаторов.
Разница между ClosePosifChange и ClosePositionifChangeOWNSignal  в том, что при ClosePosifChange - смена сигнала считается по всем фильтрам + основной сигнал. 
а при ClosePositionifChangeOWNSignal - смена сигнала считается только по главному индикатору. 
Работает также и для отложенных ордеров.
ClosePosition_After_X_Minutes Закрытия позиции спустя установленное количество минут. 
Также советник проверяет включенный параметр CloseChangeOnlyInProfit: Закрытие только прибыльных позиций.
CloseChangeOnlyInProfit закрывать сделки при обратном сигнале, только когда текущая позиция вышла в прибыль. 
Pending orders  options Блок работы с отложенными и лимитными ордерами.
StopOrderUSE

Открывать отложенные ордера или лимитные ордера вместо позиций. 
Позволяет устанавливать отложенный или лимитный ордер на полученный сигнал на расстоянии StopOrderDeltaifUSE пунктов. Тем самым мы перепроверяем сигнал на прибыльность. 
Если сигнал открыт в правильном направлении движения цены, тогда отложенный ордер сработает через StopOrderDeltaifUSE пунктов. 

Use Virtual Stop Orders: Выставляет виртуальный отложенный стоп ордер на расстоянии StopOrderDeltaifUSE
пунктов;
Use Virtual Limit Orders: Выставляет виртуальный отложенный лимит ордер на расстоянии StopOrderDeltaifUSE
пунктов;
Внимание: Работает только в режиме Визуализации или на реальном графике, только при включенном терминале. 
Не работает в режиме оптимизации! 

StopOrderDeltaifUSE Количество пунктов для отложенного или лимитного ордера
StopOrderDayToExpiration StopOrderDayToExpiration= количество дней для истечения ордера. 
  1. 0 - ORDER_TIME_GTC Ордер будет находится в очереди до тех пор, пока не будет снят 
  2. 1 - ORDER_TIME_DAY Ордер будет действовать только в течение текущего торгового дня 
  3. 2...X - ORDER_TIME_SPECIFIED Ордер будет действовать до даты истечения 
Если отложенный ордер не сработал в течении указанных дней, то он автоматически удаляется.
StopOrderBarToExpiration  Истечение отложенного ордера в барах. 
Если задан StopOrderBarToExpiration=10, и ТФ = М1, тогда Отложенный ордер будет снят через 10 минут после установки. 
Внимание: Каждый брокер имеет свой минимальный параметр времени для истечения. 
ReInstallStopOrdersNewSignalAppears Переустанавливать отложенные ордера, если появился новый сигнал от индиктаоров. Позволяет снимать текущий отложенный ордер BUYSTOP и устанавливать новый BUYSTOP на новом уровне тогда, тогда индикаторы показали новый сигнал.
Trading options Параметры для торговли
Magic магический номер позиций, открываемых советником. 
Slippage Уровень максимально возможного проскальзывания в пунктах при открытии и закрытии позиций.
MarketWatch Включает возможность открытия позиций с стоплосс \ тейкпрофитом на счете с MARKET исполнением. 
Первая открывается позиция, после успешного открытия модифицируются уровни стоплосс и тейкпрофит.
CommentToOrder Дополнительный комментарий к открываемым позициям. 
Вы можете указать здесь дополнительный комментарий, который будет добавлен к открываемой позиции для разграничения настроек например. 
RoundingDigits Количество знаков после запятой при открытии позиции или ордера.
Варианты выбора: 
  1. Without rounding
  2. To 1 digit
  3. To 2 digits
TypeFilling Тип заливки позиций и ордеров. 
Используется для МТ5 терминала.
В режиме AUTO - советник пытается определить тип заливки автоматически. Но, в некоторых ситуациях Вам необходимо самому установить нужный тип заливки. 
Если при открытии позиции Вы получаете ошибку 10030
TRADE_RETCODE_INVALID_FILL
Указан неподерживаемый тип исполнения ордера по остатку 
Установите тот тип заливки, который указывает Ваш брокер.
 FillOrKill ,ImmediateOrCancel ,Return 
Stops  options Параметры стоп приказов, стоплосс, тейкпрофит
VirtualStops

Функция включения виртуальных стоплосс\тейкпрофит\трейлингстопов вместо реальных. 
 Включение виртуальных (невидимых) уровней стоплосс\тейкпрофит\трейлингстоп\ Безубыток (установка стоплосса на точку безубыточности)
Полностью переработан алгоритм Виртуальных стоплосс\тейкпрофит\трейлингстоп\ Безубыток (установка стоплосса на точку безубыточности). 
Теперь все виртуальные стопы отображаются на графике и являются ключевыми при закрытии позиций по этим уровням. 
Данные записываются в виде линий и глобальных переменных. 
Внимание: Если удалить линию стопа на графике и глобальные переменные - Виртуальное закрытие по это линии работать не будет. 
Внимание: Проверьте Ваши эксперты и индикаторы на удаление линий с графика и глобальных переменных! 
Внимание: Виртуальные уровни срабатывают по текущей цене, после чего происходит закрытие. 
Во время закрытия могут быть проскальзывания в пару пунктов! 
Внимание МТ4: В режиме оптимизации, виртуальный стоплосс\тейкпрофит не работает. 
Внимание: При включении VirtualStops - скорость тестирования значительно ниже. 

Внимание: Виртуальные стопы не имеют ограничения и запреты сервера. Поэтому могут устанавливаться по текущей цене! После чего происходит моментальное закрытие.

SetMinStops Автоматически нормализовать все параметры советника до минимально допустимых уровней стопов.
При виртуальных стопах - этот параметр не имеет силы. 
При AutoSetMinLevel уровни стопов будут приведены к минимально возможным уровням, разрешенным на сервере; 
При ManualSet пользователь получит сообщение о том, что уровни стопов в советнике меньше минимального и советник перестанет торговать.
StopLoss Стоплосс каждой открываемой позиции в пунктах
TakeProfit Тейкпрофит каждой открываемой позиции в пунктах
ForcedModifySLTP

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

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

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

TimeToCheckAverageSpread

 - TimeToCheckAverageSpread    Количество (миллисекунд, 20 000 = 20 секунд) для определения среднего спреда
 - AutoCheckLowSpread    Автоопределение низкого спреда. 
Автоматически определяет слишком низкий спред (Меньше 1 пункта) и приводит все настройки системы к минимально возможному спреду. 
Позволяет защитить систему от понижения спреда на брокере.

Как использовать:
Для того, чтобы параметр, который рассчитывается в пунктах, был рассчитан по среднему спреду валютной пары, Вам необходимо указать параметр с знаком -
Например:
StopLoss = 2000 означает, что Стоплосс каждой позиции будет равен 2000 пунктов!
StopLoss = -100 означает, что Стоплосс каждой позиции будет равен 100*Средний спред, который был рассчитан советником за TimeToCheckAverageSpread миллисекунд. 
Если спред = 20 пунктам, то стоплосс на момент открытия будет равен 2000 пунктов.
При плавающем спреде это значение всегда меняется.

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

Средний и текущий спред, а также уровень Автоопределения низкого спреда будет отображаться на нашей панели в разделе Strategy Info

Lots  options Параметры работы с лотом позиций
Lots Фиксированный лот для открытия позиции. 
DynamicLot Динамический лот, Автолот для открываемой позиции. 
Включение динамический расчет лота в процентах от свободной маржи и других факторов. 
Расчет нашего автолота.
LotBalancePercent Процент для автолота
RiskRate RiskRate - курс вашей валюты по отношению к доллару. 
По умолчанию RiskRate = 0 - означает, что советник будет пытаться найти правильный курс в Обзоре рынка. 
Для того чтобы автолот работал адекватно со всеми валютными парами, вам необходимо включить в Обзоре рынка "Показать все валютные пары".
MaxLot Максимальный лот, который может открыть советник при расчете автолота и мартингейла на первую главную позицию 
Martin  Стандартное умножение лота последней закрытой позиции в убытке.
Если Martin = 1, тогда мартингейл не включается. 
Если Martin = 0, тогда советник не сможет открыть следующую позицию 
Если Martin = 2, тогда первый лот = 0.1, второй лот = 0.2, и так далее, 0.4 - 0.8 - 1.6
Если Martin = 0.5, тогда первый лот = 1, второй лот = 0.5, и так далее, 0.25 - 0.125
Averager  options Блок функций усреднения позиций, открытие позиций против тренда
UseAverAdditionalOpeningOrderinOne

Количество ордеров считается общее и для доливки и для усреднителя.

Внимание! Только для МТ4 версии

AverageUSE Включение функции усреднения позиций.
Если Главная позиция уходит в убыток на определенное количество пунктов, наш советник открывает позицию такого же типа. Тем самым усредняя первую позицию. 
Все функции советника (трейлингстоп, Безубыток (установка стоплосса на точку безубыточности)...) будут работать уже от средней линии позиций, которая рассчитывается от всех позиций одного типа. 
Например: 
Если открыта позиция SELL с ценой 1.200, и цена идет вверх. Тогда при превышении цены на 100 пунктов (например) 1.300 - советник открывает еще одну позицию SELL
Средняя линия от этих двух позиций = 1.250 
Трейлингстоп и все остальные функции будут работать от средней линии этих двух позиций.
Внимание: При разных лотах позиций, средняя цена рассчитывается по математической формуле. 
 
TakeProfitALL Дистанция общего тейкпрофита при открытии сделок усреднения. 
Данный параметр целесообразно использовать только при включении AverageUSE. 
Устанавливает заданный тейкпрофит от текущей средней линии всех позиций для ВСЕХ позиций
Работает только тогда, когда открывается позиция усреднения
Distance Дистанция от последней открытой позиции одного типа для усреднения. Размер дистанции между позициями, ячейка сетки. 
Вы можете установить 100 пунктов, тогда каждая новая позиция усреднения будет открываться через 100 пунктов убытка от последней открытой позиции
DistanceMartin коэффициент увеличения дистанция при усреднении на каждую следующую сделку.
Вы можете установить 1,5, тогда каждая новая позиция усреднения будет открываться через 100 + 50 (100 * 1,5) пунктов потери от последней открытой позиции. (100,150,225,337,506)
LotsMartin Увеличение лота для сетки позиций. Коэффициент увеличения каждой позиции усреднения.
Например:
Начальный лот главной позиции = 0.1
LotsMartin=2, тогда
Следующий лот открываемой позиции усреднения будет 0.2, 0.4, 0.8 и так далее.
Внимание: Средняя линия при этом будет рассчитана по формуле с использованием лотов. 
Позволяет приблизить уровень Безубыток (установка стоплосса на точку безубыточности) (средней линии) к текущей цене. 
Но мартингейл может быть опасен для Вашего счета. Пожалуйста, рассчитывайте этот параметр так, чтобы Ваш депозит выдержал такую нагрузку 
LotAdditional - добавочный лот для усреднения позиции для открытия против тренда.
MaxOrdersOpen Максимальное количество позиций усреднений. Если сетка позиций будет равна MaxOrdersOpen, тогда следующие позиции усреднения игнорируются.
   
Additional opening Блок функций для дополнительного открытия позиций по тренду
AdditionalOpening Включение функции открытия дополнительных позиций.
Если Главная позиция уходит в прибыль на определенное количество пунктов, наш советник открывает позицию такого же типа. Тем самым усредняя первую позицию. 
Это помогает доливаться при прибыльном сигнале. 
Все функции советника (трейлингстоп, Безубыток (точка безубыточности) ...) будут работать уже от средней линии позиций, которая рассчитывается от всех позиций одного типа. 
Например: 
Если открыта позиция SELL с ценой 1.200, и цена идет вниз. Тогда при превышении цены на 100 пунктов (например) 1.100 - советник открывает еще одну позицию SELL
Средняя линия от этих двух позиций = 1.150 
Трейлингстоп и все остальные функции будут работать от средней линии этих двух позиций.
Внимание: При разных лотах позиций, средняя цена рассчитывается по математической формуле. 
StopLossALL Дистанция общего стоплосса при открытии дополнительных сделок. 
Данный параметр целесообразно использовать только при включении AdditionalOpening. 
Устанавливает заданный стоплосс от текущей средней линии всех позиций для ВСЕХ позиций
Работает только тогда, когда открывается позиция доливки
DistanceAdditionalOpening Дистанция от последней открытой позиции одного типа для доливок. Размер дистанции между позициями, ячейка сетки. 
Вы можете установить 100 пунктов, тогда каждая новая позиция доливок будет открываться через 100 пунктов прибыли от последней открытой позиции
LotsMartinAdditionalOpening Увеличение лота для сетки позиций. Коэффициент увеличения каждой позиции доливок.
Например:
Начальный лот главной позиции = 0.1
LotsMartin=2, тогда
Следующий лот открываемой позиции доливок будет 0.2, 0.4, 0.8 и так далее.
Внимание: Средняя линия при этом будет рассчитана по формуле с использованием лотов. 
Позволяет приблизить уровень Безубыток (точка безубыточности) (средней линии) к текущей цене. 
Но мартингейл может быть опасен для Вашего счета. Пожалуйста, рассчитывайте этот параметр так, чтобы Ваш депозит выдержал такую нагрузку 
LotAdditionalOpening - добавочный лот для добавочной позиции для добавочного открытия по тренду.
MaxOrdersOpenAdditionalOpening Максимальное количество позиций доливок. Если сетка позиций будет равна MaxOrdersOpen, тогда следующие позиции доливок игнорируются
   
Time Trade options Блок работы с временем торговли, ограничение по времени.
TradeStartStopbyTime Функция работы по времени.
Если TradeStartStopbyTime = false, тогда советник торгует круглосуточно. 
Если TradeStartStopbyTime = true, тогда включается время торговли: 
SeveralTimeWork Вы также можете задать несколько временных отрезков для торговли в параметре SeveralTimeWork. Формат записи: ЧЧ:ММ-ЧЧ:ММ; 
где: Час старта торговли:Минута старта торговли - Част стоп торговли: Минута стоп торговли. 
Например, SeveralTimeWork=3:00-5:00;7:30-8:50;12:00-15:00; 
тогда советник будет торговать 3 отрезка времени. с 3 часов до 5 часов, с 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. 
При этом советник будет торговать в установленное выше время, а когда время торговли закончится - советник будет закрывать все открытые позиции и ордера. 

- Not Use = Не использовать функцию
- Positions and Orders = Закрывать позиции и отложенные ордера
- Only Positions = Закрывать только позиции
- Only Orders = Закрывать только отложенные ордера

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 по времени сервера 
(время Вашего брокера, указывается в обзоре рынка). 
TradeStartStopbyTimeFriday Торговое время для пятницы. 
В нашем советнике ВЫ можете задать время торговли советника в пятницу. 
Параметры времени для пятницы: OpenHourFriday:OpenMinuteFriday - CloseHourFriday:CloseMinuteFriday 
Например, Вам нужно, чтобы советник не открывал новых сделок в пятницу после 18:00, тогда ВЫ устанавливаете: 
OpenHourFriday=0:OpenMinuteFriday=0 - CloseHourFriday=18:CloseMinuteFriday=0 
В таком случае, советник не будет открывать новые сделки после 18 : 00 
CloseFriday Также Вы можете закрыть все открытые сделки и отложенные ордера в пятницу в установленное время 18:00, CloseFriday=true. 
BreakEven WithoutLOSS  options Блок работы с безубытком (Установка стоплосса в безубыток в определенный момент)
MovingInWLUSE Включить функцию Безубыток (установка стоплосса на точку безубыточности) на открытые позиции.
Внимание: Если включена функция усреднения или доливок, то при открытии 2-х и более позиций, советник включает функцию Безубыток (установка стоплосса на точку безубыточности) от средней линии, а не от цены открытия позиций
LevelWLoss

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

Дистанция от цены открытия до прибыльного стоплосса

1 = 1 пункт прибыли

0 = Автоматический режим минимальной прибыли. Количество пунктов прибыли для Безубыток (установка стоплосса на точку безубыточности) = Спред текущей валютной пары.

LevelProfit Количество пунктов прибыли, набранной позицией для установки стоплосса в LevelWLoss пунктов прибыли
Standard Trailing  options Стандартный трейлингстоп (Сопровождение позиций, путем модификации стоплосса в прибыль!)
TrailingStopUSE Включение функции стандартного трейлингстопа.
Внимание: Если включена функция усреднения или доливок, то при открытии 2-х и более позиций, советник включает функцию трейлингстопа от средней линии, а не от цены открытия позиций
IfProfTrail при true Советник начинает модификацию только с момента выхода позиции в Безубыток (установка стоплосса на точку безубыточности) + TrailingStop пунктов прибыли. при false - тралингстоп начинает работать сразу после выставления позиции и выходе позиции в прибыль и тянет его вслед за ценой
TrailingStop Дистанция трейлингстопа в пунктах
TrailingStep Шаг изменения стоплосса при трейлингстопе в пунктах
SaveTPafterTrailingStop При включении которой, тейк-профит модифицированных позиций будет сохраняться на своем месте. 
Например: 
SaveTPafterTrailingStop = false: При выполнении трейлинг-стопа, тейк-профит модифицированной позиции будет удален; 
SaveTPafterTrailingStop = true: При выполнении трейлинг-стопа, тейк-профит модифицированной позиции будет сохранен. 
TrailingStop by SAR Блок трейлингстопа по Параболику (установка и модификация стоплосса по точкам индикатора Parabolic SAR)
TrailingStopSAR Включить функцию трейлингстопа по индикатору Parabolic SAR.
Внимание, если показатель индикатора в убытке для позиции, советник ждет пока точка параболика не будет в прибыли для позиции. 
Если у нас открыто 2 и более позиции усреднителя, то Безубыток (установка стоплосса на точку безубыточности) считается от средней линии совокупных позиций.
TrailingStopSAR_TimeFrame Таймфрейм для индикатора
step maximum Настройки индикатора
CloseALL when Profit or LOSS  options Блок закрытия по общей прибыли или убытку
TypeofClose

Тип закрытия по общей прибыли или убытку, в долларах (валюта депозита), пунктах, процентах от баланса, процентах эквити.

Блок позволяет закрывать все позиции по данному символу, если общая прибыли или убыток всех позиций, равен установленному значению. 

SeparateBuySell Раздельный расчет и закрытие позиций по двум разным направлениям BUY и SELL.
Данная функция раздельно закрывает два напрвления по общей прибыли или убытку.
Актуально, Если ONlyOnePosbySignal=false и OnePosPerDirection=false. 
Или любые настройки, которые позволяют открывать больше одного направления и больше одной позиции в направлении. 
CloseProfit Закрывать позиции при общей прибыли. True - разрешить, False - запретить 
prifitessss

Количество юнитов (долларов (валюта депозита), пунктов, процентов) для закрытия.

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

CloseLoss Закрывать позиции при общему убытку. 
lossss

Количество юнитов (долларов (валюта депозита), пунктов, процентов) для закрытия.

TrailOptions Включать трейлинг общей прибыли при превышении prifitessss юнитов . 
Данная опция означает дистанцию от параметра prifitessss для включения трейлинга прибыли.
Например: prifitessss = 100 долларов (валюта депозита) TrailOptions=10 долларов тогда,
когда позиции наберет прибыль в 100 долларов, советник не закроет эти позиции, а установит уровень прибыли на 90 долларов. Далее, если прибыль увеличится на 1 доллар и станет 101 доллар, уровень прибыль зафиксируется на 91 доллар. 
Если прибыль пойдет вниз и достигнет 91 доллар - все позиции закроются на этом уровне.  
TrailOptionsStep Шаг увеличения зафиксированного уровня прибыли
BalanceStart Стартовый баланс, от которого будет рассчитываться процент от баланса. Если 0 = тогда устанавливается текущий баланс счета. 
ForcedClose Принудительное закрытие всех позиций после получения общей прибыли или убытка
MailSend Отправить почту при закрытии
Orderdelete Удалять отложенные ордера при закрытии позиций
OFFAfterClosePROF Отключать советника после закрытия по общей прибыли
OFFAfterCloseLOSS Отключать советника после закрытия по общему убытку
CloseTerminalAfterClosePROF Закрывать терминал после закрытия по общей прибыли
CloseTerminalAfterCloseLOSS Закрывать терминал после закрытия по общему убытку
DrawDown options Блок управления открытием позиций при просадке
DrawDown_Level
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% текущего депозита, EA не может открывать новые сделки по новым сигналам. В то же время функции усреднения будут работать. Когда просадка превышает 90%, EA немедленно закрывает все сделки. 
 
Withdrawal Блок виртуального снятия средств в тестере стратегий для имитации работы с депозитом
OnTester_Custom_max

В блок Tester добавлена переменная OnTester_Custom_max, в которой можно записать свой критерий генетической
оптимизации. 
Подробнее о результатах тестирования: Статистика
Запись в виде формулы. Например:

OnTester_Custom_max="STAT_PROFIT*STAT_TRADES/STAT_EQUITY_DD"
Обязательно указание имен переменных, как в справочнике!
Withdrawal блок Виртуального снятия средств в тестере: 

Withdrawal - Включение виртуального снятия средств при тестировании в тестере стратегий; 
Withdrawal_mode - режим снятия, в валюте депозита , в процентах от текущего баланса (currency/percentage); 
Withdrawal_amount - Количество средств для снятия; 
Withdrawal_periodicity_days - Периодичность снятия в днях; 
Withdrawal_Max - Максимальная сумма снятия; 
Withdrawal_EndOfTest - Снятие средств после окончания тестирования; 
Только для версии MT5!!!! Symbols  options - Установка торговли по нескольким символам одновременно!
PAIR1 - PAIR12

Возможность устанавливать сразу несколько валютных пар для тестирования в тестере стратегий терминала МТ5.

Если Вы получаете ошибку:

Check in MarketWatch EURUGBP.m ! 
array out of range in '' (1041,20)
OnInit critical error

Значит Вы указали неправильное название валютной пары!

 

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

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

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

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

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

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

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

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

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

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

 

 

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

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

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

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

  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. Хочу заметить лишь то, что в этом блоке Вы можете указывать любую стратегию. 

 

  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)

Сгыещь чСгыещьУФ

Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!_1 Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!_2 Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!_3 Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!_4 Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!_5 Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!_6 Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!_7 Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!_8 Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!_9 Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!_10 Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!_11 Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!_12 Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!_13 Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!_14
Здесь можно скачать Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!
Купить Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! можно здесь - Прочитать о Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! можно здесь - Обсуждение Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! - стейты, отзывы, комментарии - Отзывы о Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! - Настройки к Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! - Мониторинг Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! - Download Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! - Buy Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! - Read about Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! - Discusion of Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! - Comments of Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! - Settings Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! - Monitoring Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! - Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! скачать бесплатно - Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! ключ - Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! открытый код - Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору! скачать
-
Expforex Идеи для Форекс https://www.expforex.com/1NEWDESIGN/NEWLOGO/LOGONEW.png expforex@meta.ua Украина expforex2
Читать Exp - The xCustomEA Универсальный торговый советник на пользовательских индикаторах. Советник по индикатору!
0 $

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

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

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

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

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

Наши советники и утилиты FinanceApplication Windows 06.03.2019
5 27