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

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

date_range Обновлено:

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

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

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

cloudThe, тестирование, X:, Оптимизация


Читать The X: Тестирование и Оптимизация

Описание

Мы уже писали о том, что The X - это проект, который стал очень популярным за 5 лет. 

Это лучший советник для Форекс, который позволяет создать свою стратегию из стандартных индикаторов и использовать наши функции для советника. 

Функциональные особенности эксперта и описание настроек мы уже писали в нашей статье The X - Универсальный советник для форекс MT4 MT5 Полная инструкция

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

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

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

 

Введение

Мы не будем рассказывать о том, как тестировать или оптимизировать советники в терминале мт4 и мт5! Мы уже говорили об этом в нашей статье: Тестирование и оптимизация советников

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

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

Начиная с версии 18.008 мы привели названия всех переменных к одинаковому имени в версии для мт4 и мт5. Это сделано для того, чтобы Вы могли переносить файлы настроек с одного терминала на другой!

Мы покажем примеры торговых стратегий на основе THE X.

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

Вы должны понимать, что чудес не бывает. И наш советник лишь инструмент для торговли на форекс. Форекс - Это 100 % риск! 

Набор настроек зависит от Вашего депозита и лимита просадки. Валютной пары и спецификации контракта. Долгосрочная торговля или пипсовка!

 

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

0-10-100 = означает, что параметры для оптимизации такие:

  1. Старт значения оптимизации = 0
  2. Шаг оптимизации параметра = 10
  3. Стоп значение параметра при оптимизации = 100

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

  1. Например EURUSD = 1.2001 означает, что у брокера 4-х значные котировки. и 1 = 1 пункт! 
  2. Если я написал 10, это означает , что я имею ввиду 10 пунктов. 
  3. Если у Вашего брокера 5-значные котировки, тогда Вам необходимо умножать мои рекомендации на 10! 
  4. Например EURUSD = 1.20015 означает, что у брокера 5-х значные котировки. и 1 = 1 пункт! 
  5. Если я написал 10, это означает , что я имею ввиду 10 пунктов. Но Вы должны устанавливать значения 100

Помните ответ на вопрос!

В чем указываются значения в параметрах в пунктах или пипсах?

В пунктах! понятие Пункт взято из значения переменной Point() 

  • Если у Вас 5\3 значный брокер, тогда 1 пункт = 0.00001\0.001 
  • Если у Вас 4\2 значный брокер, тогда 1 пункт = 0.0001\0.01 

Блок 1: Торговые сигналы и фильтры

В нашем советнике более 20 торговых стратегий, основанных на стандартных индикаторах терминала MetaTrader. 

Почему Мы используем стандартные индикаторы?

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

Изменяя параметры внутри кода, Вы получаете пользовательский индикатор. По логике - пользовательский индикатор на 90 % состоит из стандартных индикаторов! 

Мы написали более 5 000 советников по пользовательским индикаторам и можем с уверенностью сказать: не имеет смысла. 

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

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

Индикаторы и сигналы это главное, с чего надо начать нашу оптимизацию и тестирование! 

На момент написания этой статьи у нас 20 сигналов:

  1.    NoSignal=0,//No Signal
  2.    Ma=1,//Moving Average
  3.    MACD=2, //Moving Average Convergence/Divergence (MACD)
  4.    STOCH=3,//Stochastic Oscillator
  5.    RSI=4,//RSI
  6.    CCI=5,//Commodity Channel Index (CCI) 
  7.    WPR=6,//Williams Percent Range (WPR)
  8.    BB=7,//Bollinger Bands 
  9.    Envelopes=8,//Envelopes
  10.    Alligator=9,//Alligator
  11.    OsMA=10,//Moving Average of Oscillator (OsMA)
  12.    AO=11,//Awesome Oscillator (AO)
  13.    ISH=12,//Ichimoku
  14.    AC=13,//AC
  15.    BAR=14,//BAR BEAR\BULL
  16.    ADX=15,//ADX
  17.    ADXWilder=19,//ADX Wilder
  18.    ZigZag=17,//ZigZag
  19.    MFI=20,//Money Flow Index
  20.    Fractals=21,//Fractals

Каждый сигнал и стратегия - это стандартная стратегия использования индикатора. Такие стратегии писали люди, которые придумывали эти индикаторы. Мы не будем объяснять всю суть каждой стратегии. 

Это стандартные торговые стратегии! 

У Вас появятся 100 000 000 вариантов использования стандартного индикатора, но вы же понимаете, что мы не можем добавить их в советник! 

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

  1. Открытый код The X для MetaTrader5
  2. Открытый код The X для MetaTrader4
  3. Программирование советника: 10 шагов к Успеху!

В нашем советнике можно комбинировать 1 сигнал и до 5 фильтров. 

Отличие сигнала и фильтра:

Сигнал

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

Фильтр:

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

Советы по оптимизации параметров сигналов:

input string Signal1s="=========   OWN Signal  options =========";
input typesignals                IndSigToTrade=1;
input ENUM_TIMEFRAMES            TF_IndSigToTrade1=PERIOD_CURRENT;
input bool                       Signal_Reverse=false;
input bool                       ClosePositionifChangeOWNSignal=false;
input int                        OWNSIGNAL_shift=1;
input string Signal2s="=========   Filter 1  options =========";
input typesignals2               FILTER_IndSigToTrade1=0;
input ENUM_TIMEFRAMES            FILTER_TF_IndSigToTrade1=PERIOD_CURRENT;
input bool                       Filter1_Reverse=false;
input int                        FILTERSIGNAL1_shift=1;

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

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

Почему мы сделал 5 фильтров? 

На этапе программирования и создания советника, наши первые пользователи составляли для нас "хотелки" и пожелания. Мы выполнили просьбы и сделали 5 фильтров. 

