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

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

- Типы отложенных ордеров
- Установка отложенных ордеров
- Автоматизация рутинных действий с помощью скриптов на MQL5

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

В торговом терминале Metatrader 4 четыре типа отложенных ордеров: Buy Stop, Buy Limit, Sell Stop, Sell Limit. В терминале Metatrader 5 есть возможность воспользоваться шестью типами отложенных ордеров. Разработчики MetaQuotes добавили ещё два новых типа: Buy Stop Limit и Sell Stop Limit.

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


Типы отложенных ордеров.

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

На рисунке ниже показан пример описанного выше. Синяя вертикальная линия в данном случае текущее время, далее изображено воображаемое или предполагаемое поведение цены, на которое рассчитывает трейдер. Отложенный ордер Buy Limit устанавливается с расчётом на то, что цена дойдя до него начнёт расти.

Отложенный ордер Buy Limit

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

На рисунке ниже показан пример описанного выше. Красная вертикальная линия в данном случае текущее время. Отложенный ордер Sell Limit устанавливается с расчётом на то, что цена дойдя до него начнёт снижение. 

Отложенный ордер Sell Limit

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

На рисунке ниже показан пример описанного выше. Синяя вертикальная линия в данном случае текущее время. Отложенный ордер Buy Stop устанавливается с расчётом на то, что цена дойдя до него продолжит свой рост.

Отложенный ордер Buy Stop

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

На рисунке ниже показан пример описанного выше. Красная вертикальная линия в данном случае текущее время. Отложенный ордер Sell Stop устанавливается с расчётом на то, что цена дойдя до него продолжит снижение.

Отложенный ордер Sell Stop

- Buy Stop Limit - этот вид отложенного ордера сочетает в себе ордера Buy Stop и Buy Limit. Его можно назвать стоп-ордером, который является уровнем (стоп-уровень), при достижении ценой (ask) которого устанавливается отложенный ордер Buy Limit (уровень Stop Limit). Установка стоп-уровня осуществляется выше текущей цены ask, а уровень Stop Limit должен быть ниже стоп-уровня.

На рисунке ниже проще понять то, что описано выше. Синяя вертикальная линия в данном случае текущее время. Стоп-уровень это отложенный ордер Buy Stop Limit. Если цена дойдёт до этого уровня и коснётся его, то уровень Buy Stop Limit исчезнет и будет установлен отложенный ордер Buy Limit.

Отложенный ордер Buy Stop Limit

На текущий момент уровень Buy Limit, после установки отложенного ордера Buy Stop Limit, не отображается на графике так, как это показано на рисунке выше, а появляется только тогда, когда сработает ордер Buy Stop Limit. Но это можно решить программно (подробнее далее в статье).


- Sell Stop Limit - этот тип отложенного ордера сочетает в себе ордера Sell Stop и Sell Limit. Это своего рода стоп-ордер (стоп-уровень), при достижении ценой (bid) которого отдаётся приказ на установку отложенного ордера Sell Limit.  Значение стоп-уровня указывается ниже текущей цены bid, а цена Stop Limit должна быть выше стоп-уровня.

На рисунке ниже приведён пример и проще понять то, что описано выше. Красная вертикальная линия в данном случае текущее время. Стоп-уровень это отложенный ордер Sell Stop Limit. Если цена дойдёт до этого уровня и коснётся его, то уровень Sell Stop Limit исчезнет и будет установлен отложенный ордер Sell Limit.

Отложенный ордер Sell Stop Limit

Также, как и в случае с отложенным ордером Buy Stop Limit, на текущий момент уровень Sell Limit после установки отложенного ордера Sell Stop Limit, не отображается на графике так, как это показано на рисунке выше, а появляется только после того, как сработает ордер Sell Stop Limit. Но это можно решить программно, отмечая этот уровень графическим объектом "Горизонтальная линия" и устанавливая соответствующее описание.


Установка отложенных ордеров.

