English 中文 Español Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Безграничные возможности с MetaTrader 5 и MQL5

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

MetaTrader 5Тестер | 14 мая 2012, 11:26
25 069 27
Anatoli Kazharski
Anatoli Kazharski

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

Содержание

   Вступление
   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 уровней)


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

  • H_PCH - Уровень, который строится по максимумам баров;
  • MH_PCH - Уровень, который рассчитывается как середина между максимумом и центром ценового канала;
  • M_PCH - Уровень, который рассчитывается как середина между максимумом и минимумом ценового канала;
  • ML_PCH - Уровень, который рассчитывается как середина между минимумом и центром ценового канала;
  • L_PCH - Уровень, который строится по минимумам баров.

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

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

  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 для торговли разными экспертами на одном инструменте". Там же, в обсуждении этих статей, как раз один из авторов раскрыл некоторые проблемные моменты, над которыми нужно еще поработать.

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

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

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

Во всех из перечисленных выше ситуаций эксперт восстанавливает корректно учет объемов субпозиций. При уже существующей схеме в эксперте можно будет включить любую другую ситуацию, которая может привести к неправильному учету. Я назвал эту схему 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. То есть, торговля будет вестись на указанных валютных парах.

  • Значение параметра Period PCH (total) на всех символах установим больше нуля, тем самым указав программе, что период для индикатора MultiSignals_PCH будет общим для всех стратегий в рамках каждого символа, а таймфрейм для индикатора будет браться из параметра Timeframe (total), то есть также будет общим.
  • Параметр Type Entry в каждой стратегии будет свой.
  • Параметры для уровней Stop Loss и Take Profit также настраиваются для каждой стратегии отдельно.

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

Рис. 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, то есть максимальная итоговая прибыль.

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

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

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

  • Если таймфреймы на всех символах разные, то каждый символ нужно оптимизировать отдельно. То есть, все остальные символы должны быть отключены (FALSE).
  • После того, как оптимизация на всех символах закончена, то, если ТФ на символах разные, тестирование нужно проводить в режиме OHLC на M1.
  • Если оптимизация/тестирование проводится на одном символе, то в настройках тестера нужно установить наименьший из используемых в ТС таймфреймов или меньше, чем наименьший.