Варианты оптимизации блока сигналов

Параметр IndSigToTrade - можно оптимизировать от и до! всего будет 20 переборов этого параметра. Это не так уж и много, Но Вы можете выбрать лучший результат по той или иной стратегии. 

Оптимизация значений: 1 - 20 или Moving Average - Fractals

Параметр TF_IndSigToTrade1 - также можно оптимизировать от и до. Но мы советуем ставить TimeFrame , на которых вы обычно торгуете. 

  1. Помните: Чем выше TimeFrame , тем меньше сигналов будут появляться. Чем выше TimeFrame , тем долгосрочнее будут стратегии. 

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

Не имеет смысла оптимизировать.

  1. Но включать этот параметр я рекомендую только на долгосрочной торговле и использовании больших стоплоссов и тейкпрофитов. 
  2. При использовании безубытка и трейлингстопа и получении убытка в пределах спреда, Вам не удастся торговать прибыльнее при включении этого параметра! 
  3. Например: Если Ваша стратегия включает StopLoss = 2000 пунктов и TakeProfit = 500 пунктов , и получении 100 убытков и 1 прибыли.
  4. При перевороте стратегии вы получите 100 выигрышей и 1 убыток. 
  5. Но это все относительно. Каждую теорию нужно тестировать! Чудес не бывает!

Параметр ClosePositionifChangeOWNSignal - позволяет закрывать открытые позиции при изменении главного сигнала. 

Не имеет смысла оптимизировать.

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

Параметр OWNSIGNAL_shift - это очень важный параметр! Он регулирует получение сигнала с закрытого или текущего бара. 

Не имеет смысла оптимизировать.

  1. Я рекомендую оставить его по умолчанию.
  2. 1 - получение сигналов с уже закрытого и полностью сформировавшегося  бара. 
  3. 0 - Получение сигнала с текущего бара, который только формируется. 
  4. Подробная статья о том, как использовать SHIFT сигнала

Параметры Filter N options - имеют такие же логические объяснения, как и сигналы. Поэтому мы не будем их повторять, но скажем следующее:

  1. Вы можете использовать фильтры других индикаторов, отличаемых от сигналов!
  2. Вы можете использовать тот же индикатор, что и в сигнале, но устанавливать TimeFrame  выше, чем TimeFrame  сигнала. Например TF сигнала = M15, а TF фильтра = H1
  3. Фильтр снижает количество сигналов и открытых позиций!
  4. Один фильтр может не работать с другим сигналом. Все зависит от настроенных стратегий. Некоторые фильтры и сигналы могут конфликтовать друг с другом.
  5. Например: Mooving Average показывает сигнал на BUY , а Фильтр по RSI показывает в этом момент только SELL. Такие конфликты встречались! 
  6. Если у Вас не открывается позиция с применением фильтра, отключите фильтр и исследуйте этот вопрос. Возможно 2 индикатора конфликтуют!  

Блок 2: Signal options

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

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

input bool                       Show_alert_without_opening_positions=false;
input bool                       OpenBarControlOnly=false;
input bool                       ControlNewBarforSIGNAL=true;
input bool                       ReverseSignal=false;

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

Не имеет смысла оптимизировать.

  1. Советник не открывает позицию.
  2. Выводится информация о сигнале с рассчитанными параметрами
  3. Вы можете разрешить или запретить открытие позиций по этому сигналу

Параметр OpenBarControlOnly используется только для модели тестирования в виде Open Prices Only.

Не имеет смысла оптимизировать.

  1. Позволяет включать работу советника по открытым барам на реальном графике!  
  2. При включении этого параметра, весь алгоритма советника исполняется только при открытии нового бара 1 раз. 
  3. Результаты при включении этого параметры похожи на результаты тестирования в режиме Open Prices Only

Параметр ControlNewBarforSIGNAL - Параметр , который включает обработку сигнала только 1 раз на новом баре.  

Не имеет смысла оптимизировать.

  1. Позволяет существенно снизить нагрузку на компьютер при оптимизации советника.
  2. Увеличивает скорость тестирования в тестере стратегий. 
  3. Используется только при параметр SHIFT > 0

Параметр ReverseSignal - переворачивает общий сигнал к открытию позиций. 

Оптимизация значений: True - False

  1. В отличие от Signal_Reverse позволяет перевернуть общий сигнал к открытию, включая сигналы и фильтры

Блок 3: Opening Filter options

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

input string oo_121="=========   Opening Filter options =========";
input TypeTrade                  TypeTradeBUYSELL=0;
input int                        MinuteToOpenNextPosition=0;
input bool                       OpenOppositePositionAfterStoploss=false;
input bool                       ONlyOnePosbySignal=true;
input bool                       OnePosPerDirection=true;
input bool                       OnlyOnePositionPerMagic=false;
input bool                       OnlyAlternateSignals=false;
input int                        MAX_BUY_POSITION=0;
input int                        MAX_SELL_POSITION=0;
input int                        MaxSpreadToNotTrade=0;
input int                        MinSpreadToNotTrade=0;

Параметр TypeTradeBUYSELL - включает возможность торговать только в одном направлении.  

Не имеет смысла оптимизировать.

  1. Полезен тогда, когда Вы управляете советником вручную, например при анализе новостей.
  2. Или когда пользуетесь дополнительными средствами для определения сигналов. Например линиями тренда. 
  3. Включать эту функцию я рекомендую только тогда, когда Вы уверены в том, что тренд имеет направление!

Параметр MinuteToOpenNextPosition - запрет на открытие дополнительной позиции по сигналу.  

Не имеет смысла оптимизировать.

  1. позволяет тонко управлять настройками торговли по сигналам, когда трейдер уверен в силе сигнала.
  2. Используется вместе с опциями ONlyOnePosbySignal=false 
  3. Ограничивает открытие позиций по одному и тому же сигналу

