Безграничные возможности с MetaTrader 5 и MQL5

Anatoli Kazharski | 14 мая, 2012

"Чтобы прийти к чему-то, нужно пройти через что-то, иначе не придешь ни к чему."

Содержание

   Вступление
   1. Условия торговой системы
   2. Внешние параметры
   3. Оптимизация параметров
      3.1. Первый вариант сета
         3.1.1. Общие параметры и правила
         3.1.2. Настройки тестера
         3.1.3. Анализ полученных результатов
         3.1.4. Приложение BOOK REPORT для анализа результатов оптимизации и тестирования
         3.1.5. Система управления капиталом
      3.2. Второй вариант сета
      3.3. Возможные варианты сетов
   4. Тестирование в режиме визуализации
   5. Интерфейс и элементы управления
   6. Информационные панели TRADE INFO и MONEY MANAGEMENT
   7. Информационно-торговая панель в левой части графика
      7.1. Раздел PARAMETERS SYSTEM
      7.2. Раздел CLOCKS OF TRADING SESSIONS
      7.3. Раздел MANUAL TRADING
         7.3.1. Секция BUY/SELL/REVERSE
         7.3.2. Секция CLOSE POSITIONS
         7.3.3. Секция SET PENDING ORDERS
         7.3.4. Секция MODIFY ORDERS/POSITIONS
         7.3.5. Секция DELETE PENDING ORDERS
      7.4. Раздел TRADING PERFORMANCE
      7.5. Раздел ACCOUNT/SYMBOLS INFO
  8. Дополнительные индикаторы для использования эксперта
  Заключение

Вступление

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

Еще я хотел бы раскрыть свое виденье о том, на что следует обращать внимание при оптимизации параметров и тестировании системы. На что следует обращать внимание при настройке системы управления капиталом. Какой максимум можно выжать из системы используя только один стандартный индикатор с одним параметром. Как может выглядеть расширенный торговый отчет, и насколько многофункциональным он может быть. Чтобы аккорд был полным, то следует отметить, что из этой статьи можно почерпнуть некоторые идеи, как можно совместить в одной программе возможности для автоматической, полуавтоматической и ручной торговли.

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

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

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

Перед тем, как начать, вспомнил, что в одной из книг по торговле на финансовых рынках, которую я читал, автор написал, что прибыльная система может быть проста настолько, что ее описание поместится на бампере вашего автомобиля. Я очень много пробовал простых систем и, к сожалению, у меня это не вышло… Но это конечно еще не значит, что таких быть не может. :)

1. Условия торговой системы

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

На рисунке ниже показано, как выглядит индикатор Price Channel:

Рис. 1. Модифицированный индикатор Price Channel (5 уровней)

Рис. 1. Модифицированный индикатор Price Channel (5 уровней)


Далее для сокращения эти уровни будем называть так (перечисление идет по порядку сверху вниз):

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

Блок условий для открытия, закрытия или переворота уже существующей позиции в этой системе делится на четыре группы:

  1. Пересечение уровня ML_PCH вверх на покупку / Пересечение уровня MH_PCH вниз на продажу.
  2. Пересечение уровня M_PCH вверх на покупку / вниз на продажу.
  3. Пересечение уровня MH_PCH вверх на покупку / Пересечение уровня ML_PCH вниз на продажу.
  4. Пересечение уровня H_PCH вверх на покупку / Пересечение уровня L_PCH вниз на продажу.

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

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

Каждая группа условий из перечисленных выше работает независимо, как отдельная торговая стратегия, не пересекаясь с другими условиями. Эксперт отслеживает по магическим номерам (magic number или мэджик-номер), к какой группе относится та или иная позиция. В MetaTrader 5 на одном символе может быть только одна позиция, поэтому открытие субпозиции в момент, когда уже есть открытая позиция, по тому или иному условию является, по сути, наращиванием или уменьшением совокупного объема.

В качестве вводной и примеров кода по реализации подобных схем можно прочитать статьи: "Оптимальный метод подсчета объема совокупной позиции по заданному магическому номеру" и "Использование ORDER_MAGIC для торговли разными экспертами на одном инструменте". Там же, в обсуждении этих статей, как раз один из авторов раскрыл некоторые проблемные моменты, над которыми нужно еще поработать.

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

Перечислим ситуации, при которых учет объемов может быть нарушен:

Во всех из перечисленных выше ситуаций эксперт восстанавливает корректно учет объемов субпозиций. При уже существующей схеме в эксперте можно будет включить любую другую ситуацию, которая может привести к неправильному учету. Я назвал эту схему magic point или магическая точка. :) Думаю, что этому вопросу нужно посвятить отдельную статью.

Для каждой субпозиции выставляются свои Stop Loss и Take Profit. Опять же, так как эти уровни могут быть только в одном экземпляре в их истинном смысле, то вместо реальных Stop Loss и Take Profit при открытии позиции выставляются отложенные ордера, что по сути то же самое, но только в том случае, если есть постоянная связь с интернетом. То есть, если по тому или иному условию открывается субпозиция, например, BUY, то сразу же выставляются отложенные ордера с таким же объемом.

В качестве Stop Loss выставляется отложенный ордер Sell Stop, а в качестве Take Profit отложенный ордер Sell Limit. Постоянная связь с интернетом должна быть потому, что если в момент отсутствия связи на стороне сервера сработает тот или иной ордер, относящийся к той или иной субпозиции, противоположные отложенные ордера не удалятся и, если отсутствие связи будет продолжаться, то результат может быть непредсказуемым.

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

VPS (англ. Virtual Private Server) или VDS (англ. Virtual Dedicated Server) — услуга, в рамках которой пользователю предоставляется так называемый Виртуальный выделенный сервер.

Ниже показан пример, когда открывается позиция BUY (слева) и SELL (справа) при исполнении первого условия (пересечение M_PCH):

Рис. 2. Открытие позиции по первому условию

Рис. 2. Открытие позиции по первому условию

Если позиция открылась, и через какое-то время сработал Stop Loss (отложенный ордер), то отложенный ордер Take Profit сразу же удаляется. Также удаляется и Stop Loss, если сработал Take Profit. Таким же образом работает алгоритм для всех остальных субпозиций.

Для каждой субпозиции устанавливаются свои Stop Loss и Take Profit, и также эксперт удаляет отложенные ордера, когда они больше не нужны. Если исполняется противоположное условие и субпозиция уже есть, то происходит переворот. Отложенные ордера от предыдущей субпозиции удаляются и устанавливаются заново для новой субпозиции.