Если не учитывать эти правила, то тогда оптимальным вариантом для оптимизации параметров будет режим 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 находится кнопка в виде стрелки вправо, которая позволяет быстро перейти в конец таблицы без использования скроллинга. В конце таблицы находятся столбцы с данными параметров, которые участвовали в оптимизации и также в верхней части справа от таблицы с данными кнопка влево для быстрого перехода в начало таблицы.

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

  • CONNECT DATA. При нажатии на эту кнопку выйдет диалоговое окно с заголовком – Укажите путь к файлу с данными для импорта. Приложение BOOK REPORT пытается определить путь к общей папке терминала.

    Например, в Windows 7 это: C:\ProgramData\MetaQuotes\Terminal\Common\Files\
    В Windows XP: C:\Documents and Settings\All Users\Application Data\MetaQuotes\Terminal\Common\Files\

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

    В папке Files общей папки терминала (после первой и последующих оптимизаций параметров эксперта TRADING WAY) создается папка DOR, а в ней папка эксперта с именем эксперта, в которой в свою очередь создаются папки OPTn (n - порядковый номер папки OPT). В папке OPT эксперт создает файл DOR.csv с отчетом результатов оптимизации. Именно этот файл и нужен для импорта на лист OptReport.

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

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


  • DIAGRAM. Нажатие на эту кнопку переводит на лист Diagrams. Например, если данные на листе OptReport были отсортированы в столбце Profit от максимального до минимального значения, то приблизительно будет такая картинка:


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

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

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

    • PROFIT – Чистая прибыль по окончании тестирования;
    • TOTAL DEALS – Количество совершенных сделок;
    • PROFIT FACTOR – Прибыльность - отношение всех прибыльных/всех убыточных трейдов;
    • EXPECTED PAYOFF – Математическое ожидание выигрыша;
    • EQUITY DD MAX REL% - Максимальная просадка средств в процентах;
    • RECOVERY FACTOR – Фактор восстановления - отношение Чистая прибыль/Макс. просадка баланса в деньгах;
    • SHARPE RATIO – Коэффициент Шарпа - отображает соотношение среднеарифметической прибыли за время удержания позиции к стандартному отклонению от нее;
    • EQUITY DD – Максимальная просадка средств в деньгах;
    • EQUITY DD% - Просадка средств в процентах, которая была зафиксирована в момент максимальной просадки средств в деньгах;
    • EQUITY DD RELATIVE – Просадка средств в деньгах, которая была зафиксирована в момент максимальной просадки средств в процентах;
    • EQUITY MIN – Минимальное значение собственных средств;
    • BALANCE DD REL% - Максимальная просадка баланса в процентах;
    • BALANCE DD – Максимальная просадка баланса в деньгах;
    • BALANCE DD% - Максимальная просадка баланса в процентах, которая была зафиксирована в момент максимальной просадки баланса в деньгах;
    • BALANCE RELATIVE – Просадка баланса в деньгах, которая была зафиксирована в момент максимальной просадки баланса в процентах;
    • BALANCE MIN – Минимальное значение баланса;
    • MIN MARGIN LEVEL – Минимальное достигнутое значение уровня маржи;
    • GROSS PROFIT – Общая прибыль, сумма всех прибыльных (положительны) трейдов;
    • GROSS LOSS – Общий убыток, сумма всех убыточных (отрицательных) трейдов;
    • CONLOSS MAX – Максимальный убыток в последовательности убыточных трейдов;
    • CONPROFIT MAX – Максимальная прибыль в последовательности прибыльных трейдов;
    • MAX CONLOSSES – Общий убыток в самой длинной серии убыточных трейдов;
    • MAX CONWINS – Общая прибыль в самой длинной серии прибыльных трейдов;
    • MAX LOSS TRADE – Максимальный убыток – наибольшее значение среди всех убыточных трейдов;
    • MAX PROFIT TRADE – Максимальная прибыль – наибольшее значение среди всех прибыльных трейдов;
    • TRADES – Количество трейдов;
    • SHORT TRADES – Короткие трейды;
    • LONG TRADES – Длинные трейды;
    • LOSS TRADES – Убыточные трейды;
    • PROFIT TRADES – Прибыльные трейды;
    • PROFIT SHORT TRADES – Короткие прибыльные трейды;
    • PROFIT LONG TRADES – Длинные прибыльные трейды;
    • LOSS TRADES AVGCON – Средняя длина убыточной серии трейдов;
    • PROFIT TRADES AVGCON – Средняя длина прибыльной серии трейдов;
    • CONLOSS MAX TRADES – Количество трейдов, сформировавших максимальный убыток в последовательности убыточных трейдов;
    • CONPROFIT MAX TRADES – Количество трейдов, сформировавших максимальную прибыль в последовательности прибыльных трейдов;
    • MAX CONLOSS TRADES – Количество трейдов в самой длинной серии убыточных трейдов;
    • MAX CONPROFIT TRADES – Количество трейдов в самой длинной серии прибыльных трейдов;

    Над графиком расположены выпадающие списки. В первом списке можно выбрать один из трех графиков:

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


      Рис. 18. Выпадающие списки над диаграммой результатов оптимизации

      Рис. 18. Выпадающие списки над диаграммой результатов оптимизации

      Клик по диаграмме переводит на лист с ее данными. В данном случае на лист OptReport.

    • PIVOT 3D DIAGRAM – вторая диаграмма в выпадающем списке. Это сводная трехмерная диаграмма.


      Рис. 19. Сочетания параметров результатов оптимизации на трехмерной диаграмме

      Рис. 19. Сочетания параметров результатов оптимизации на трехмерной диаграмме

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

      Рис. 20. Выпадающие списки над трехмерной диаграммой

      Рис. 20. Выпадающие списки над трехмерной диаграммой

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

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


      Рис. 21. Сводная таблица, связанная с трехмерной диаграммой

      Рис. 21. Сводная таблица, связанная с трехмерной диаграммой

      Она заключается в том, что выделив ячейку, относящуюся к интересующим данным (сводная таблица на рисунке выше), создается лист TDn (где n порядковый номер листа с меткой TD), на котором создается отформатированная таблица со всеми результатами именно выделенных в сводной таблице параметров. Например, если выделить ячейку с параметрами 190 и 100, то будет создана таблица со всеми результатами, где есть эти параметры. См. рис ниже:


      Рис. 22. Таблица с результатами оптимизации, выделенными в сводной таблице параметров

      Рис. 22. Таблица с результатами оптимизации, выделенными в сводной таблице параметров



    • TEST DIAGRAM – третья диаграмма показывает графики балансов всех ТС, которые участвовали в тесте:


      Рис. 23. Результат теста с участием всех ТС в системе

      Рис. 23. Результат теста с участием всех ТС в системе

      После каждого теста в последней созданной папке оптимизации OPTn создается папка TESTS, в которую помещаются все последующие результаты тестов эксперта. Каждый результат записывается в отдельный файл testN.csv. Где N порядковый номер файла.

      Результаты тестов можно загружать на листе TestReport. Этот лист содержит такие же кнопки, как и лист OptReport, в верхней части таблицы. Соответственно, чтобы загрузить данные, нужно кликнуть на кнопку CONNECT DATA. Кроме данных балансов ТС, в файлы записывается также и отчет, подобный отчету в торговом терминале на вкладке Результаты. К данным также применяется форматирование для более удобного анализа.

      Рис.24. Результат теста по сделкам

      Рис. 24. Результат теста по сделкам


  • CROSS HAIR. Эта кнопка включает перекрестье. Простая удобная функция. На рисунке выше видно, как это выглядит, когда кнопка CROSS HAIR нажата.

  • 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. Второй вариант сета

  • В этом варианте параметры для (01,02,03) _ Name Symbol введем также разные значения. Проведем тест с теми же символами, чтобы можно было провести сравнение с предыдущим вариантом: EURUSD, AUDUSD, USDCHF.

  • Значение параметра Period PCH (total) на этот раз установим в ноль, тем самым указав программе, что период для индикатора MultiSignals_PCH будет уникальным для всех стратегий. Для этого будет браться значение из параметра Period PCH (sub), который присутствует в каждом блоке торговой стратегии. Есть возможность установить свой таймфрейм для индикатора, но в этом варианте установим везде одно и то же значение. Для этого есть параметр Timeframe (sub) в каждом блоке торговых стратегий.

  • Параметр Type Entry в каждой стратегии будет свой.

  • Параметры для уровней Stop Loss и Take Profit также настраиваются для каждой стратегии отдельно.

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