Параметр OpenOppositePositionAfterStoploss - открывает противоположную позицию, если предыдущая позиция была закрыта по стоплоссу (в убытке).  

Не имеет смысла оптимизировать.

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

Параметр ONlyOnePosbySignal - позволяет советнику открывать только одну позицию по выбранной валютной паре и магику.  

Можно оптимизировать этот параметр True False при использовании OnePosPerDirection =true

  1. Отключение этой функции позволяет "набирать" позиции по одному и тому же сигналу, в том же направлении. 
  2. Я не рекомендую менять этот параметр.

Параметр OnePosPerDirection - позволяет советнику открывать позиции только в одном направлении или включает возможность торговли сразу в два направлении.  

Не имеет смысла оптимизировать.

  1. Работает только при ONlyOnePosbySignal=false 
  2. Я не рекомендую менять этот параметр.

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

Не имеет смысла оптимизировать.

  1. Работает только при ONlyOnePosbySignal=false 
  2. Я не рекомендую менять этот параметр.

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

Не имеет смысла оптимизировать.

  1. Очень сильно снижает количество сигналов.
  2. Я не рекомендую менять этот параметр.

Параметр MAX_BUY_POSITION MAX_SELL_POSITION - позволяет ограничивать количество одновременно открытых позиций..  

Не имеет смысла оптимизировать.

  1. Работает только при ONlyOnePosbySignal=false.
  2. Я не рекомендую менять этот параметр.
  3. Этот параметр создан для торговли в разных направлениях без ограничения на количество сигналов.
  4. Позволяет ограничивать одновременное открытие позиций по одному сигналу или нахождение открытых позиций в рынке.

Параметр MaxSpreadToNotTrade MinSpreadToNotTrade - позволяет ограничить открытие позиций по сигналом при частом изменении спреда брокером.  

Не имеет смысла оптимизировать.

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

 

Блок 4: Close options

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

input string oo_123="=========   Close  options =========";
input bool                       ClosePosifChange=true;
input bool                       CloseChangeOnlyInProfit=true;
input int                        ClosePosition_After_X_Minutes=0;

Параметр ClosePosifChange - закрытие противоположной позиции при смене сигнала на открытие.  

Оптимизация значений: True - False

  1. Полезен тогда, когда Вы хотите сменить текущий сигнал, если он оказался ложным или при появлении нового сигнала.
  2. Позволяет зафиксировать прибыль или убыток при смене сигнала от индикатора.

Параметр CloseChangeOnlyInProfit - позволяет закрывать только прибыльные позиции.  

Оптимизация значений: True - False

  1. Позволяет зафиксировать прибыль  при смене сигнала от индикатора.
  2. Работает только при ClosePosifChange=false

Параметр ClosePosition_After_X_Minutes - закрытие позиции через определенное время.  

Оптимизация значений: Рекомендую устанавливать числа, кратные вашему ТФ.

Например: при использовании советника на TimeFrame M15 установите значения : старт 0, шаг 15, стоп 75.

  1. Для четких фиксация времени торговли. 
  2. Позволяет закрывать позиции, которые были открыты по сигналу. Например через 15 минут после открытия
  3. Зависит и работает от параметра CloseChangeOnlyInProfit :
  4. Если CloseChangeOnlyInProfit  = true , тогда позиции закрываются только если они имеют прибыль. 

Блок 5: Pending orders options

В этом блоке собраны параметры работы с отложенными ордерами.

input StopOrderType              StopOrderUSE=0;
input int                        StopOrderDeltaifUSE=0;
input int                        StopOrderDayToExpiration=0;
input int                        StopOrderBarToExpiration=0;
input bool                       ReInstallStopOrdersNewSignalAppears=true;

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

Оптимизация значений: False - Use Stop Orders

  1. Позволяет дополнительно фильтровать сигналы по дистанции срабатывания!
  2. Use Stop Orders: Если советник получил сигнал и мы открыли отложенный ордер на дистанции 100 пунктов. Если цена прошла 100 пунктов в нашем направлении и зацепила отложенный ордер, тогда сигнал считается подтвержденным.
  3. Use Limit Orders: Если советник получил сигнал и мы открыли лимитный ордер на дистанции 100 пунктов. Если цена прошла 100 пунктов в противоположном направлении и зацепила лимитный ордер, тогда сигнал считается отскоком. Вы должны быть уверенным, что будет отскок.
  4. Я не рекомендую оптимизировать по Use Limit Orders
  5. Значение Use Stop Orders имеет смысл использовать только для долгосрочной торговли.

Параметр StopOrderDeltaifUSE - дистанция установки отложенного или лимитного ордера.  

Оптимизация значений: Рекомендуется устанавливать параметры индивидуально для каждой пары. 

  1. Например: Если это валютная пара EURUSD и Вы торгуете на периоде M30 и среднее движение цены в период , например, 50 баров = 7500 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 100, стоп 1000. 
  2. Например: Если это валютная пара XUGUSD и Вы торгуете на периоде M1 и среднее движение цены в период , например, 50 баров = 100 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 10, стоп 100.
  3. Например: Вам необходимо подтверждение сигнала открытия, и среднее движение цены в период, например 100 баров = 1000 пунктов, тогда  старт 0, шаг 50, стоп 500.
  4. Позволяет дополнительно фильтровать сигналы по дистанции срабатывания!
  5. Use Stop Orders: Если советник получил сигнал и мы открыли отложенный ордер на дистанции 100 пунктов. Если цена прошла 100 пунктов в нашем направлении и зацепила отложенный ордер, тогда сигнал считается подтвержденным.

Параметр StopOrderDayToExpiration - удаляет отложенный ордер, если он не сработал установленное количество дней.  