Пример ниже показывает, когда открываются позиции BUY (слева) и SELL  (справа) при исполнении второго условия (пересечение ML_PCH/MH_PCH):

Рис. 3. Открытие позиции по второму условию

Рис. 3. Открытие позиции по второму условию

Далее показаны примеры открытия позиции по третьему (BUY - MH_PCH / SELL - ML_PCH) и четвертому (BUY - H_PCH / SELL - L_PCH) условиям:

Рис. 4. Открытие позиции по третьему условию

Рис. 4. Открытие позиции по третьему условию

Рис. 5. Открытие позиции по четвертому условию

Рис .5. Открытие позиции по четвертому условию

Для визуального отслеживания сигналов индикатор Price Channel был еще более расширен. На рисунке ниже показано, как выглядит индикатор при включении всех опций относящихся к сигнальной части:

Рис. 6. Индикатор MultiSignals_PCH

Рис. 6. Индикатор MultiSignals_PCH

Эта версия индикатора выложена в свободный доступ в Code Base (индикатор MultiSignals_PCH). Там же можно ознакомиться с его подробным описанием. Здесь можно только отметить, что любой сигнал можно исключить из отображения на графике и этим можно воспользоваться при создании рабочего окружения из эксперта, что будет далее продемонстрировано.

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

На самом деле такая ситуация может быть очень редкой, но там где фигурируют деньги, мер безопасности мало не бывает и нужно максимальным образом подготовиться к различного рода ситуациям. Лучше переоценить, чем недооценить. Чтобы подстраховаться от таких форс-мажоров, нужно просто устанавливать реальные уровни Stop Loss и Take Profit. Устанавливать их нужно на таком расстоянии, чтобы они не мешали работе эксперта и сработать смогли бы только тогда, когда контроль потерян. Другими словами это можно назвать "подушкой безопасности".

То есть, всегда для всех субпозиций в качестве Stop Loss и Take Profit устанавливаются отложенные ордера, а реальные Stop Loss/Take Profit устанавливаются за самыми дальними по обе стороны отложенными ордерами. Реальные Stop Loss и Take Profit должны быть и в отложенных ордерах на тех же уровнях, так как, если отложенный ордер установить без них, то при его срабатывании позиция останется без защиты. На рисунке ниже можно увидеть только что описанную схему:

Рис. 7. Использование Stop Loss/Take Profit, как подушка безопасности

Рис. 7. Использование Stop Loss/Take Profit, как "подушка безопасности"

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



2. Внешние параметры

Во внешних параметрах эксперта значения для Stop Loss и Take Profit для каждой группы сигналов оптимизируются отдельно. Период для индикатора MultiSignals_PCH и таймфрейм, на котором рассчитываются его значения можно также оптимизировать отдельно для каждой группы, но есть возможность эти параметры оптимизировать для всех групп, как общие.

Перед тем, как выбрать направление, какую схему выбрать для разработки эксперта, я прочитал статьи, в которых авторы предложили примеры механизмов для создания мультивалютных торговых систем. Более простая для понимания схема изложена Николаем Косициным: "Создание эксперта, торгующего на разных инструментах". Более сложная схема с использованием ООП была предложена Василием Соколовым: "Создание мульти-экспертов на основе торговых моделей".

Ниже в таблице приведен сокращенный список параметров эксперта для одного символа (SYMBOL_01) (в этой версии эксперта 3 символа) и одной торговой стратегии (TS_01) или группы сигналов (в этой версии эксперта для каждого символа 4 группы). Префикс 01 означает принадлежность к порядковому номеру символа, чтобы не потеряться в большом количестве параметров.

Переменная Значение
 Number Of Try
 3
 Slippage
 100
 ================================== SYMBOL_01

 01 _ On/Off Trade
 true
 01 _ Name Symbol
 EURUSD
 * * * * * * * * * * * * * * * * * * * * * * * * * * *   

 01 _ On/Off Time Range
 false
 01 _ Hour of the Start of Trade
 10 : 00
 01 _ Hour of the End of Trade
 23 : 00
 01 _ Close Position in the End Day
 false
 01 _ Close Position in the End Week
 true
 * * * * * * * * * * * * * * * * * * * * * * * * * * *

 01 _ Period PCH (total)
 0
 01 _ Timeframe (total)
 1 Hour
 ---------------------------------------------------- TS_01

 01 _ Trade TS №01
 true
 01 _ Timeframe (sub)
 1 Hour
 ---

 01 _ ## - Type Entry
 #1 – Cross ML up/MH dw
 01 _ Period PCH (sub)
 20
 01 _ ## - Type Take Profit
 #1 - Points
 01 _ #1 - Points
 250
 01 _ ## - Type Stop Loss
 #1 - Points
 01 _ #1 - Points
 110
 ---------------------------------------------------- TS_02

 ---------------------------------------------------- TS_03

 ---------------------------------------------------- TS_04

 ================================== SYMBOL_02

 ================================== SYMBOL_03

 ---------------------------------------------------------------------- ##
 >>> MONEY MANAGEMENT
 Fix Lot
 0.1
 Money Management On/Off
 true
 Start Deposit
 10000
 Delta
 1000
 Start Lot
 0.1
 Step Lot
 0.01
 Stop Trade
 5000
 ---
 
 Max Draw Down Equity (%)
 50
 Stop Trade by Free Margin ($)
 3000
 Stop Loss/Take Profit by Disconnect (p)
 15
 ---------------------------------------------------------------------- ##
 >>> OPTIMIZATION REPORT
 Condition of Selection Criteria
 AND
 01 _ Statistic Criterion
 Profit
 -   01 _ Value Criterion
 0
 02 _ Statistic Criterion
 Profit Factor
 -   02 _ Value Criterion
 2
03 _ Statistic Criterion
 NO_CRITERION
 -   03 _ Value Criterion
 0
04 _ Statistic Criterion
 NO_CRITERION
 -   04 _ Value Criterion
 0
05 _ Statistic Criterion
 NO_CRITERION
 -   05 _ Value Criterion
 0
 ---------------------------------------------------------------------- ## >>> ADDON PARAMETERS
 Use Sound
 true
 Color Scheme
 Green-Gray

Фактически можно добавить любое количество символов и торговых стратегий, сделав их параметры внешними, самое главное - количество параметров должно укладываться в установленное разработчиками (MetaQuotes) торгового терминала (MetaTrader 5) ограничение, не более 1024 параметров.