Рис. 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. На панели в верхней части слева от заголовка расположены пять иконок, с помощью которых можно перейти в другой раздел панели.

  • Parameters System.
  • Clocks Of Trading Sessions.
  • Manual Trading.
  • Trading Performance.
  • Account/Symbols Info.

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


7.1. Раздел PARAMETERS SYSTEM

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

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

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

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

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

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

  • Рис. 34. Горизонтальные линии показывающие принадлежность отложенных ордеров к определенной ТС SHOW ORDERS – Второй столбец показывает, по каким стратегиям открыты субпозиции, в каком объеме и в каком направлении. Если субпозиции нет, то отображается надпись EMPTY. В случае открытой субпозиции отображается ее объем. Направление можно определить по цвету. Для длинных позиций (Long) объем окрашен в зеленый цвет (например: 0.05), а для коротких (Short) в красный (например: 0.02). Также в этом столбце расположены элементы управления (флажки), отмечая которые на графике можно увидеть, какие отложенные ордера относятся именно к этой субпозиции. Установив флажок напротив той или иной субпозиции, под соответствующими отложенными ордерами устанавливаются горизонтальные сплошные линии, а точка входа этой субпозиции, отмечается вертикальной штрихпунктирной линией такого же цвета. Можно одновременно установить все флажки. Перепутать линии сложно, так как каждая группа ордеров имеет свой цвет. См.рисунок справа.
    При переходе на другой символ флажки не снимаются. При переходе обратно, если до этого флажки были установлены, то линии восстанавливаются на график. Если та или иная субпозиция закрылась, то линии, относящиеся к этой субпозиции, если находятся на графике, удаляются экспертом, а флажок снимается и ставится заглушка. Заголовок этого столбца кликабелен. То есть, если ни один флажок не установлен, то название будет окрашено в цвет MediumSeaGreen. Если установлен хотя бы один флажок, то название окрашивается в синий цвет.

  • TYPE SIGNAL/TRADING STRATEGY – Третий столбец показывает, какие сигналы/торговые стратегии выбраны в параметрах эксперта. Щелчок по названию сигнала устанавливает на график индикатор, по которому формируются торговые сигналы для этой стратегии, а название окрашивается в синий цвет. Если щелкнуть по другому названию сигнала в момент, когда уже есть индикатор на графике, то индикатор будет изменен на тот, по которому был щелчок. На график будут установлены именно те символ и таймфрейм, которые нужны для установки индикатора на график.

  • TIMEFRAME – В этом столбце (четвертый) отображаются таймфреймы, по которым формируются торговые сигналы той или иной стратегии. Щелчок по названию таймфрейма осуществляет переход на этот таймфрейм и окрашивает название в синий цвет. В синий цвет также будут окрашены все названия с таким же таймфреймом в текущем блоке/символе. Если щелчок был произведен по тому названию таймфрейма, который находится в другом блоке/символе, то произойдет также и смена текущего символа. Если же на графике в момент щелчка по названию таймфрейма был установлен индикатор, то произойдет и смена индикатора на соответствующий символу, таймфрейму и стратегии.

  • PERIOD INDICATOR – В пятом столбце отображаются периоды индикаторов, которые установлены во внешних параметрах эксперта. Если на график установлен индикатор, то период будет окрашен в синий цвет. Рядом с периодом расположены элементы управления (флажки). Установив флажки напротив тех таймфреймов и символов, которые нужны для анализа в текущий момент, а затем, щелкнув по заголовку столбца в нижней части графика, будет установлено подокно с объектами-графиками тех символов и таймфреймов, которые выбраны. Заголовок будет окрашен в синий цвет. Если на графике был установлен индикатор, то во всех объектах-графиках тоже будут установлены соответствующие им индикаторы. Убрав индикатор щелчком по названию типа сигнала в столбце TYPE SIGNAL/TRADING STRATEGY, будут также убраны индикаторы во всех объектах-графиках. То же самое происходит и с установкой индикатора. В момент, когда заголовок синего цвета, устанавливая/убирая флажки, в подокно будут добавляться/удаляться соответствующие объекты-графики. Также в момент, когда заголовок синего цвета, если щелкнуть по заголовку, подокно будет свернуто. Фактически оно будет удалено, но все флажки останутся отмеченными и в любой момент рабочую область можно быстро вернуть в прежнее состояние. Подокно не фиксированного размера и его высоту можно увеличить/уменьшить, вручную перетаскивая верхнюю границу, как и в подавляющем большинстве индикаторов, которые рисуются в подокнах. Объекты-графики при увеличении/уменьшении подокна, как по высоте, так и по ширине, в случае изменений размеров окна программы, будут подстраиваться по размеру, всегда располагаясь точно по размеру подокна, и не заслоняя друг друга. Одновременно можно установить все флажки, соответственно будут установлены все объекты графики в подокно. Щелчок по объекту-графику осуществляет переход на символ/таймфрейм в главном окне, который показывает объект-график. Если увеличивать/уменьшать масштаб графика, нажимая клавиши +/- на клавиатуре, то масштаб будет изменяться также и на всех объектах-графиках.

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

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

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

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


  • TAKE PROFIT – В шестом столбце отображаются значения параметра Take Profit, которые установлены во внешних настройках эксперта. Если в том или ином блоке параметров стратегии указано не использовать Take Profit (NO TAKE PROFIT), то в таблице панели Parameters System будет отображаться соответствующая надпись. То есть, NO TP.

  • STOP LOSS – В седьмом столбце отображаются значения параметра Stop Loss. Все аналогично, как в описании Take Profit. Если Stop Loss не установлен, то будет отображаться NO SL.


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:

  • Buy/Sell/Reverse.
  • Close Positions.
  • Set Pending Orders.
  • Modify Orders/Positions
  • Delete Pending 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 расположены вспомогательные опции:

  • Follow The Price: - у этой опции два переключателя на выбор. Корректировать установленные уровни или корректировать значения в полях ввода относительно уровней.

    • Levels – если переключатель установлен на этом элементе, то горизонтальные уровни, по которым будут установлены Stop Loss/Take Profit будут следовать за ценой, чтобы всегда оставаться на том расстоянии, которое указано в полях ввода.

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

  • Set Range Orders - эта опция предназначена для случая, когда нужно видеть на графике все торговые уровни и горизонтальные уровни, по которым будут устанавливаться ордера, не прибегая при этом к ручной настройке по вертикальной шкале цены. Корректировка происходит одним кликом. Максимум и минимум ценового графика устанавливаются так: самый верхний уровень плюс 5 пунктов, самый нижний уровень минус 5 пунктов. В случае если установлено подокно с объектами графиками и на символах, которые они показывают, есть открытые позиции и/или установлены отложенные ордера, то корректировка по вертикальной шкале производится и на них тоже.

  • TP/SL As Position - с помощью этой опции автоматизирован процесс установки и модификации Stop Loss/Take Profit для отложенных ордеров. То есть, если устанавливается отложенный ордер, а в этот момент на текущем символе уже есть открытая позиция и у нее установлен Stop Loss и/или Take Profit, то у отложенного ордера будут установлены Stop Loss/Take Profit точно на таких же уровнях, как у позиции. При активном флажке, Stop Loss/Take Profit будут установлены, даже если они не были указаны в запросе. То есть, там, где нужно очень быстро произвести торговые операции не нужно тратить время на корректировку. В торговом терминале MetaTrader 5 есть штатная возможность модификации отложенных ордеров/Stop Loss/Take Profit простым перетаскиванием этих уровней мышью. Эта возможность включается/отключается в Настройки терминала -> вкладка Графики -> опция Перетаскивание торговых уровней. Если эта опция включена и включена опция эксперта TP/SL As Position, то эксперт будет отслеживать и модификацию отложенных ордеров/Stop Loss/Take Profit. То есть, просто перетаскивая тот или иной торговый уровень, эксперт будет во всех случаях корректировать Stop Loss и Take Profit у всех отложенных ордеров.

  • Names Levels – эта простая опция для установки режима показа названий и значения цены горизонтальных уровней.