Не имеет смысла оптимизировать. 

Параметр StopOrderBarToExpiration - удаляет отложенный ордер, если он не сработал установленное количество баров (Зависит от Вашего таймфрейма!).  

Варианты оптимизации: старт 0, шаг 1, стоп 10

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

Параметр ReInstallStopOrdersNewSignalAppears - Переустанавливает отложенной ордер при обновлении сигнала.  

Не имеет смысла оптимизировать. 

  1. Позволяет устанавливать отложенный ордер каждый раз при появлении нового сигнала.
  2. Я не рекомендую менять этот параметр

 

Блок 6: Trading options

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

Не имеет смысла оптимизировать.  

 

Блок 7: Stops options

Блок работы с стоплоссом и тейкпрофитом

input string oo5="=========   Stops  options =========";
input bool                       VirtualStops=false;
input bool                       ForcedModifySLTP=false;
input minlevel                   SetMinStops=0;
input int                        StopLoss=2000;
input int                        TakeProfit=0;
input bool                       Include_Commission_Swap=true;

Параметры ForcedModifySLTP, SetMinStops, Include_Commission_Swap я не рекомендую изменять! Не имеет смысла оптимизировать.  

Параметр VirtualStops - включает возможность установки виртуальных стоплоссов и тейкпрофитов.  Без фактической модификации позиций (стоплосс и тейкпрофит в позиции будет = 0)

Оптимизация значений: True - False

  1. Все уровни стоплосс и тейкпрофита хранятся в глобальных переменных и на графике!
  2. Происходит виртуальное исполнение стоплосса и тейкпрофита
  3. Имеет смысл применять только тогда, когда Вам необходимо устанавливать очень маленькие (меньше минимально возможного уровня на сервере) стоп уровни.
  4. Позволяет скрыть от брокера Ваши уровни стопов, тем самым мешая понять логику вашей стратегии. 

Параметр StopLoss - Стоплосс позиции. 

Оптимизация значений: Рекомендуется устанавливать параметры индивидуально для каждой пары. 

  1. Например: Если это валютная пара EURUSD и Вы торгуете на периоде M30 и среднее движение цены в период , например, 50 баров = 7500 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 100, стоп 1000. 
  2. Например: Если это валютная пара XUGUSD и Вы торгуете на периоде M1 и среднее движение цены в период , например, 50 баров = 100 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 10, стоп 100.
  3. Зависит от Ваших лимитов на каждую позицию. 
  4. Чем больше стоплосс, тем длиннее время удержания позиции. И возможность надеяться на то, что цена вернется в сторону открытой позиции. 
  5. Чем меньше стоплосс, тем быстрее будут закрываться ложные сигналы. 
  6. Не имеет смысла использовать маленький стоплосс , которые меньше, чем дистанция усреднения Distance

 

Параметр TakeProfit - Тейкпрофит  позиции. 

Оптимизация значений: Рекомендуется устанавливать параметры индивидуально для каждой пары. 

  1. Например: Если это валютная пара EURUSD и Вы торгуете на периоде M30 и среднее движение цены в период , например, 50 баров = 7500 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 25, стоп 500. 
  2. Например: Если это валютная пара XUGUSD и Вы торгуете на периоде M1 и среднее движение цены в период , например, 50 баров = 100 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 5, стоп 100.
  3. Можно устанавливать тейкпрофит в расчете Стоплосс/2 или Стоплосс/3. 
  4. Чем больше тейкпрофит , тем длиннее время удержания позиции. Вы можете упустить прибыль позиции, если она не достигнет цели тейкпрофита. 
  5. Чем меньше тейкпрофит , тем быстрее будут закрываться прибыльные сигналы. 
  6. Не имеет смысла использовать маленький тейкпрофит, которые меньше, чем дистанция дополнительного открытия DistanceAdditionalOpening

 

 

Блок 8: Lots options

Блок работы с фиксированным лотом и автолотом.

input string oo4="=========   Lots  options =========";
input double                     Lots=0.01;
input bool                       DynamicLot=false;
input double                     LotBalancePercent=0.01;
input double                     RiskRate=0;
input double                     MaxLot=999;
input double                     Martin=1;

Параметры MaxLot, RiskRate я не рекомендую изменять! Не имеет смысла оптимизировать.  

Параметр Lots - регулирует объем позиции. 

Оптимизация значений: Зависит от Вашего депозита. Например: При шаго лота в 0.01 и депозите 1000 $:  старт 0.01, шаг 0.01 стоп 0.1

  1. Этот параметр лучше оптимизировать после оптимизации остальных параметров стратегии.
  2. При увеличение лота Вы увеличиваете прибыль, полученную с одной позиции. 
  3. При увеличении лота, Вы можете слить депозит. 
  4. Не имеет смысла оптимизировать при DynamicLot =true
  5. Рассчитывайте лот так, чтобы при открытии позиции с этим лотом, У вас было использовано только 1-2 % от баланса., Например:
  • Для открытия одной позиции лотом 0.01, Вам требуется 10 долларов свободной маржи.
  • При использовании стоплосса в 100 пунктов (где цена 1 пункта = 0.1 доллара) Вы получите убыток 10 долларов. Это 1 % от 1000 $ 

Параметр DynamicLot и  LotBalancePercent - регулирует авто расчет лота позиции. 

Оптимизация значений: DynamicLot=true и LotBalancePercent с параметрами : старт 0.1 шаг 0.1 стоп 1

  1. Этот параметр лучше оптимизировать после оптимизации остальных параметров стратегии.
  2. Позволяет увеличивать лот при получении прибыли в геометрической прогрессии. 
  3. Может повлиять на итоговую прибыль.
  4. Не рекомендую использовать значения больше 1 %.

Параметр Martin - Включает Мартингейл при закрытии по стоплоссу. 