Для установки, модификации и удаления отложенных ордеров разработчики MetaQuotes сделали довольно удобные возможности в торговом терминале Metatrader 5. Окно для отправки торговых приказов вызывается нажатием кнопки F9, но его также можно вызвать из разных мест терминала:

  • - В окне Обзор рынка можно вызвать контекстное меню кликнув правой кнопкой мыши на нужном символе.
  • - В контекстном  меню  графика,  которое также  можно  вызвать  кликом  правой кнопки мыши прямо на графике.  Затем  нужно  выбрать подменю Торговля и в выпадающем списке пункт  Новый ордер.
  • - В контекстном меню окна Инструменты на вкладке Торговля (также пункт Новый ордер).
  • - В главном меню терминала в разделе Сервис (первый пункт).
  • - На панели инструментов Стандартная. Если значка Новый ордер там нет, то нужно зайти в настройки панели и добавить его.

Окно для отправки торговых приказов выглядит так, как показано на скриншоте ниже:

Окно для отправки торговых приказов

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

Также в окне отправки торговых приказов можно установить:

  • - тип отложенного ордера; 
  • - объём (лот); 
  • - уровни Стоп Лосс (защитный уровень) и Тейк Профит (уровень фиксации прибыли), которые становятся активными, когда ордер сработает и исполнится; 
  • - комментарий (не более 31 символа); 
  • - срок действия отложенного ордера (опция Истечение); 
  • - режим исполнения (отсутствует на скриншоте выше);

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

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

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

Если опция Исполнение доступна, то в ней можно выбрать один из ниже перечисленных режимов:

  • - Все/Ничего (Fill or Kill) - смысл этой политики исполнения заключается в том, что ордер может быть исполнен исключительно в указанном объёме. Если достаточного объёма финансового инструмента не окажется в момент отправки торгового приказа, то ордер не будет исполнен.
  • - Все/Частично (Immediate or Cancel) - если действует данная политика исполнения, то трейдер при отправке приказа соглашается с тем, что ордер может исполнится частично в случае невозможности исполнения в полном объёме. Неисполненный объём ордера будет отменён.
  • - Вернуть (Return) - смысл политики исполнения этого варианта заключается в том, что неисполненный объём ордера не удаляется, а продолжает действовать пока не исполнится. Этот режим используется для рыночных и отложенных ордеров и только в режимах Исполнение по рынку и Биржевое исполнение.

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


Управление отложенными ордерами.

Для того, чтобы изменить свойства отложенного ордера или удалить его, в Metatrader 5 есть удобные средства. К тому же, каждый может настроить среду управления, как ему будет удобнее.

Чтобы торговые уровни отображались на графике, нужно включить опцию Показывать торговые уровни в настройках терминала (Главное меню / Сервис / Настройки терминала). В этой же опции есть выпадающий список, в котором можно выбрать режим управления торговыми уровнями. Есть три режима управления:

  • - Разрешить перетаскивание торговых уровней.
  • - Разрешить перетаскивание торговых уровней с нажатой клавишей Alt.
  • - Запретить перетаскивание торговых уровней.

Второй вариант (с нажатой клавишей Alt) удобен тем, что исключается случайное нажатие на торговом уровне при работе с другими графическими объектами на графике.

Если перетаскивание торговых уровней разрешено, то отложенные ордера можно изменять просто перемещая их нажатием левой кнопки мыши на нужную цену. Это же относится ко всем торговым уровням, таким как Стоп Лосс и Тейк Профит. Переместив торговый уровень и отпустив кнопку мыши, выйдет окно для изменения торговых уровней. Останется только подтвердить своё действие нажав кнопку Изменить или Удалить, если это понадобится.

Перейти к изменению свойств отложенных ордеров можно ещё четырьмя способами:

  • - Окно для изменения свойств отложенного ордера можно вызвать из контекстного меню, которое можно вызвать нажав правой кнопкой мыши на отложенном ордере на графике при условии, что перемещение торговых уровней разрешено в настройках терминала.
  • - Также нажав правой кнопкой мыши на отложенном ордере в списке отложенных ордеров в окне Инструменты на вкладке Торговля, вызвав тем самым контекстное меню и выбрав опцию Изменить или удалить.
  • - Если произвести двойной клик на отложенном ордере в списке, то также откроется окно для изменения свойств.
  • - В столбцах Своп/Прибыль (объединённая ячейка) у отложенных ордеров отмечено их состояние. Например, при успешно установленном ордере это комментарий placed. В конце ячейки можно нажать на крестик (см. рисунок ниже - крестики отмечены красными стрелками), что тоже вызовет окно для изменения/удаления отложенного ордера. Для открытых позиций это действие вызовет окно для управления позицией. Такие же крестики есть и напротив торговых уровней Стоп Лосс и Тейк Профит.