Перенесем ситуацию на график цены и заодно рассмотрим модификацию горизонтальных уровней до осуществления торговой операции, например, 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 содержит в себе опции для закрытия позиций:

  • ALL ONLY PROFIT – Закрывает все позиции, которые на текущий момент в прибыли.
  • ALL ONLY LOSS – Закрывает все позиции, которые на текущий момент в убытке.
  • ON ALL SYMBOLS – Закрывает позиции на всех символах.
  • ON CURRENT SYMBOL – Закрывает позицию только на текущем символе.


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). Кроме этого есть еще поля ввода:

  • Для отложенного ордера Pending Order (PO).
  • Для уровня, при достижении ценой которого осуществляется установка отложенного ордера типа BUY STOP LIMIT/SELL STOP LIMITExecution Price (EP).
  • Поле ввода для одновременной установки группы отложенных ордеров (+PO).
  • Расстояние (SPACE) между ордерами в случае групповой установки (SP).

Все основные правила модификации были приведены при описании секции 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

  • ALL ON ALL SYMBOLS – Удаляет все отложенные ордера на всех символах;
  • ALL ON CURRENT SYMBOL (CS) – Удаляет все отложенные ордера на текущем символе;
  • BUY STOPs (CS) – Удаляет все отложенные ордера на текущем символе (CScurrent symbol (текущий символ)) типа Buy Stop;
  • BUY STOP LIMITs (CS) – Удаляет все отложенные ордера на текущем символе типа Buy Stop Limit;
  • BUY LIMITs (CS) - Удаляет все отложенные ордера на текущем символе типа Buy Limit;
  • SELL STOPs (CS) - Удаляет все отложенные ордера на текущем символе типа Sell Stop;
  • SELL STOP LIMITs (CS) - Удаляет все отложенные ордера на текущем символе типа Sell Stop Limit;
  • SELL LIMITs (CS) - Удаляет все отложенные ордера на текущем символе типа Sell Limit.