Оптимизация значений: старт 0.1, шаг 0.2, стоп 2

  1. Имеет смысл использовать, только при значении StopLoss>0
  2. Если Martin меньше 1, тогда каждая следующая позиция и ее лот будет меньше, чем предыдущая. 
  3. Значения меньше 1 имеет смысл использовать только тогда, когда Lots позиций больше, чем минимальный лот на сервере. 
  4. Если Martin больше 1, тогда каждая следующая позиция и ее лот будет больше, чем предыдущая. 
  5. Чем выше значение Martin , тем опаснее торговля советником.
  6. Мартингейл это очень простая  и опасная стратегия. 
  7. Рекомендую проверить и почитать о нашей стратегии торговли по мартингейлу : Two Sides

 

Блок 9:  Averager  options

Блок работы с открытием против тренда. Усреднение позиций.

input string oo2="=========   Averager  options =========";
input bool                       AverageUSE=true;
input bool                       OnlyModify=false;
input int                        TakeProfitALL=200;
input int                        Distance=500;
input double                     DistanceMartin=1;
input double                     LotsMartin=1;
input int                        MaxOrdersOpen=5;

Параметры OnlyModifyя не рекомендую изменять! Не имеет смысла оптимизировать.  

Параметр AverageUSE - Включает функции усреднения. Только при  AverageUSE=true можно оптимизировать другие параметры! 

Оптимизация значений: True - FALSE

  1. Усреднение позиций может загружать Ваш депозит дополнительными позициями. 
  2. Стратегия усреднения требует баланс, который больше, чем стандартный депозит (без усреднения) минимум в 3 раза. 
  3. Усреднение позиций это попытка сопровождения убыточной позиции в прибыль. 
  4. При использовании рекомендованного депозита, позволяет увеличить количество прибыльных сделок до 70-90%
  5. При использовании усреднения, советник будет пытаться вывести ложный сигнал в прибыль. При этом другие сигналы будут игнорироваться до тех пор, пока серия усреднения не закроется. 

Параметр TakeProfitALL - Модифицирует тейкпрофит всех позиций на 1 уровень

Оптимизация значений: 10-50-1000 (старт = 10, шаг = 50, стоп = 1000)

  1. Служит дополнительной защитой позиций, Если у Вас отключили свет. 
  2. Имеет смысл, если ВЫ не используете Дополнительное открытие AdditionalOpening=false

Параметр Distance - Дистанция, на которой открываются дополнительные позиции против тренда!

Оптимизация значений: Рекомендуется устанавливать параметры индивидуально для каждой пары. 

  1. Например: Если это валютная пара EURUSD и Вы торгуете на периоде M30 и среднее движение цены в период , например, 50 баров = 7500 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 25, стоп 500. 
  2. Например: Если это валютная пара XUGUSD и Вы торгуете на периоде M1 и среднее движение цены в период , например, 50 баров = 100 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 5, стоп 100.
  3. Еще один способ оптимизации этого параметра, это использование среднего спреда по выбранной валютной паре. Этот метод используется в нашем советнике TickSniper
  4. Например: Средний спред по валютной паре = 3 пункта, тогда дистанция усреднения = 50 * 3 = 150 пунктов. При этом оптимизацию можно задавать так: 100-25-250
  5. Подробнее о рекомендациях, относительно дистанции усреднения: Averager для мт4 и мт5
  6. Чем выше значения дистанции, тем дольше советнику требуется времени, чтобы вывести серию позиций в общую прибыль
  7. Чем меньше значение дистанции усреднения, тем больше нагрузка на ваш баланс. Тем больше будут открываться позиций. Тем быстрее можно получить прибыль, но при этом будет большая нагрузка на ваш торговый счет!

Параметр DistanceMartin - Увеличение дистанции Distance  на каждой дополнительной позиции!

Оптимизация значений:Только в крайних случаях,  1-0.1-2

  1. Этот параметр следует оптимизировать только в том случае, если Вам необходимо увеличить  дистанцию при каждой новой позиции из серии.
  2. Если Distance   слишком маленький, тогда DistanceMartin позволяет увеличивать шаг сетки усреднения. 
  3. Если DistanceMartin меньше 1, тогда шаг сетки усреднения и Distance будут уменьшаться при открытии каждой дополнительной позиции усреднения!
  4. Если DistanceMartin больше 1, тогда шаг сетки усреднения и Distance будут увеличиваться при открытии каждой дополнительной позиции усреднения!

 

Параметр LotsMartin - Увеличение лота на каждой дополнительной позиции!

Оптимизация значений:Только в крайних случаях,  1-0.1-2

  1. Позволяет уменьшить время на то, чтобы серия позиций вышла в прибыль.
  2. Может давать нагрузку на Ваш торговый счет и баланс.
  3. Рекомендуется использовать только при достаточном объеме баланса!
  4. Если LotsMartin меньше 1, тогда лот следующего  усреднения будет уменьшаться при открытии каждой дополнительной позиции усреднения!
  5. Если LotsMartin больше 1, тогда лот следующего  усреднения будет увеличиваться при открытии каждой дополнительной позиции усреднения!

Параметр MaxOrdersOpen - Ограничение на количество дополнительных позиций усреднения против тренда!

Оптимизация значений:Только в крайних случаях,  0 - 1 - 10

  1. Позволяет ограничить нагрузку на депозит, путем ограничения количества новых дополнительных позиций. 
  2. Я использую значения 5. Но вы можете оптимизировать это значения, для получения лучших результатов. 

Блок 10:  Additional opening

Блок работы с открытием по тренду. Дополнительное открытие.

input string oo10="=========   Additional opening   =========================================";
input bool                       AdditionalOpening=false;
input bool                       OnlyModifyAdditionalOpening=false;
input int                        StopLossALL=0;
input int                        DistanceAdditionalOpening=100;
input double                     LotsMartinAdditionalOpening=1;
input int                        MaxOrdersOpenAdditionalOpening=0;