Далее рассмотрим подробно все параметры эксперта:

Описание параметров эксперта
Number Of Try
Количество повторов при неудачной торговой операции. То есть, эксперт через определенные временные интервалы будет совершать очередную попытку, например, открыть позицию, если предыдущая попытка завершилась неудачей. Это относится ко всем торговым операциям.
Slippage
Допустимое проскальзывание цены. То есть, если при открытии позиции произошло проскальзывание, операция будет отменена. Возможно, имеет смысл воспользоваться этим параметром, если торговля ведется на малых таймфреймах.
On/Off Trade
Включает (true)/Выключает (false) торговлю по указанному символу.
Name Symbol
Название символа. Название должно быть введено так же, как в окне Обзор рынка торгового терминала.
On/Off Time Range
Включает(true)/Выключает(false) торговлю в указанном временном диапазоне.
Hour of the Start of Trade
Час, от которого начинать торговлю.
Hour of the End of Trade
Час, до которого можно вести торговлю.
Close Position in the End Day
Включает (true)/Выключает (false) режим, при котором позиция будет закрыта в конце дня.
Close Position in the End Week
Включает (true)/Выключает (false) режим, при котором позиция будет закрыта в конце недели.
Period PCH (total)
Если установлено значение больше нуля, то будет использоваться, как общий параметр для индикатора во всех торговых стратегиях этого символа.
Timeframe (total)
Если значение параметра Period PCH (total) больше нуля, то значение этого таймфрейма будет использоваться для индикатора.
Trade TS №01
Включает (true)/Выключает (false) торговлю для этой торговой стратегии.
Type Entry
Указывает, какую группу сигналов использовать в этом торговом блоке.
Period PCH (sub)
Если значение параметра Period PCH (total) равно нулю, то будет использоваться это значение для индикатора для этой торговой стратегии.
Type Take Profit
Указывает, какой использовать тип уровня фиксации прибыли (Take Profit) в этой торговой стратегии. В текущей версии эксперта два варианта: NO TAKE PROFIT, Points. То есть, без использования Take Profit и установка Take Profit по указанному количеству пунктов.
Points TP
Указывает расстояние в пунктах для уровня фиксации прибыли (Take Profit) в этой торговой стратегии.
Type Stop Loss
В текущей версии эксперта два варианта: NO STOP LOSS, Points. То есть, без использования Stop Loss и установка Stop Loss по указанному количеству пунктов.
Points SL
Указывает расстояние в пунктах для защитного уровня (Stop Loss) в этой торговой стратегии.
Fix Lot
Значение фиксированного лота. Если параметр Money Management On/Off в положении false, то объем лота в торговле берется из этого параметра.
Money Management On/Off
Включает (true)/Выключает (false) систему управления капиталом. Если в положении false, то торговля будет идти фиксированным лотом, значение которого находится в параметре Fix Lot.
Start Deposit
Начальная точка для расчета торгуемого лота в системе управления капиталом.
Delta
Величина, выраженная объемом средств, на который должен увеличиться/уменьшиться счет, после чего будет увеличен/уменьшен объем торгуемого лота.
Start Lot
Начальный лот, от которого будет осуществляться увеличение/уменьшение торгуемого лота.
Step Lot
Шаг лота. Величина, на которую будет осуществляться увеличение/уменьшение торгуемого лота.
Stop Trade
Если размер депозита уменьшится до этого значения, торговля будет остановлена.
Max Draw Down Equity (%)
Если размер депозита уменьшится до этого значения, торговля будет остановлена, а эксперт в целях безопасности удалится с графика. После удаления в журнале будет выведено сообщение о причине удаления. Во время тестирования или оптимизации параметров это правило также действует.
Stop Trade by Free Margin ($)
Перед торговой операцией (покупка/продажа) производится расчет, и если оказывается, что средств после торговой операции станет меньше, чем это значение, то операция произведена не будет.
Stop Loss/Take Profit by Disconnect (p)
Реальный Stop Loss и Take Profit. Устанавливаются за самым верхним и нижним текущими торговыми уровнями.
Condition of Selection Criteria
Есть два варианта для выбора AND (И) и OR (ИЛИ). Распространяется на критерии в блоке параметров OPTIMIZATION REPORT. Определяет, каким образом будут выбираться результаты оптимизации для записи в файл. Если выбран вариант AND, то должны выполниться все указанные условия. Если OR, то должно выполниться хотя бы одно из указанных условий.
Statistic Criterion
Из выпадающего списка можно выбрать, по какому показателю будет формироваться условие для фильтра записи результатов оптимизации в файл.
  • NO CRITERION
  • Profit
  • Total Deals
  • Profit Factor
  • Expected Payoff
  • Equity DD Max %
  • Recovery Factor
  • Sharpe Ratio
Запись в файл и соответственно создание файла не производится, если во всех параметрах с меткой Statistic Criterion выставлен вариант NO CRITERION.
Value Criterion
Значение (порог), на основании которого строится условие для фильтра записи результатов оптимизации в файл.

Например, если в параметре 01_Statistic Criterion выбран вариант Profit, а в 01_Value Criterion установлено значение 100, при этом все остальные параметры Statistic Criterion установлены с вариантом NO CRITERION, то в файл результатов оптимизации будут записываться только те результаты, количество сделок в которых превышает значение 100.
Use Sound
Включает (true)/Выключает (false) систему звукового оповещения о торговых операциях. На каждое событие/группу событий свой звук. Озвучены следующие события:
  • Ошибка при торговой операции.
  • Открытие позиции/Увеличение объема позиции.
  • Установка/Модификация отложенного ордера/Stop Loss/Take Profit.
  • Удаление отложенного ордера.
  • Уменьшение объема позиции.
  • Закрытие позиции с прибылью.
  • Закрытие позиции с убытком.
Color Schemes
Цветовая схема для ценового графика. Из выпадающего списка можно выбрать одну из восьми цветовых схем для графика.
  • Green-Gray.
  • Red-Beige.
  • Black-White.
  • Orange-Leaves.
  • Purple-Clouds.
  • Gray-LightGray.
  • Milk-Chocolate.
  • Night-Moon.


Что касается первого параметра (Number Of Try), то стоит привести события, которые обрабатывает эксперт.

Некоторые из них проверяются до проведения торговой операции, некоторые после, а некоторые для подстраховки и до и после.

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


3. Оптимизация параметров

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