7.4. Раздел TRADING PERFORMANCE

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

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

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

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

  • R & RP (%) – В этом столбце показан риск в процентах при открытой позиции на каждом символе отдельно. Если Stop Loss позиции модифицируется и оказывается выше, чем цена открытия позиции, то значение окрашено в зеленый цвет, иначе в красный. Если Stop Loss у позиции не установлен, то отображается предупреждающий об этом знак: ! ! ! .

  • R & RP (p/$) – В этом столбце также показан риск на позицию каждого символа по отдельности. Заголовок этого столбца кликабелен. Если заголовок в нажатом состоянии, то он отображается синим цветом, а значения показаны в пунктах - R & RP (p). Если в отжатом состоянии, то значения показаны в деньгах - R & RP ($). Цвет значений зависит от того, защищена прибыль или нет. Если Stop Loss у позиции не установлен, то отображается предупреждающий об этом знак: ! ! ! .

  • PROFIT n DAYS ($) – Значения этого столбца отражают прибыль за указанное количество дней. Заголовок кликабелен, и кликнуть по нему, то в верхнем правом углу панели появится поле ввода, а заголовок окрасится в синий цвет. Количество дней, за которые нужно увидеть прибыль по каждому символу отдельно, нужно ввести в это поле ввода. Это же значение будет отражаться затем в заголовке. Цвет значений зависит от прибыли/убытка за указанное количество дней.

  • MARGIN ($) – Значения этого столбца показывают размер использованной маржи в каждой позиции.

  • TICK LOSS/PROFIT ($) – Стоимость тика при убыточной/прибыльной сделке отображается в этом столбце.

  • MARGIN CHECK BUY/SELL ($) – Необходимый объем средств для совершения сделки Buy/Sell можно увидеть в этом столбце. Заголовок кликабелен. Клик по нему создает поле ввода в правом верхнем углу панели со значением последнего указанного объема. Ввод нового значения объема пересчитывает все значения в столбце.


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

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

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

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


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

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

  • Индикатор SUBWINDOW. На самом деле это не индикатор, а просто пустышка – подокно, в котором будут устанавливаться объекты-графики.
  • Индикатор Spy_Control_panel_MCM. Автор этого индикатора Константин Груздев (Lizar). Подробности можно прочитать в Code Base. В эксперте он используется для получения событий: тик и новый бар.
  • Индикатор MultiSignals_PCH. Этот индикатор описывался в начале статьи. Скачать его можно также в Code Base или из списка файлов в конце статьи.

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