Параметры OnlyModifyAdditionalOpeningя не рекомендую изменять! Не имеет смысла оптимизировать.  

Параметр AdditionalOpening - Включает функции дополнительного открытия по тренду. Только при AdditionalOpening=true можно оптимизировать другие параметры! 

Оптимизация значений: True - FALSE

  1. Дополнительное открытие позиций позволяет получить больше прибыли, если сигнал был очень прибыльным.
  2. Дополнительная позиция может получить убыток и снизить прибыль от первоначальной серии.
  3. Позволяет строить сетку позиций в сторону прибыли
  4. Имеет смысл использовать вместе с Безубытком или Трейлингстопом 

Параметр StopLossALL - Модифицирует стоплосс всех позиций на 1 уровень

Оптимизация значений: 10-50-1000 (старт = 10, шаг = 50, стоп = 1000)

  1. Служит дополнительной защитой позиций, Если у Вас отключили свет. 
  2. Имеет смысл, если ВЫ не используете Усреднение AverageUSE=false

Параметр DistanceAdditionalOpening - Дистанция, на которой открываются дополнительные позиции по тренду!

Оптимизация значений: Рекомендуется устанавливать параметры индивидуально для каждой пары. 

  1. Например: Если это валютная пара EURUSD и Вы торгуете на периоде M30 и среднее движение цены в период , например, 50 баров = 7500 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 25, стоп 500. 
  2. Например: Если это валютная пара XUGUSD и Вы торгуете на периоде M1 и среднее движение цены в период , например, 50 баров = 100 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 5, стоп 100.
  3. Еще один способ оптимизации этого параметра, это использование среднего спреда по выбранной валютной паре. 
  4. Например: Средний SPREAD по валютной паре = 3 пункта, тогда дистанция усреднения = 50 * 3 = 150 пунктов. При этом оптимизацию можно задавать так: 100-25-250

 

Параметр LotsMartinAdditionalOpening - Увеличение лота на каждой дополнительной позиции!

Оптимизация значений:Только в крайних случаях,  1-0.1-2

  1. Может давать нагрузку на Ваш торговый счет и баланс.
  2. Рекомендуется использовать только при достаточном объеме баланса!
  3. Если LotsMartinAdditionalOpening меньше 1, тогда лот следующей дополнительной позиции будет уменьшаться при открытии каждой дополнительной позиции!
  4. Если LotsMartinAdditionalOpening больше 1, тогда лот следующей дополнительной позиции  будет увеличиваться при открытии каждой дополнительной позиции!

Параметр MaxOrdersOpenAdditionalOpening - Ограничение на количество дополнительных позиций по тренду!

Оптимизация значений:Только в крайних случаях,  0 - 1 - 10

 

 

Блок 11:  BreakEven WithoutLOSS  options

Блок включения безубытка.

input string MovingInWLUSE_="=========   BreakEven WithoutLOSS  options =========";
input bool                       MovingInWLUSE=false;
input int                        LevelWLoss=0;
input int                        LevelProfit=0;

Параметр MovingInWLUSE - Включает функции установки стоплосса в безубыток. Только при MovingInWLUSE=true можно оптимизировать другие параметры! 

Оптимизация значений: True - FALSE

Параметр LevelWLoss - Уровень установки стоплосса в прибыль. Параметр LevelProfit - Значение прибыли в пунктах, когда начинает работать безубыток

Оптимизация значений: 0-5-50

  1. Параметр LevelProfit всегда должен быть больше, чем LevelWLoss 
  2. Вы можете установить оптимизацию LevelProfit в значения 25-5-100, а значение LevelWLoss в 0-5-50
  3. Чем Выше значение LevelProfit тем больше нужно позиции пройти в прибыль, чтобы советник установил безубыток. Это защита от маленького безубытка, но ВЫ можете упустить прибыль. 
  4. Чем больше разница между LevelProfit и LevelWLoss , тем менее чувствителен порог срабатывания безубытка. 

 

Блок 12:  Standard Trailing  options

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

input string Trailing_="=========   Standard Trailing  options =========";
input bool                       TrailingStopUSE=true;
input bool                       IfProfTrail=true;
input int                        TrailingStop=100;
input int                        TrailingStep=1;
input bool                       SaveTPafterTrailingStop=false;

Параметры IfProfTrail и TrailingStep и SaveTPafterTrailingStopя не рекомендую изменять! Не имеет смысла оптимизировать.  

Параметр TrailingStopUSE- Включает функции сопровождения и модификации стоплосса в прибыль. Только при TrailingStopUSE=true можно оптимизировать другие параметры! 

Оптимизация значений: True - FALSE

  1. Отличие TrailingStop и BreakEven в том, что трейлингстоп устанавливает BreakEven и дальше тянет стоплосс в прибыль, если это позволяет ситуация на рынке. 
  2. Вы можете использовать разные значения параметров для TrailingStop  и безубытка. Нет смысла использовать одинаковые параметры.

Параметр TrailingStop  - Дистанция установки стоплосса от текущей цены. При этом позиция должна собрать TrailingStop  пунктов прибыли. 

Оптимизация значений: 0-10-100 (При среднем движении валютной пары 200-300 пунктов в день)

  1. Чем Выше значение TrailingStop  тем больше нужно позиции пройти в прибыль, чтобы советник установил безубыток и дальше сопровождал позицию. Это защита от маленького безубытка, но ВЫ можете упустить прибыль. 

 

Блок 13:  TrailingStop by SAR

Блок включения трейлингстопа по индикатору SAR.