3.1. Первый вариант сета

В параметры (01,02,03) _ Name Symbol введем разные значения. Например, EURUSD, AUDUSD, USDCHF. То есть, торговля будет вестись на указанных валютных парах.

Все вышеописанное можно представить в виде схемы, как на рисунке ниже:

Рис. 8. Схема первого варианта сета
Рис. 8. Схема первого варианта сета

Теперь нужно установить шаг для оптимизации каждого параметра. В качестве примера установим значения, как в таблице ниже. Эти значения нужно ввести во всех символах и блоках торговых стратегий. Параметр Timeframe (total) установим значение – 8 Hour. В разделе Настройки тестера будет подробное объяснение об особенностях тестирования в режиме Только цены открытия.

Следует также отметить, что оптимизацию параметров нужно проводить с отключенной системой управления капиталом, то есть с фиксированным лотом (0.1). Параметр Money Management On/Off должен быть в положении false. Настройкой параметров системы управления капиталом нужно заниматься отдельно, после того, как настроены все остальные параметры.

ПЕРЕМЕННАЯ СТАРТ
ШАГ СТОП
Period PCH (total)
5
1
30
Points TP
50
10
800
Points SL
50
10
200


Далее рассмотрим пять пунктов: Общие параметры и правила, Настройки тестера, Анализ полученных результатов, Приложение BOOK REPORT и Система управления капиталом. Эти пять пунктов распространяются на все варианты сетов, но в подробном изложении приведены будут только в этом (первом) описании варианта.


3.1.1. Общие параметры и правила

В поле параметра Max Draw Down Equity (%) установим значение 50. Этот фильтр будет останавливать проходы, максимальная просадка которых в процессе оптимизации окажется меньше 50%. Это также немного увеличит скорость оптимизации, не тратя время на проходы, которые не имеют "ценности".

Оптимизацию параметров нужно проводить для каждого символа отдельно. Это вынужденная мера обусловливается тем, что если количество оптимизационных проходов превышает значение 64 bit long, то оптимизацию провести невозможно из-за ограничения установленного разработчиками торгового терминала. Со всеми ограничениями можно ознакомиться в справке торгового терминала.


3.1.2. Настройки тестера стратегий

В закладке Настройки, тестера торгового терминала, установим параметры так, как показано на рисунке ниже:

Рис. 9. Параметры тестера стратегий

Рис. 9. Параметры тестера стратегий

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

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

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

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

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

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

Если не учитывать эти правила, то тогда оптимальным вариантом для оптимизации параметров будет режим OHLC на M1. Полезно провести тесты в разных режимах и сравнить результаты.

На компьютере с двухъядерным процессором оптимизация будет длиться приблизительно 4-5 часов (относительно этого сета).


3.1.3. Анализ полученных результатов

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

Например, с настройками, представленными выше, получились такие результаты для EURUSD:

Рис. 10. Результаты оптимизации на вкладке График оптимизации в тестере

Рис. 10. Результаты оптимизации на вкладке График оптимизации в тестере

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

Стоит также упомянуть, что степень уверенности будет еще тем больше, чем больше период тестирования в сочетании с критерием количества результатов в прибыльной зоне. Правда, чем больше период, тем дольше будет длиться оптимизация. Но здесь может помочь сервис MQL5 Cloud Network, который предоставляет компания MetaQuotes. За небольшую плату можно сократить время оптимизации во много раз, так как в оптимизации будет участвовать множество процессоров. С подробностями этого замечательного сервиса можно ознакомиться в статье MQL5 Cloud Network ускоряет расчеты. Также эта возможность будет весьма кстати, если для оптимизации было решено использовать режим OHLC на M1.

Если полученный результат оптимизации по тому или иному символу по каким-либо причинам не устраивает, то нужно попробовать провести оптимизацию на другом символе. Критерии, по которым можно для себя определить, какой результат будет считаться приемлемым, могут быть примерно такими. Например, максимальная просадка должна быть не более, чем 20 процентов. Значение фактора восстановления при этом должно быть не менее 2.00. Расстояние для защитного уровня Stop Loss должно быть меньше, чем расстояние для уровня фиксации прибыли Take Profit и т.д.

В MetaTrader 5 есть возможность проанализировать результаты с помощью нескольких инструментов. Графики оптимизации выше, называются Графики с результатами. Но есть еще Линейный график (1D), Плоский график (2D) и Объемный график (3D). Ниже показан результат теста для USDCHF и ниже для EURUSD на Объемном графике (3D):

Рис. 11. Результаты оптимизации на объемном графике (3D) для USDCHF

Рис. 11. Результат оптимизации на объемном графике (3D) для USDCHF

Рис. 12. Результаты оптимизации на объемном графике (3D) для EURUSD

Рис. 12. Результат оптимизации на объемном графике (3D) для EURUSD

На объемном графике хорошо видно, что есть довольно много значений параметра для индикатора MultiSignals_PCH (пологие участки зеленого цвета) в сочетании с разными значениями уровня защитного стопа (Stop Loss), которые подходят для торговли.

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

Рис. 13. Результаты теста в режиме Только цены открытия (первый вариант сета)

Рис. 13. Результаты теста в режиме Только цены открытия (первый вариант сета)

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

Он может быть немного лучше или хуже, чем в режиме Только цены открытия, но это несущественно. В данном случае тест длился около 12 минут (рисунок ниже).

Рис. 14. Результат теста в режиме Все тики (первый вариант сета)

Рис. 14. Результат теста в режиме Все тики (первый вариант сета)

В режиме OHLC на M1 тест длился ~1 минуту.


3.1.4. Приложение BOOK REPORT для анализа результатов оптимизации и тестирования

К эксперту в качестве дополнения прилагается приложение BOOK REPORT. Это приложение разработано с помощью языка программирования VBA. На самом деле это обычная книга Excel и для ее использования нужен только установленный на компьютере Excel 2010. Рассмотрим подробнее, что представляет собой приложение BOOK REPORT.

В книге отображается только одна вкладка – Файл, а в ней оставлены три категории: Последние, Создать и Печать. Это все, что осталось от Excel. :) Все остальное убрано, а основные действия для анализа полученных результатов оптимизации и тестирования автоматизированы и упрощены на максимальном уровне.

Рис. 15. Приложение BOOK REPORT в Excel 2010

Рис. 15. Приложение BOOK REPORT в Excel 2010

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

На рисунке ниже видно, как это выглядит:

