Создание группы условий на открытие ордеров

Каждая группа состоит из набора условий, и результатом выполнения всех условий группы служит сигнал на открытие ордера определенного типа. Группы не зависят друг от друга, и каждая работает только по своим условиям. Количество групп и условий в них не ограниченно.
Для создания группы условий на открытие ордера необходимо открыть вкладку "Условия открытия" в редакторе.
После нажатия на кнопку на кнопку "Добавить группу условий открытия" появится пустой блок группы.
Вверху блока можно увидеть два выпадающих списка, необходимые для настройки отдельной группы условий открытия. Первый отвечает за выбор принципа открытия ордеров данной группы, второй - за тип ордеров, которые будут открыты при соблюдении всех условий данной группы.
В редакторе предложены два принципа открытия ордера: "Один сигнал - один ордер" и "Открытие по сигналу". В режиме "Один сигнал - один ордер" при выполнении всех условий группы советник получит сигнал на открытие ордера. В тот момент, когда ордер будет открыт, данный сигнал будет считаться отработанным, и следующая сделка откроется только в момент поступления нового сигнала от группы. Иначе говоря, для поступления нового сигнала должен наступить момент, когда хотя бы одно из условий группы не будет выполнено. С этого момента начнется ожидание поступления нового сигнала.
Во втором случае ордеры будут открываться до тех пор, пока все условия данной группы выполняются. Если при этом включен режим работы "Раз в бар" - каждый бар будет открываться новый ордер, принадлежащий данной группе. Если же включен режим "Каждый тик", то ордеры будут открываться каждый тик, опять же, пока все условия выполняются.
Для создания условий группы необходимо нажать на кнопку "Добавить новое условие". Откроется окно с выбором типа условия.
Для групп условий открытия ордеров можно выбрать и настроить три типа условий: Принцип работы, настройка и описание данных условий подробно описаны в соответствующих разделах справки.
В качестве примера рассмотрим следующее условие: открытие сделки при пересечении стандартных индикаторов Moving Average (MA) с разными периодами. Для этого используем тип условия "Сравнение двух источников данных" - он позволяет сравнивать два числовых значения, полученных от различных источников данных. В этом случае нас будет интересовать значение индикатора Moving Average.
В рамках задачи отследим пересечение "быстрой" MA (с периодом 14) и "медленной" MA (с периодом 28), причем "быстрая" МА пересекает "медленную" МА снизу вверх. Визуально данную ситуацию довольно легко представить, в отличие от ее реализации с помощью логических и математических функций, используемых советником. Для отслеживания пересечения линий двух индикаторов необходимо рассмотреть любой промежуток времени, состоящий из двух стоящих рядом баров (свечей). Для рассматриваемого примера в качестве такого промежутка выберем первый и второй бар (свечу) (нумерация баров (свечей) на графике осуществляется последовательно от текущего (нулевого) бара (свечи) в "прошлое" графика).
Пересечение линий индикаторов, исходя из примера, будет характеризоваться двумя условиями. Первое условие: на первом баре значение "быстрой" MA должно быть больше значения "медленной". Второе условие: значение "быстрой" MA на втором баре должно быть меньше значения "медленной" МА. Перейдем в терминал и попробуем воссоздать данную ситуацию:
Вернемся в редактор и создадим первое условие. В списке с типом условий выбираем "Сравнение двух источников данных". Откроется окно с настройками данного условия.
Для полного создания условий сравнения необходимо задать два источника данных и выбрать знак сравнения между ними. В нашем случае первым источником данных будет выступать "быстрая" МА, вторым - "медленная". Добавим первый источник данных ("быстрая" МА). Для этого кликаем по выпадающему списоку "Выберите тип первого источника данных": здесь отобразится большое количество различных источников данных, доступных для сравнения (описание всех источников приведено в справке). Путь к индикатору Moving Average описывается так: "Стандартные индикаторы" - "Трендовые" - "Moving Average".
После выбора данного индикатора откроется окно настройки.
В открывшемся окне задаем параметры индикатора, а именно: "Период" , "Сдвиг средней" и "Сдвиг". Здесь поле "Сдвиг" обозначает номер бара, с которого будет получено значение индикатора MA. В данном случае мы проверяем данные с первого бара, поэтому вводим единицу. "Период" указываем равным 14, "Сдвиг средней" - 0.
После ввода всех настроек жмем на кнопку "Сохранить" и выходим из настроек индикатора.
Точно так же теперь зададим "медленную" МА в качестве второго источника данных. Указываем "Период", равный 28. Теперь остается только выбрать знак сравнения между источниками. Как мы помним, чтобы условие было выполнено, нам необходимо, чтобы "быстрая" МА была выше, чем "медленная". Следовательно, указываем знак "больше". Итоговое условие будет выглядеть так:
Жмем "Сохранить" и видим первое добавленное условие в нашей группе.
Теперь добавим второе условие нашего примера: значение "быстрой" MA на втором баре должно быть меньше значения "медленной" МА. Нажимаем на кнопку "Добавить новое условие", выбираем "Сравнение двух источников данных". В данном условии нам необходимо получить значения индикатора МА со второго бара. Первым источником выбираем "быструю" МА, но в поле "Сдвиг" указываем двойку (так как рассматриваем второй бар от текущего). Так же делаем и для "медленной" МА. Знак на этот раз ставим "меньше", исходя из нашего условия. Когда все будет готово, жмем на кнопку "Сохранить" и видим в группе уже два условия:
Условия нашего примера успешно заданы. Теперь BUY-ордер (согласно настройкам группы) будет открыт только в тот момент, когда на втором баре "быстрая" МА была ниже медленной, а на первом баре стала выше "медленной". Попробуем воспроизвести данное условие в тестере стратегий, но сначала, помимо условия открытия ордера, обязательно необходимо задать для него расчет лота (объема сделки). Для этого перейдем в рабочую зону "Money-менеджмент". Нажимаем на кнопку "Добавить настройку money-менеджмента" и в выпадающем списке выбираем пункт "Расчет лота". Появится пустое окно настройки лота.
Для примера выберем тип "Фиксированный лот". Введем желаемый лот и закончим настройку.
Сохраним стратегию и перейдем в терминал. Подробное описание алгоритма запуска тестов по вашим стратегиям изложено в разделе "Подготовка терминала МТ4, настройка советника и запуск тестирования". Запустим тест и проверим открытие ордера по нашему условию.
Как видно на графике, произошло открытие ордера после выполнения условий группы.
Добавим новую группу и зададим условия, но для открытия SELL-ордеров. Условие открытия SELL-ордеров сделаем зеркально противоположным. То есть, чтобы ордер на продажу был открыт, "быстрая" МА на втором баре должна быть выше "медленной", а на первом - ниже (пересечение сверху вниз).
Для этого добавим новую пустую группу условий открытия. В качестве типа открываемого ордера выбираем SELL-ордер и жмем кнопку "Добавить условие". Далее все действия полностью аналогичны примеру для BUY-ордеров, меняются только знаки сравнения между источниками данных. В итоге получаем следующую группу условий:
Перейдем в терминал и попробуем воссоздать ситуацию открытия Sell-ордера.
Теперь группы условий полностью готовы к работе. Важно помнить, что возможно создание двух альтернативных групп для открытия ордеров в одном направлении. Каждая из этих групп будет открывать только свои ордера по своим условиям.
Также следует отметить работу с "отложенными" ордерами. В стратегиях с типом "Forex" возможна работа с данным типом ордеров: при выборе такого ордера в группе появится еще одна необходимая настройка - "Источник данных для установки отложенного ордера".
Данный источник необходим для определения места установки отложенного ордера при соблюдении всех условий данной группы. Важно понимать, что значение, полученное от источника, должно соответствовать правилам установки отложенных ордеров в терминале.
В качестве примера источника данных для указания места установки отложенного ордера используем стандартный индикатор Bollinger Bands. Условием на открытие ордера будет служить пересечение "быстрой" и "медленной" МА ("быстрая" пересекает "медленную" снизу вверх).
Перейдем в терминал и попробуем отследить открытие ордера SELLLIMIT. Уровень установки данного ордера определит значение индикатора Bollinger Bands на нулевом (текущем) баре.
Ордер SELLLIMIT открыт согласно условию, уровень открытия соответствует значению индикатора Bollinger Bands. В качестве определения уровня выставления отложенных ордеров также могут выступать любые другие источники данных, которые подходят для этой цели.
И в заключение рассмотрим способы редактирования групп условий. Данная возможность позволяет быстро изменять условия стратегии и настраивать параметры отдельных источников данных.
Копирование условий и источников данных обеспечивает возможность быстро создавать условия и целые группы при использовании одинаковых источников данных. Для копирования условия необходимо нажать на соответствующую иконку в блоке условия.
После того, как условие будет скопировано, появится возможность вставки данного условия в любые группы условий. Для этого нужно выбрать необходимую группу и нажать на иконку "Вставить условие из буфера в группу". Копирование и вставка также доступны и для одиночных источников данных.
Дублирование группы условий может понадобиться, например, при создании похожих групп открытия и закрытия ордеров разных типов. Для использования данной функции служит иконка "Дублировать группу условий".
Далее нужно выбрать рабочую зону для вставки данной группы.
Итогом данного действия служит появление данной группы условий в выбранной вами рабочей зоне.
Вернуться к справке На главную