d9e5a92d

Сергей Ковалев - Полезные MT4 функции для комфортной работы (2)

Закрытие удаление ордеров в ручном режиме

Закрытие рыночных и удаление отложенных ордеров в приложении AutoGraf 4 может выполняться в ручном, полуавтоматическом и автоматическом режимах. Общий порядок закрытия и удаления ордеров в ручном режиме состоит в удалении ордерных линий ордеров. При формировании торговых приказов на закрытие и удаление ордеров приложением AutoGraf 4 принимаются во внимание ограничения по дистанции заморозки FreezeLevel, действующие при проведении торговых операций.

Рыночные ордера

Для закрытия рыночного ордера нужно выделить ордерную линию ордера и нажать кнопку Delete (или воспользоваться контекстным меню клиентского терминала MetaTrader 4). Если пользователь удалил ордерную линию рыночного ордера, то приложением AutoGraf 4 будет сформирован и отправлен на сервер торговый приказ на закрытие ордера.

В торговом приказе будут указаны следующие параметры:

1. Цена закрытия ордера - в соответствии с рыночной ценой, действующей для закрытия рыночных ордеров (Bid для Buy и Ask для Sell).

2. Проскальзывание - в соответствии с заданным значением настроечного параметра Sl.

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

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

Отложенные ордера

Для удаления отложенного ордера нужно выделить ордерную линию ордера и нажать кнопку Delete (или воспользоваться контекстным меню клиентского терминала MetaTrader 4).

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

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

сервер, выводится сообщение о

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

Вариант 2. Если в момент удаления ордерной линии ордер находился за пределами коридора заморозки, то

приложением AutoGraf 4 будет сформирован и отправлен на сервер торговый приказ на удаления отложенного ордера.

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

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

Одновременное закрытие нескольких ордеров

Допускается одновременное удаление нескольких ордерных линий ордеров. Общее количество закрываемых ордеров не ограничено. Если пользователь удалил одновременно несколько ордерных линий (принадлежащих одному ордеру или разным ордерам), то приложением AutoGraf 4 будет сформирована серия торговых приказов на закрытие и удаление ордеров. При этом приложение AutoGraf 4 будет стремиться исполнить управляющее воздействие трейдера наилучшим образом. Это значит, при формировании и отправке на сервер торговых приказов соблюдается строго определённый порядок сортировки торговых приказов в соответствии с приоритетом торговой операции.

Приоритеты торговых приказов на закрытие и удаление ордеров

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

В приложении AutoGraf 4 принят следующий порядок приоритетов закрытия и удаления ордеров:

Юридические основы дилинга

1. Закрытие рыночных ордеров.

1.1. Закрытие рыночных ордеров на

разницу стоимости всех

разнонаправленных рыночных ордеров.

1.1.1. Закрытие на

максимальное количество лотов в пределах разницы стоимости

разнонаправленных ордеров.

1.1.2. Закрытие ордеров, StopLoss которых ближе к рыночному курсу.

1.1.3. Закрытие ордеров,

TakeProfit которых ближе к

рыночному курсу.

1.2. Встречное закрытие рыночных ордеров.

1.2.1. Встречное закрытие на

максимальное количество лотов.

1.2.2. Встречное закрытие

ордеров, StopLoss которых ближе к рыночному курсу.

1.2.3. Встречное закрытие

ордеров, TakeProfit которых ближе к рыночному курсу.

1.3. Закрытие рыночных ордеров.

1.3.1. Закрытие на

максимальное количество лотов.

1.3.2. Закрытие ордеров,

StopLoss которых ближе к рыночному

курсу.

1.3.3. Закрытие ордеров,

TakeProfit которых ближе к рыночному курсу.

2. Удаление отложенных ордеров.

2.1. Удаление ордеров, наиболее близких к рыночному курсу.

2.2. Удаление ордеров на максимальное количество лотов.

2.3. Удаление ордеров, StopLoss которых ближе к рыночному курсу.