Рис. 16. Данные результатов оптимизации

Рис. 16. Данные результатов оптимизации

На листе OptReport, в верхней части таблицы, расположены кнопки: CONNECT DATA, DIAGRAM, CROSS HAIR и FULL SCREEN MODE.

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

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

В приложении BOOK REPORT реализованы некоторые меры предосторожности от случайного удаления объектов. То есть, ни один объект выделить невозможно (кнопки, диаграммы, элементы дизайна), а соответственно и удалить.

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

  1. Контекстное меню, которое появляется при клике правой кнопкой мыши на ячейках. В нем сейчас только две опции: Копировать и Microsoft Word.
  2. Контекстное меню листов. В нем остались опции: Вставить…, Цвет ярлычка и Удалить лист.

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


3.1.5. Система управления капиталом

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

Управление капиталом ведется для счета в целом. Согласно так называемой Фиксировано-пропорционной тактике Райана Джонса, для того, чтобы к уже имеющемуся количеству лотов прибавить еще один, каждый из уже имеющихся должен "заработать" некое кол-во пунктов (последнее Джонс назвал "дельтой"). Например, если у нас есть депозит в 300 долларов, и мы торгуем 1 мини-лотом, определив дельту равной, допустим, тем же 300 долларам, то мы перейдем на 2 мини-лота, когда наберем (имеющимся 1 мини-лотом) 300 долларов.

Увеличение количества лотов до 3 произойдет только, когда теперь уже 2 мини-лота заработают (каждый) по дельте 300 долларов. То есть переход с 2 мини-лотов на 3 будет, когда мы к имеющимся 600 долларам добавим еще 2 х $300 = $600, т.е. при $1200, с 3 на 4 мини-лота при депозите в $1200 + ($300 х 3) = $1200 + $900 = $2100 и т.д. Таким образом, "по мере роста числа контрактов, сумма, необходимая для приобретения очередного количества контрактов, увеличивается пропорционально", откуда и название тактики. Уменьшение количества лотов реализовано по такой же схеме только в обратную сторону.

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

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

ПАРАМЕТРЫ
ЗНАЧЕНИЕ
Start Deposit
10000
Delta
300
Start Lot
0.1
Step Lot
0.01


После того, как тестирование закончено, нужно провести анализ полученного результата. На рисунках ниже показан результат теста:

Рис. 25. Результат теста в режиме Все тики с применением системы управления капиталом (первый вариант сета)

Рис. 25. Результат теста в режиме Все тики с применением системы управления капиталом (первый вариант сета)

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

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

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


3.2. Второй вариант сета

Ниже представлена схема выше описанного:

Рис. 26. Второй вариант сета
Рис. 26. Второй вариант сета

Установим шаг для оптимизации каждого параметра. В качестве примера установим значения, как в таблице ниже. Эти значения нужно ввести во всех символах и блоках торговых стратегий. Для параметра Timeframe (sub) установим фиксированное значение.

Оптимизация параметров должна проходить с отключенной системой управления капиталом. То есть, параметр Money Management On/Off должен быть в положении false.

Отличие этого (второго) варианта от предыдущего (первого) состоит в том, что период для индикатора MultiSignals_PCH для всех стратегий будет подбираться отдельно, и оптимизация будет проходить для всех торговых стратегий поочередно. Каждый раз при оптимизации той или иной стратегии все остальные должны быть отключены. Таймфрейм для всех ТС установим таким же, как в предыдущем тесте, то есть 8 Hour.

Параметр Старт Шаг Стоп
Period PCH (sub)
5
1
30
Points TP
50
10
800
Points SL
50
10
200


С подробным описанием пунктов Общие параметры и правила, Настройки тестера, Анализ полученных результатов, Приложение BOOK REPORT и Система управления капиталом можно ознакомиться в первом варианте сета. Здесь будут приведены только результаты тестов.

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

Ниже показан совокупный результат с фиксированным лотом (0.1):

Рис. 27. Результат теста в режиме Все тики (второй вариант сета)

Рис. 27. Результат теста в режиме Все тики (второй вариант сета)

Теперь применим к этой серии сделок систему управления капиталом с настройками, как в первом варианте:

Рис. 28. Результат теста в режиме Все тики с применением системы управления капиталом (второй вариант сета)

Рис. 28. Результат теста в режиме Все тики с применением системы управления капиталом (второй вариант сета)

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


3.3. Возможные варианты сетов

Эксперт реализован таким образом, что далеко не ограничивается только вышеописанными вариантами. Например, в параметр (01,02,03) _ Name Symbol можно внести название одного символа и тогда торговля будет идти на одном символе двенадцатью торговыми стратегиями. Параметры торговых стратегий в свою очередь можно настроить на разные таймфреймы. Или это будет один таймфрейм, но разные периоды индикаторов. То же самое относится и к уровням защиты и фиксации прибыли. Если отключить Take Profit или Stop Loss, то субпозиция будет закрываться по переворотному сигналу или по Stop Loss/Take Profit.

Можно попробовать настроить систему без уровней защиты и фиксации прибыли Stop Loss/Take Profit, тогда система будет просто переворотной. В этом случае в эксперте реализован следующий механизм. Блок сигналов для открытия и переворота позиции остается таким же, как это было описано выше в разделе Условия торговой системы. Также предусмотрено закрытие позиции, если цена все же пошла в убыточную сторону. Ниже в списке будут приведены сигналы выхода на случай отсутствия отложенного ордера типа Stop Loss в той же последовательности, как и в условиях на открытие субпозиций:

  1. Пересечение уровня H_PCH вверх на закрытие субпозиции SELL / Пересечение уровня L_PCH вниз на закрытие субпозиции BUY.
  2. Пересечение уровня H_PCH вверх на закрытие субпозиции SELL / Пересечение уровня L_PCH вниз на закрытие субпозиции BUY.
  3. Пересечение уровня M_PCH вверх на закрытие субпозиции SELL / Пересечение уровня M_PCH вниз на закрытие субпозиции BUY.
  4. Пересечение уровня M_PCH вверх на закрытие субпозиции SELL / Пересечение уровня M_PCH вниз на закрытие субпозиции BUY.

Первое и второе условия равны. Третье и четвертое условия равны. При тестировании на различных таймфреймах обнаружилось, что именно такие условия для выхода более приемлемы в случае отсутствия отложенного ордера типа Stop Loss. При такой схеме, в случае использования реального Stop Loss в качестве “подушки безопасности” (параметр Stop Loss/Take Profit by Disconnect (p)) он устанавливается на указанное в этом параметре количество пунктов, если нет больше отложенных ордеров от других субпозиций.