Заключение

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

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

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


Прикрепленные файлы |
subwindow.mq5 (1.69 KB)
Последние комментарии | Перейти к обсуждению на форуме трейдеров (27)
Anatoli Kazharski
Anatoli Kazharski | 12 июл. 2012 в 23:01
zlodei:
Перед покупкой хотел посмотреть как советник работает в тестере, но тест даже не хочет начинаться! Внимательно прочитал какой параметр за что отвечает, перепробовал много разных параметров, но увы, ничего так и не работает. Подскажите пожалуйста хотя бы самые главные параметры для того чтобы посмотреть на советника в тестере, просто чтоб он в тестере заключил пару сделок.

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

//---

Далее выяснилось, что индикаторы находились не в той директории. Если у Вас такая же проблема то, например, если эксперт находится в директории C:\Program Files\MetaTrader 5\MQL5\Experts\Market , то индикаторы должны быть в C:\Program Files\MetaTrader 5\MQL5\Indicators.

Sha01
Sha01 | 8 дек. 2015 в 11:19
Спасибо за статью. Вы меня вдохновили заняться серьезным изучением данного языка программирования. Последний раз писал профессиональные программы в 80-х годах. Сейчас решил серьезно заняться MQL5. Надеюсь Ваши рецепты окажут существенную помощь.
Anatoli Kazharski
Anatoli Kazharski | 8 дек. 2015 в 11:26
Sha01:
Спасибо за статью. Вы меня вдохновили заняться серьезным изучением данного языка программирования. Последний раз писал профессиональные программы в 80-х годах. Сейчас решил серьезно заняться MQL5. Надеюсь Ваши рецепты окажут существенную помощь.
Сейчас готовится ещё одна большая серия статей, поэтому пройти свой путь вам будет ещё проще.
Artyom Trishkin
Artyom Trishkin | 8 дек. 2015 в 11:50
Anatoli Kazharski:
Анатоль, мои поздравления! Ты проделал серьёзную работу, не останавливайся!
Anatoli Kazharski
Anatoli Kazharski | 8 дек. 2015 в 11:55
Artyom Trishkin:
Анатоль, мои поздравления! Ты проделал серьёзную работу, не останавливайся!
Спасибо. Всё самое интересное ещё впереди. ;)
OpenCL: Мост в параллельные миры OpenCL: Мост в параллельные миры
В конце января 2012 года компания-разработчик терминала MetaTrader 5 анонсировала нативную поддержку OpenCL в MQL5. В статье на конкретном примере изложены основы программирования на OpenCL в среде MQL5 и приведены несколько примеров "наивной" оптимизации программы по быстродействию.
Несколько советов для  начинающих заказчиков Несколько советов для начинающих заказчиков
Народная мудрость, авторство которой часто приписывают различным известным людям, говорит: "Тот не ошибается, кто ничего не делает". Если не считать само ничегонеделание тоже ошибкой, то с этим утверждением трудно спорить. Зато вполне возможно проанализировать ранее совершенные ошибки (свои и чужие) и свести к минимуму количество совершаемых ошибок в будущем. Сделаем попытку разобрать возможные ситуации, возникающие в процессе выполнения работ на одноименном сервисе.
Ядерная оценка неизвестной плотности вероятности Ядерная оценка неизвестной плотности вероятности
Статья посвящена созданию программного инструмента, позволяющего производить оценку неизвестной плотности вероятности. Для реализации был выбран метод ядерной оценки плотности (Kernel Density Estimation). Статья содержит исходные коды программной реализации данного метода, примеры его использования и иллюстрации.
Кто есть кто в MQL5.community? Кто есть кто в MQL5.community?
Сайт MQL5.com хорошо помнит каждого из вас! Сколько ваших тредов стали эпичными, насколько популярными оказались ваши статьи и как часто скачивались ваши программы из Code Base – это лишь небольшая часть того, что помнит о вас MQL5.com. Достижения каждого из вас доступны в профиле, но как выглядит картина в целом? В этой статье мы построим общую картину достижений всех участников MQL5.community.