input string periods6="=========  TrailingStop by SAR =====================================";
input bool                       TrailingStopSAR=false;
input ENUM_TIMEFRAMES            TrailingStopSAR_TimeFrame=PERIOD_CURRENT;
input double                     step=0.02;
input double                     maximum=0.2;

Параметры TrailingStopSAR_TimeFrame и step и maximumя не рекомендую изменять! Не имеет смысла оптимизировать.  

Параметр TrailingStopSAR - Включает функции сопровождения и модификации стоплосса в прибыль по точкам индикатора PARABOLIC. Только при TrailingStopSAR =true можно оптимизировать другие параметры! 

Оптимизация значений: True - FALSE

  1. Позволяет устанавливать стоплосс на экстремумы индикатора. 
  2. Всегда держит расстояние от текущей цены до экстремума, вычисляя дистанцию автоматически
  3. Не имеет смысла использовать вместе с TrailingStopUSE=true

 

Блок 14:  Time Trade options

Блок управления работой советника по времени

input string oo6="=========  Time Trade options========================================";
input bool                       TradeStartStopbyTime=false;
input string                     SeveralTimeWork="";
input string periods41="=== Time Trade Start/Stop Time ============================";
input int                        OpenHour=0;
input int                        OpenMinute=0;
input int                        ClosePeriod_Minute=0;
input int                        CloseHour=23;
input int                        CloseMinute=59;

input typeofclosebyouttime CloseAllTradesByOutOfTime=NotUse;
input string periods43="=== Time Trade Days ============================";
input bool                       TradeByDays=false;
input string                     Days="1,2,3,4,5,6,0";
input int                        DayForOptimization=0;
input string periods42="=== Time Trade Monday ============================";
input bool                       TradeStartbyTimeMonday=false;
input int                        OpenHourMonday=0;
input int                        OpenMinuteMonday=0;
input string periods44="=== Time Trade Friday ============================";
input bool                       TradeStartStopbyTimeFriday=false;
input int                        OpenHourFriday=0;
input int                        OpenMinuteFriday=0;
input int                        CloseHourFriday=23;
input int                        CloseMinuteFriday=59;
input bool                       CloseFriday=false;

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

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

Только при TradeStartStopbyTime=true имеет смысл оптимизировать остальные параметры!

Я могу советовать оптимизацию только таких параметров:

  1. OpenHour = 0-1-23
  2. CloseHour = 0-1-23
  3. TradeByDays= True-False
  4. DayForOptimization = 0-1-6

 

Блок 15:  CloseALL when Profit or LOSS  options

Блок закрытия по общей прибыли.

input string CloseProfitLoss="=========   CloseALL when Profit or LOSS  options =========";
input typeprofloss               TypeofClose=1;
input bool                       CloseProfit=false;
input double                     prifitessss=10;
input bool                       CloseLoss=false;
input double                     lossss=-10;
input double                     TrailOptions=0;
input double                     TrailOptionsStep=0;
input double                    BalanceStart=0;
input bool                      ForcedClose=true;
input bool                      MailSend;
input bool                      Orderdelete=true;
input bool                       OFFAfterClosePROF=false;
input bool                       OFFAfterCloseLOSS=false;
input bool                       CloseTerminalAfterClosePROF=false;
input bool                       CloseTerminalAfterCloseLOSS=false;

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

Например: При открытии нескольких позиций или хаотичное открытие позиций. 

Имеет смысл оптимизировать при включении TypeofClose=PercentBalance следующие параметры:

  1. CloseProfit=True-False;
  2. prifitessss=0.1-0.1-1
  3. CloseLoss=True-False;
  4. lossss=(-0.1)-(-0.1)-(-1)

 

Остальные параметры советника

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

 

 

Оптимизация советника в примерах

Наши советники имеют одинаковый алгоритм сигналов и функций. 

Но ввиду отличий терминалов MT5 и МТ4 могут быть погрешности в исполнении. 

Тестер стратегий в терминале MT5, на текущий момент, самый технологичный и точный. 

Самой важной особенностью терминала MetaTrader 5 и Strategy Tester является возможность тестировать на реальных тиках. Спред и стоп уровни в MetaTrader 5 плавающие. Это означает то, что тестирование в тестере стратегий MT5 максимально  приближено к условиям реальной торговли. 

Мы не будем останавливаться на тестировании и оптимизации в терминале MetaTrader 4! Вы уже знаете как в нем тестировать. А процесс оптимизации похож на процесс мт5 (Настройки и запуск)

Но главной особенностью тестера стратегий от МТ5  - это конечно же возможность оптимизировать в облаке MQL5 Cloud Network

Облако позволяет за минимальную цену оптимизировать советника на тысячах других компьютерах. Это очень дешево и быстро. Поэтому я настоятельно рекомендую использовать облако MQL5.

 

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

Помните: Каждая валютная пара и брокер имеют свои условия торговли (Спред, своп, комиссия, способ расчета, исполнение, тип счета), поэтому результаты оптимизации могут отличаться! 

Для того, чтобы результаты были более и менее похожи, Вам необходимо отключать Случайную Задержку. Для оптимизации она не нужна!

 