Если цена приближается/удаляется по отношению к реальному Stop Loss на ½ от указанного количества пунктов и в данный момент нет больше отложенных ордеров от других субпозиций, то Stop Loss модифицируется. То есть, передвигается за ценой на указанное количество пунктов, когда она удаляется, и отодвигается от цены, когда она приближается. Точно так же действует и Take Profit, если в настройках той или иной стратегии не указан отложенный ордер типа Take Profit. Принцип установки "подушки безопасности" для полного режима был описан в разделе Условия торговой системы.

Торговлю можно настроить на определенный временной диапазон для каждого символа в отдельности. Может быть, на каких-то символах лучше торговать в определенные часы. Также есть возможность закрывать все позиции в конце дня или в конце недели. Условия на закрытие позиции в конце определенного временного интервала работает и в полуавтоматическом режиме. Об этом будет более подробно рассказано в главе Раздел CLOCKS OF TRADING SESSIONS.

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


4. Тестирование в режиме визуализации

Не стоит, конечно же, забывать и о режиме визуализации в тестере стратегий.

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

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

Рис. 29. Информационные панели в режиме визуализации

Рис. 29. Информационные панели в режиме визуализации

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

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


5. Интерфейс и элементы управления

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

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

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

Рис. 30. Внешний вид графика после загрузки эксперта

Рис. 30. Внешний вид графика после загрузки эксперта


6. Информационные панели TRADE INFO и MONEY MANAGEMENT

Информационная торговая панель в правой части графика состоит из двух блоков: Trade Info и Money Management. В верхней части блока Trade Info слева и справа от названия блока расположены иконки (перечисление слева направо): Left Panel, Warning Indicator и Hide All Panels. При наведении курсора мыши на ту или иную иконку появляется всплывающая надпись (tooltip) и иконка меняет свой внешний вид (зеленый цвет сменяется на белый рассеянный свет).

Щелкнув по иконке Left Panel в левой части графика откроется торговая панель, к описанию которой вернемся позже. Вместе с открытием торговой панели около иконки Left Panel появится иконка Left Panel Down/Left Panel Up. На ней изображен треугольник-стрелка, который указывает направление, куда будет перемещена панель после щелчка по нему.

Если нет никаких препятствий для торговли, то иконка Warning Indicator зеленого цвета (зеленая лампочка). Если что-то не позволяет вести торговлю, то иконка Warning Indicator красного цвета (красная лампочка). В списке ниже перечислены причины, при которых загорается красная лампочка:

Щелкнув по иконке Warning Indicator в момент, когда лампочка красного цвета в левой части графика отобразится надпись с причиной невозможности проведения торговли. На рисунке ниже показано, как это выглядит, если, например, в текущий момент эксперту запрещено торговать (опция терминала). Убрать надпись можно также щелчком по иконке Warning Indicator.

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

Рис. 31. Сообщение с причиной невозможности торговать

Рис. 31. Сообщение с причиной невозможности проведения торговли

Кликнув на иконке Hide All Panels, все открытые панели сворачиваются, оставляя на графике кнопку SHOW в правом нижнем углу графика, нажав впоследствии на которую можно быстро восстановить настроенную до этого рабочую область:

Рис. 32. Кнопка SHOW

Рис. 32. Кнопка SHOW

Панель Trade Info содержит список некоторых торговых показателей. Те показатели, которые содержат в себе функцию, отображаются цветом MediumSeaGreen. То есть, если кликнуть по названию показателя, будет выполнена функция, содержащаяся в нем, и название будет окрашено синим цветом. И наоборот, если кликнуть по названию с синим цветом, все вернется в первоначальный вид.

В таблице ниже подробное описание показателей панели Trade Info и их функций:

Список показателей панели TRADE INFO
Account Equity ($)
Текущий уровень средств. Если средства больше, чем баланс, то значение зеленого цвета. Если средства меньше баланса, то значение отображается красным цветом.
Total Positions
Количество позиций в текущий момент времени.
Total Orders
Количество отложенных ордеров в текущий момент времени.
Loading Deposit (%)
Объем средств используемых в торговле выраженных в процентах.
~Total Risk/Real Profit (%)
Общий риск депозита/Реальная прибыль. То есть, рассчитывается объем средств, которые можно потерять при наихудших обстоятельствах. Значение приблизительное, так как не учитываются отложенные ордера между ценой открытия позиции и уровнем реального Stop Loss. Если расчет производить с учетом отложенных ордеров, то риск будет меньше, так как торговая система между ценой открытия и уровнем Stop Loss выставляет отложенные ордера, которые приходятся защитными уровнями у других субпозиций. Если реальный Stop Loss оказывается выше цены открытия, то показатель означает реальную, защищенную прибыль и отображается зеленым цветом. По умолчанию показатель отображается в процентах. Щелчок по названию переключает показатель в режим отображения в деньгах и окрашивает название показателя в синий цвет. Щелчок по синему названию возвращает все в первоначальный вид.
Current Size Lots
Текущий объем лота для торговли, используемый при торговле в автоматическом режиме.
Stops Level (p)
Показывает значение уровней Stop Level на текущем символе в пунктах. Щелчок по названию меняет цвет названия и устанавливает на графике горизонтальные штрихпунктирные линии отображающие уровни Stops Level. Уровни передвигаются вместе с ценой.
Freeze Level (p)
Показывает значение уровней Freeze Level на текущем символе в пунктах.
Spread Is Float (p)
Показывает значение спреда на текущем инструменте. Если спред плавающий, то отображается название Spread Is Float, иначе просто Spread. Щелчок по названию добавляет/убирает на графике линию Ask.
Swap Long (p)
Своп длинных позиций текущего символа.
Swap Short (p)
Своп коротких позиций текущего символа.


Описание показателей блока Money Management удобнее привести без таблицы. Блок Money Management разделен на три части. В верхней части содержатся две колонки: BALANCE и VOLUME. В колонке BALANCE отображаются уровни баланса, при которых будет увеличен и уменьшен объем лота для торговли, если система управления капиталом (Money Management) включена (true). В колонке VOLUME отображаются, соответственно объем, на который будет увеличиваться/уменьшаться лот. Если система опустилась до минимального лота, то вместо объема будет красная надпись, например: Not Less Than 0.01. Если система управления капиталом (Money Management) отключена (false), то все значения в этой части блока нулевые.