Вкладка Торговля в окне Инструменты

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

При перемещении отложенного ордера, если у него установлены Стоп Лосс и/или Тейк Профит, то они тоже будут перемещаться вместе с ордером. При перемещении уровней Стоп Лосс или Тейк Профит, отложенный ордер остаётся на месте.

И ещё важный момент. Для примера, пусть установлено три ордера Buy Stop через каждые 10 пунктов. У каждого установлены Стоп Лосс и Тейк Профит на расстоянии от своего ордера на 10 пунктов. Если цена будет двигаться постоянно в сторону расположенных ордеров, то каждый раз при исполнении нового ордера, Стоп Лосс и Тейк Профит позиции будут изменяться на те, которые указаны в ордере. Это нужно учитывать при установке нескольких ордеров.

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

  • - Стартовавший (Started) - это состояние означает, что ордер уже был проверен на корректность, но ещё не принят брокером.
  • - Установленный (Placed) - ордер принят дилером.
  • - Выполненный частично (Partially filled) - ордер выполнен частично.
  • - Выполненный (Filled) - ордер выполнен полностью.
  • - Отменённый (Cancelled) - ордер снят клиентом.
  • - Отклонённый (Rejected) - ордер отклонён дилером.
  • - Истёкший (Expired) - ордер снят по истечении срока действия.

На схеме ниже показана очерёдность состояний, которые проходит ордер:

Схема состояний отложенного ордера

Состояние ордеров можно посмотреть в окне Инструменты на вкладке История в столбце Состояние (см. рисунок ниже):

История отложенных ордеров



Автоматизация рутинных действий с помощью скриптов на MQL5.

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

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

Для статьи я подготовил два скрипта: SetPendingOrders и DeletePendingOrders. Первый будет устанавливать отложенные ордера, а второй - удалять.

При запуске скриптов будет открываться окно с внешними параметрами скрипта. В таблице ниже приведён список внешних параметров скрипта SetPendingOrders:

Всего ордеров В этом параметре можно указать сколько ордеров нужно установить.
Отступ для первого ордера Здесь указывается расстояние в пунктах от текущей цены для первого ордера.
Расстояние между ордерами Значение расстояния между ордерами указывается также в пунктах.
Тип ордера Тип отложенного ордера, который нужно установить:
  • - Buy Stop
  • - Sell Stop
  • - Buy Limit
  • - Sell Limit
  • - Buy Stop Limit
  • - Sell Stop Limit
Уровень Stop Limit Расстояние отложенного ордера Stop Limit от стоп-уровня (в пунктах).
Объём Объём отложенного ордера.
Стоп Лосс Защитный уровень отложенного ордера. Если установить нулевое значение, то Стоп Лосс устанавливаться не будет.
Тейк Профит Уровень фиксации прибыли. Если установить нулевое значение, то Тейк Профит устанавливаться не будет.
Срок действия ордера Режим срока действия ордера:
  • - До отмены
  • - Сегодня
  • - Дата и время
  • - Дата
Дата и время истечения ордера Время для режимов срока действия ордера. То есть для режимов Дата и Дата и время.

У скрипта DeletePendingOrders всего два параметра (см. таблицу ниже):

Режим удаления В этом параметре можно указать режим удаления ордеров. Всего два режима:
  • - На всех символах
  • - Только на текущем символе
Тип ордера Здесь указывается тип отложенных ордеров, которые нужно удалить. Есть вариант, который позволяет удалить все ордера:
  • - Все типы ордеров
  • - Buy Stop
  • - Sell Stop
  • - Buy Limit
  • - Sell Limit
  • - Buy Stop Limit
  • - Sell Stop Limit

Эти скрипты можно скачать в конце статьи. Расположить их нужно в директории Metatrader 5\MQL5\Scripts. Если у Вас есть желание научиться самому программировать подобные программы, то предлагаю пройти курс по MQL5 на этом блоге, список статей которого можно найти в разделе Программирование.

На видео ниже показано, как устанавливать и изменять ордера вручную и с помощью скриптов в торговой платформе MetaTrader 5:



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




Скачать скрипт SetPendingOrders для установки отложенных ордеров
Скачать скрипт DeletePendingOrders для удаления отложенных ордеров


Комментариев нет :

Отправить комментарий