2.4. Удаление ордеров, TakeProfit которых ближе к рыночному курсу.

Представленный порядок

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

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

Встречное закрытие ордеров позволяет сэкономить один спред по сравнению с последовательным закрытием ордеров. Если в списке удаляемых ордеров есть встречные (разнонаправленные ордера - Buy и Sell), то приложение AutoGraf 4 сформирует торговый приказ на встречное закрытие раньше, чем на обычное закрытие ордеров, поэтому п.1.2. имеет более высокий приоритет, чем п.1.3. Вместе с тем, п.1.1. имеет ещё более высокий приоритет, чем п.1.2. Такое соотношение приоритетов составлено с целью быстрее (за минимальное количество торговых приказов)

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

Пример. Имеется два ордера - Buy на 3 лота и Sell на 2 лота. Трейдер выделил ордерные линии этих ордеров и удалил. Какие торговые приказы и в какой последовательности должны быть сформированы приложением AutoGraf 4? Вариант 1.

1. Встречное закрытие ордеров Buy и Sell на 2 лота.

2. Закрытие ордера Buy остаточной стоимостью 1 лот.

Вариант 2.

1. Частичное закрытие ордера Buy стоимостью 1 лот.

2. Встречное закрытие ордеров Sell на 2 лота и Buy остаточной стоимостью 2 лота.

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

будет изменяться) в Варианте 1 после исполнения обоих торговых приказов, а в Варианте 2 - после первого торгового приказа, а именно, после частичного закрытия ордера Buy. Пользователь заинтересован как можно быстрее вывести торговую ситуацию из-под влияния рынка, с этой точки зрения Вариант 2 является предпочтительным (этот алгоритм и реализован в приложении AutoGraf 4). После того, как будет исполнен п.1. в Варианте 2 непредсказуемое изменение рыночной цены никак не отразится на состоянии счета.

Обработка ошибок и повторение торговых приказов

Решение об исполнении любого торгового приказа, сформированного приложением AutoGraf 4, принимается на сервере. Если торговый приказ исполнен, то соответствующий ордер будет закрыт, ордерные линии этого ордера удалены и выведено сообщение о закрытии ордера, сопровождаемое звуком закрытия ордера.

Если же торговый приказ не исполнен, то приложением AutoGraf 4 будет выведено сообщение об отказе сервера исполнить торговый приказ и причине отказа; сообщение сопровождается звуком отказа исполнения торговой операции. В этом случае приложением AutoGraf 4 будет также проанализирована причина отказа сервера исполнить торговый приказ (код ошибки). В зависимости от причины отказа приложением AutoGraf 4 автоматически (без участия трейдера) будут выполнены предопределённые действия.

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

Сергей Ковалев - Полезные MT4 функции для комфортной работы (2)


Рис. 1. События на видео:

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

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

1. Открыт ордер Buy на 0.3 лота.

2. Установлено новое значение лотов для новых ордеров.

3. Открыт ордер Sell на 0.2 лота.

4. Установлен отложенный ордер BuyStop на желаемую цену.

5. Выделены ордерные линии ордеров Buy, Sell и BuyStop (с целью удаления).

6. Удалены выделенные ордерные линии (показано как это сделать из контекстного меню, в реальной практике можно нажать кнопку Delete).

Юридические основы дилинга

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

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

7. AutoGraf 4 определил и реализовал наиболее эффективный алгоритм закрытия:

7.1. Частично закрыт Buy на 0.1 лотов (эта операция выполняется раньше других с целью как можно быстрее вывести торговлю в режим независимости от рыночных цен -оставшиеся рыночные ордера зеркально отражаются на эквити счёта, т.е. в сумме - никак).

7.2. Встречно закрыты Sell 0.2 лота и Buy остаточной стоимостью 0.2

лота (встречное закрытие экономит один спред).

7.3. Удален отложенный ордер BuyStop.

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

Юридические основы дилинга

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

С уважением, Сергей Ковалев





Содержание раздела