В средней части информационного блока Money Management отображаются параметры системы управления капиталом эксперта. Описание параметров было приведено выше в таблице Описание параметров эксперта. Значения этих параметров неизменны в процессе торговли, и изменить их можно только во внешних параметрах эксперта.

В нижней части информационного блока Money Management отображаются показатели, которые имеют отношение к риск-менеджменту. Описание этих параметров также можно посмотреть выше в таблице Описание параметров эксперта. Здесь же следует отметить, что значение параметра Max Draw Down Equity (%) отображает установленное ограничение справа от разделителя (/), а слева можно наблюдать за текущей просадкой счета по Equity.

В момент достижения установленного уровня ограничения просадки счета, все открытые позиции закрываются, а если есть установленные отложенные ордера, они будут удалены. В момент достижения просадки, значение показателя отображается красным цветом. Например: ! 22.01/20.00 ! . То есть, это означает, что уровень ограничения просадки был установлен на 20%, а сейчас просадка уже 22%.

Значение показателя Stop Trade by Free Margin ($) также изменяется в красный цвет, если после покупки/продажи в объеме, который отображается в информационном блоке Trade Info в показателе Current Size Lots, объем свободных средств окажется равным либо меньше, чем установленное значение. Например: ! 5000 ! . Эксперт не будет осуществлять покупку/продажу до тех пор, пока средств не станет достаточно для проведения этих торговых операций.

Значение последнего в списке показателя SL/TP by Disconnect (p) показывает или количество пунктов, установленное в параметре эксперта или надпись FALSE, что означает отключенное состояние, если параметр в эксперте установлен в нулевое значение. Если параметр установлен в нулевое значение, то позиции будут открываться без реальных Stop Loss и Take Profit.

При этом значение показателя ~Total Risk/Real Profit (%) в информационном блоке Trade Info, если Stop Loss у позиции не установлен, будет показывать ! 100.00 ! , что означает риск всем депозитом (100%). Если показатель был установлен в режим отображения в деньгах ~Total Risk/Real Profit ($), то будет отображаться текущий уровень средств. Например: ! 7698.54 ! .


7. Информационно-торговая панель в левой части графика

Теперь рассмотрим информационно-торговую панель, которая появляется в левой части графика после щелчка по иконке Left Panel на информационной панели Trade Info. На панели в верхней части слева от заголовка расположены пять иконок, с помощью которых можно перейти в другой раздел панели.

Далее рассмотрим по порядку каждый раздел подробно.


7.1. Раздел PARAMETERS SYSTEM

При включенном разделе Parameters System панель выглядит так, как показано на рисунке ниже:

Рис. 33. Раздел PARAMETERS SYSTEM

Рис. 33. Раздел PARAMETERS SYSTEM

Всего в представленной таблице семь столбцов. Заголовки столбцов, которые не несут в себе функционал, окрашены в желтый цвет. Содержащие в себе функции заголовки окрашены в цвет MediumSeaGreen.

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

Рис. 35. Объекты-графики в подокне

Рис. 35. Объекты-графики в подокне




7.2. Раздел CLOCKS OF TRADING SESSIONS

При переходе в раздел Clocks Of Trading Sessions панель меняет свой вид, как показано на рисунке ниже:

Рис. 36. Раздел CLOCKS OF TRADING SESSIONS

Рис. 36. Раздел CLOCKS OF TRADING SESSIONS

В этом разделе отображаются значения параметров времени, которые установлены во внешних настройках эксперта. Краткое описание этих параметров можно прочитать в таблице Описание параметров эксперта. Здесь следует в дополнение отметить, что самый высокий приоритет имеет опция ON/OFF TIME RANGE, торговля в установленном временном диапазоне. То есть, если включить все опции времени на том или ином символе, то эксперт будет работать по ON/OFF TIME RANGE.

Все позиции в конце этого временного диапазона будут закрыты, а отложенные ордера, относящиеся к закрытым субпозициям, будут удалены. Следующая по приоритету опция CLOSE IN THE END DAY, закрытие в конце дня. Именно по ней будет работать эксперт, если выбраны одновременно опции закрытия в конце дня и закрытия в конце недели (CLOSE IN THE END WEEK). Закрытие в конце недели будет осуществляться только в том случае, если параметры ON/OFF TIME RANGE и CLOSE IN THE END DAY установлены в положение FALSE. Этими функциями можно воспользоваться, как в автоматическом, так и в полуавтоматическом режимах эксперта.

Используя режим временного диапазона, время начала торговли (START TRADE) можно установить, как больше (относительно часов), так и меньше времени окончания торговли (END TRADE), когда все позиции будут закрыты. То есть, если значение START TRADE будет 10 : 00, а END TRADE будет 23 : 00, то эксперт начнет отслеживать сигналы на соответствующем символе с 10-ти часов утра, и если до 23 часов вечера будет открыта позиция, то в 23 часа она будет закрыта, а все отложенные ордера будут удалены.

Далее эксперт не будет предпринимать попыток открыть позицию по этому символу до 10-ти часов утра. Если время начала торговли установлено 22 : 00, а окончание торговли 16 : 00, то эксперт начнет работу с 22–ух часов текущих суток, а закончит в 16 часов следующих суток.

Рис. 37. Схема временного диапазона, если первое значение больше второго

Рис. 37. Схема временного диапазона, если первое значение больше второго

В нижней части панели Clocks Of Trading Sessions отображается текущее время по Гринвичу (GMT), локальное время и время сервера. Если связи с сервером нет, то вместо времени сервера отображаются красные прочерки: -- : -- : -- .

Щелчок по названию символа в столбце SYMBOLS изменит текущий символ на графике. Таймфрейм будет установлен из первой в списке стратегий символа.


7.3. Раздел MANUAL TRADING

Раздел Manual Trading предназначен для ручной или полуавтоматической торговли и делится в свою очередь еще на несколько секций, переключаться на которые можно кликая по названиям в столбце OPERATION WITH POSITION & ORDERS:



7.3.1. Секция BUY/SELL/REVERSE

Внешний вид раздела Manual Trading с включенной секцией Buy/Sell/Reverse показан на рисунке ниже:

Рис. 38. Раздел MANUAL TRADING; секция BUY/SELL/REVERSE

Рис. 38. Раздел MANUAL TRADING; Cекция BUY/SELL/REVERSE