Настройка тестера стратегий:

  1. Выберите советника из списка. 
  2. Установите ту валютную пару, для которой будете проводить тест.
  3. ТФ лучше выбрать М1. (TimeFrame будет задавать советник из своих настроек)
  4. Дата оптимизации - можете выбрать текущий год! Помните! Результаты в прошлом, не могут гарантировать прибыль в будущем! Оптимизация каждые пол года - самый практичный диапазон!
  5. Forward можно установить на 1 месяц. Но мы советуем получать чистые результаты. А потом уже проводить Forward Test 
  6. Депозит (Deposit) лучше установить тот, с которого вы начнете свою торговлю. Не нужно устанавливать слишком маленький баланс. А также слишком большой!
  7. Кредитное плечо выставляйте то, на котором будете торговать. 
  8. Оптимизация Slow Complete algorithm
  9. и обязательно! Every tick, based on real ticks!

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

  1. Откройте вкладку Inputs и загрузите наш Set файл 
  2. Установите или снимите галочки на тех параметрах, которые Вы хотите оптимизировать. ( По умолчанию я настроил файл так, чтобы Вы могли оптимизировать по всем важным параметрам )
    1. Значение (Value) - Это зафиксированное значение параметра. Советник будет брать это значение, если этот параметр не оптимизируется. Или при тестировании! 
    2. Старт (Start) - Начальное значение параметра для оптимизации.
    3. Шаг (Step) - Шаг изменения параметра при каждом прогоне оптимизатора.
    4. Стоп (Stop) - Конечное значение параметра для оптимизации. 
  3. Помните! Чем больше параметров и шагов для оптимизации, тем больше времени необходимо для завершения тестирования и оптимизации!

Включение возможности оптимизации в облаке

Я настоятельно рекомендую включать ОБЛАКО ОПТИМИЗАЦИИ! 

При этом, я отключаю работу своего процессора. Таким образом мой компьютер не тормозит при оптимизации. А себестоимость одного прохода в облаке получается меньше , чем 0.01 цента!

 

 

 

Нажимаем кнопку START и идем по своим делам!

 

 

Результаты оптимизации

Оптимизация по всем параметрам можно провести за 2-3 дня. 

Это достаточно долго, Но Вы получите результаты всех проходов. 

За более, чем 20 000 проходов мы потратили на оптимизацию около 6 долларов. Вы можете регулировать количество проходов, ограничивая количество оптимизирующих параметров. 

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

 

Допустим мы получили результаты по нашей оптимизации. 

Выбираем столбец Profit и сортируем результаты по самому большой прибыли. 

 

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

 

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

И если они нам подходят, тогда Мы можем сохранить набор настроек! 

 

Помните: Результаты тестирования только на 99% правдивы. На реальных счетах у Вас могут быть задержки исполнения приказов, Проскальзывания, Отключения электричества и другие факторы. 

 

Мультивалютное тестирование и оптимизация в терминале MetaTrader 5

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

Настраиваем оптимизацию по символам:

Запускаем оптимизацию и получаем результаты:

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

Как Вы видите по результатам оптимизации по валютным парам. Этот набор настроек дает хороший результат только на 4 валютах из 11!

 

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

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

+ Вы можете узнать результат работы советника, который одновременно торгует на 10 валютных парах. 

Для этого воспользуйтесь параметрами: 

input string pair="========= Symbols options =========";
input string PAIR1="";
input string PAIR2="";
input string PAIR3="";
input string PAIR4="";
input string PAIR5="";
input string PAIR6="";
input string PAIR7="";
input string PAIR8="";
input string PAIR9="";
input string PAIR10="";
input string PAIR11="";
input string PAIR12="";

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

PAIR1=EURUSD.m
PAIR2=USDCHF.m
PAIR3=USDJPY.m
PAIR4=XAUUSD.m
PAIR5=XAGUSD.m
PAIR6=EURGBP.m
PAIR7=EURJPY.m
PAIR8=EURCHF.m
PAIR9=GBPUSD.m
PAIR10=GBPJPY.m
PAIR11=GBPCHF.m

Если тестирование не начинается и ВЫ получаете ошибку:

2018.05.14 10:42:15.916 Core 1 2018.01.01 00:00:00 Check in MarketWatch EURUGBP.m !
2018.05.14 10:42:15.916 Core 1 OnInit critical error

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

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

 

Выводы

Оптимизация и тестирование советников достаточно нужное занятие. 

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

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

Мы работает уже более 10 лет и знаем, что такое торговые эксперты. 

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

  1. Тестируйте и находите свои параметры для торговли, которые будут Вас радовать.!
  2. Проводите оптимизацию каждые пол года!
  3. Следите за советником, изучайте журнале и лог файлы, будьте внимательны к советнику!
  4. Регулируйте параметры советников в зависимости от новостей.

Изучайте материалы по торговле на форекс.

The X: Тестирование и Оптимизация_1 The X: Тестирование и Оптимизация_2 The X: Тестирование и Оптимизация_3 The X: Тестирование и Оптимизация_4 The X: Тестирование и Оптимизация_5 The X: Тестирование и Оптимизация_6 The X: Тестирование и Оптимизация_7 The X: Тестирование и Оптимизация_8 The X: Тестирование и Оптимизация_9 The X: Тестирование и Оптимизация_10 The X: Тестирование и Оптимизация_11 The X: Тестирование и Оптимизация_12 The X: Тестирование и Оптимизация_13 The X: Тестирование и Оптимизация_14 The X: Тестирование и Оптимизация_15
Здесь можно скачать The X: Тестирование и Оптимизация
Купить The X: Тестирование и Оптимизация можно здесь - Прочитать о The X: Тестирование и Оптимизация можно здесь - Обсуждение The X: Тестирование и Оптимизация - стейты, отзывы, комментарии - Отзывы о The X: Тестирование и Оптимизация - Настройки к The X: Тестирование и Оптимизация - Мониторинг The X: Тестирование и Оптимизация - Download The X: Тестирование и Оптимизация - Buy The X: Тестирование и Оптимизация - Read about The X: Тестирование и Оптимизация - Discusion of The X: Тестирование и Оптимизация - Comments of The X: Тестирование и Оптимизация - Settings The X: Тестирование и Оптимизация - Monitoring The X: Тестирование и Оптимизация - The X: Тестирование и Оптимизация скачать бесплатно - The X: Тестирование и Оптимизация ключ - The X: Тестирование и Оптимизация открытый код - The X: Тестирование и Оптимизация скачать
-