Опции (кнопки) этой секции предназначены для осуществления покупки, продажи и переворота позиции на текущем символе. Под опциями расположены поля ввода значений для Stop Loss (SL), Take Profit (TP) и Lot (LT). Если ввести нулевые значения в поля SL/TP и осуществить покупку/продажу, то позиция будет открыта без Stop Loss/Take Profit. Нулевое значение можно быстро внести просто кликнув по названию напротив того или иного поля ввода. Щелчок по названию поля ввода LT установит минимально возможный на этом инструменте лот.

Нажав на одну из кнопок, включается режим готовности и корректировки. Кнопка изменит свой цвет (он станет заметно темнее), и если значения в полях ввода SL/TP не нулевые, на график будут установлены горизонтальные уровни показывающие, на каких уровнях цены будут установлены Stop Loss/Take Profit. В правом верхнем углу панели будет установлена кнопка START (это правило распространяется на опции всех секций). Торговая операция осуществляется именно этой кнопкой. Эта ситуация будет рассмотрена чуть ниже более подробно, после описания остальных опций панели, так как между ними есть некоторая взаимосвязь.

В нижней части секции Buy/Sell/Reverse расположены вспомогательные опции:

Перенесем ситуацию на график цены и заодно рассмотрим модификацию горизонтальных уровней до осуществления торговой операции, например, BUY с уровнями Stop Loss и Take Profit.

Рис. 39. Демонстрация использования опции Set Range Orders

Рис. 39. Демонстрация использования опции Set Range Orders

На рисунке (анимация) выше видно, что нажата кнопка BUY (она стала заметно темнее и в правом верхнем углу панели появилась кнопка START). На график установились горизонтальные линии. Линия красного цвета - Stop Loss и линия зеленого цвета - Take Profit. Если опция Set Range Orders в отключенном состоянии, то на графике не видно уровня Take Profit (линия установилась, но находится за пределами видимости окна). Если включить опцию Set Range Orders, то высота графика будет скорректирована так, чтобы видеть все уровни.

Перетаскивая горизонтальные уровни, значения в полях ввода и высота графика относительно уровней, если включена опция Set Range Orders, корректируются автоматически. Менять уровни можно также и вводя значение в поле ввода. Если попытаться установить горизонтальную линию внутрь уровней Stop Level, то эксперт вытолкнет ее назад, за пределы этих уровней (это правило распространяется на все секции). Осталось только нажать кнопку START и позиция будет открыта, если нет больше никаких других препятствий, а кнопка START после этого будет удалена.

Выше рассмотрена ситуация, когда на текущем символе нет позиции. Кнопка REVERSE в этом случае недоступна. Точнее при клике по ней прозвучит сигнал об ошибке, она не будет нажата и кнопка START не появится. Если же позиция уже есть, то предназначение кнопки REVERSE перевернуть позицию в таком же объеме и с такими же уровнями Stop Loss и Take Profit, если они есть.

Кнопки BUY и SELL могут быть также использованы для увеличения/уменьшения текущего объема позиции с одновременной модификацией позиции путем добавления уровней Stop Loss/Take Profit, если их до этого у позиции не было. Также позиция может быть закрыта с помощью этих кнопок или перевернута. В общем, возможны довольно разнообразные комбинации торговых операций.



7.3.2. Секция CLOSE POSITIONS

Рис. 40. Раздел MANUAL TRADING; Секция CLOSE POSITIONS

Рис. 40. Раздел MANUAL TRADING; Секция CLOSE POSITIONS

Секция Close Positions в разделе Manual Trading содержит в себе опции для закрытия позиций:


7.3.3. Секция SET PENDING ORDERS

Рис. 41. Раздел MANUAL TRADING; Секция SET PENDING ORDERS

Рис. 41. Раздел MANUAL TRADING; Секция SET PENDING ORDERS

С помощью опций этой секции можно работать с отложенными ордерами. Так же, как в секции Buy/Sell/Reverse есть поля ввода для Stop Loss (SL), Take Profit (TP) и Lot (LT). Кроме этого есть еще поля ввода:

Все основные правила модификации были приведены при описании секции Buy/Sell/Reverse. Здесь следует в дополнение отметить, что эксперт не позволит выставить торговые уровни неправильно. Они всегда будут корректироваться в случае попытки неправильной установки, согласно торговым правилам.

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

Обратите внимание, что в поле (+PO) установлено количество 12, но эксперт корректирует количество на графике в случае установки уровня Take Profit. Перетаскивая уровень Take Profit, будет изменяться количество уровней ордеров на графике.

Рис. 42. Установка указанного количества отложенных ордеров

Рис. 42. Установка указанного количества отложенных ордеров


7.3.4. Секция MODIFY ORDERS/POSITIONS

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

Рис. 43. Раздел MANUAL TRADING; Секция MODIFY ORDERS/POSITIONS

Рис. 43. Раздел MANUAL TRADING; Секция MODIFY ORDERS/POSITIONS

Если у существующей позиции нет Stop Loss/Take Profit, то используя опции TAKE PROFIT/STOP LOSS их можно установить. Если у позиции уже есть Stop Loss/Take Profit, то их можно быстро модифицировать с помощью горизонтальных линий, которые появляются при нажатии соответствующих кнопок.

Опция SET STOPLOSS TO BREAKEVEN модифицирует те позиции, прибыль которых превышает либо равна количеству пунктов указанных в поле ввода IF PROFIT >= .


7.3.5. Секция DELETE PENDING ORDERS

В секции Delete Pending Orders расположены опции для быстрого удаления отложенных ордеров.

Рис. 44. Раздел MANUAL TRADING; Секция DELETE PENDING ORDERS

Рис. 44. Раздел MANUAL TRADING; Секция DELETE PENDING ORDERS


7.4. Раздел TRADING PERFORMANCE

Ниже на картинке представлен внешний вид раздела Trading Performance:

Рис. 45. Раздел TRADING PERFORMANCE

Рис. 45. Раздел TRADING PERFORMANCE

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


7.5. Раздел ACCOUNT/SYMBOLS INFO

Рис. 46. Раздел ACCOUNT/SYMBOLS INFO

Рис. 46. Раздел ACCOUNT/SYMBOLS INFO

В этом разделе отображается информация о счете и о текущем символе.


8. Дополнительные индикаторы для использования эксперта

Для работы эксперта понадобятся следующие индикаторы:

Все индикаторы нужно разместить в директории \MetaTrader 5\MQL5\Indicators.


Заключение

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

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

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