Русский

Учебник по MQL4  Торговые операции  Характеристики ордеров и правила проведения торговых операций

Характеристики ордеров и правила проведения торговых операций


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

Характеристики финансовых инструментов


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

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

Bid - меньшая из цен в двухсторонней котировке по финансовому инструменту, предлагаемая брокером.

Ask - большая из цен в двухсторонней котировке по финансовому инструменту, предлагаемая брокером.

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

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

Спред обычно является фиксированной величиной. В MetaTrader 4 принято правило, в соответствии с которым в окне финансового инструмента изображается график цены, отражающий динамику изменения цены Bid:


Рис. 68. Обычный график цены по финансовому инструменту.

На рис. 68 показано окно финансового инструмента, в котором можно наблюдать график изменения цены Bid и двухстороннюю котировку - линию текущей цены Bid (чёрного цвета, 1.3005) и линию текущей цены Ask (красного цвета, 1.3007). Легко увидеть, что в данном случае брокер предлагает спред, равный 2 пунктам. На графике не отражена история цены по Ask, но она подразумевается и может быть легко посчитана для любого момента времени.

Типы и характеристики ордеров


Всего различаются шесть типов ордеров - два рыночных и четыре отложенных.

Buy - рыночный ордер, определяющий покупку активов по финансовому инструменту.

Sell - рыночный ордер, определяющий продажу активов по финансовому инструменту.

BuyLimit - отложенный ордер на покупку активов по финансовому инструменту по цене ниже текущей. Ордер исполнится (преобразуется в рыночный ордер Buy), если цена Ask достигнет или окажется ниже цены, заявленной в ордере.

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

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

SellStop - отложенный ордер на продажу активов по финансовому инструменту по цене ниже текущей. Ордер исполнится (преобразуется в рыночный ордер Sell), если цена Bid достигнет или окажется ниже цены, заявленной в ордере.

Lots - размер ордера, выраженный в количестве лотов.

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

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


Требования и ограничения при проведении торговых операций


Для правильного формирования торговых приказов в прикладных программах (экспертах и скриптах) необходимо принимать во внимание имеющиеся требования и ограничения. Рассмотрим их подробно.

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

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

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

Дилинговые центры ограничивают значение минимально допустимой разницы между рыночной ценой и заявленной ценой каждого из стоп-приказов рыночного ордера, между рыночной ценой и заявленной ценой отложенного ордера, а также между заявленной ценой отложенного ордера и заявленными ценами его стоп-приказов. Это значит, например, что в торговом приказе на открытие рыночного ордера могут быть заявлены только такие значения цен стоп-приказов, которые удалены от текущей рыночной цены не менее, чем на минимальную дистанцию. Торговый приказ, в котором цены стоп-приказов заявлены ближе к рыночной цене, чем на минимальную дистанцию, расценивается клиентским терминалом как ошибочный. Разные дилинговые центры могут устанавливать различные, свойственные только им, ограничения минимальной дистанции. Как правило, размер минимальной дистанции колеблется от 1 до 15 пунктов. Для наиболее распространённых финансовых инструментов (EUR/USD, GBP/USD, EUR/CHF и пр.) эта дистанция у большинства дилинговых центров обычно составляет 3 - 5 пунктов. Разные финансовые инструменты также могут иметь разные значения минимальной дистанции, например, для золота это значение может составлять 50-100 пунктов. Значение минимальной дистанции для любого финансового инструмента может быть изменено брокером в любое время (обычно это происходит перед выходом важных экономических новостей). Аналогичных правил для ограничения максимальной дистанции не существует.

Дистанция заморозки ограничивает возможность модификации заявленных цен открытия отложенных ордеров, а также заявленных цен стоп-приказов рыночных ордеров, которые находятся в зоне заморозки. Это значит, например, что если рыночная цена =1.3800, имеется отложенный ордер заявленной ценой открытия 1.3807 и брокером установлено значение = 10, то отложенный ордер находится в зоне заморозки, т.е. его нельзя ни удалить, ни модифицировать. При спокойном рынке заморозка обычно не устанавливается, т.е. = 0. В период, предшествующий выходу важных новостей, а также при большой волатильности брокер может установить некоторое значение дистанции заморозки. При различных условиях и у разных брокеров это значение может составлять приблизительно от 1 до 30 пунктов по основным финансовым инструментам и принимать большие значения по другим инструментам. Брокер может изменить значение дистанции заморозки по своему усмотрению в любое время.

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

Открытие и закрытие рыночных ордеров


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

Правильной ценой открытия рыночного ордера Buy является последняя известная рыночная цена Ask.
Правильной ценой открытия рыночного ордера Sell является последняя известная рыночная цена Bid.
Ограничение, связанное с положением стоп-приказов открываемого рыночного ордера, рассчитывается от правильной рыночной цены, применяемой для закрытия ордера.
StopLoss и TakeProfit ордера не могут быть установлены ближе к рыночной цене, чем на минимальную дистанцию.

Например, минимальная дистанция для EUR/USD составляет 5 пунктов. Рыночный ордер Sell открывается по цене Bid=1.2987. Соответствующей ценой двухсторонней котировки, применяемой для закрытия ордера Sell, является Ask=1.2989. Наиболее приближенными к текущей цене в момент открытия ордера будут следующие значения стоп-приказов (см. рис. 69 и Требования и ограничения торговых операций):

StopLoss = Ask + минимальная дистанция = 1.2989 + 0.0005 = 1.2994

TakeProfit = Ask - минимальная дистанция = 1.2989 - 0.0005 = 1.2984.


Рис. 69. Рыночный ордер Sell со стоп-приказами, максимально приближенными к рыночной цене.

Если при формировании торгового приказа для открытия рыночного ордера Sell по цене Bid=1.2987 будут использоваться значения стоп-приказов ближе указанных (SL=1.2994 и ТР=1.2984), то такой торговый приказ будет отклонён клиентским терминалом. Кроме того, необходимо учитывать, что при открытии ордеров возможно проскальзывание цены, в результате чего ордер может быть открыт по цене, отличающейся от заявленной на некоторую допустимую величину, указанную трейдером в торговом приказе. Если в этом же торговом приказе указаны значения стоп-приказов, максимально приближенные к заявленной цене открытия, то такой торговый приказ тоже будет отклонён клиентским терминалом, т.к. в этом случае не будет соблюдено требование минимально допустимой дистанции между ценой открытия ордера и заявленной ценой одного из стоп-приказов. Поэтому в торговых приказах для открытия рыночных ордеров не рекомендуется использовать значения стоп-приказов, максимально приближенные к заявленной цене открытия ордера. Напротив, рекомендуется иметь некоторый запас, т.е. указывать такие значения стоп-приказов, которые удалены от заявленной цены открытия ордера на 1-2 пункта дальше, чем на величину минимально допустимой дистанции.

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

Правильной ценой закрытия рыночного ордера Buy является последняя известная рыночная цена Bid.
Правильной ценой закрытия рыночного ордера Sell является последняя известная рыночная цена Ask.

Если ордер Sell (рис. 69) закрыть в текущий момент, то он будет закрыт по цене Ask=1.2989, т.е. с убытком 2 пункта. Если же этот ордер оставить на некоторое время открытым, при этом рыночная цена Ask опустится до значения 1.2984, ордер будет закрыт по этой цене с прибылью в 3 пункта. Если же рыночная цена поднимется и достигнет значения Ask = 1.2994, то ордер будет закрыт по этой цене с убытком 7 пунктов.

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

Ограничение, связанное с закрытием рыночных ордеров, рассчитывается от правильной рыночной цены, применяемой для закрытия ордера.
Ордер не может быть закрыт, если цена исполнения его StopLoss или TakeProfit находится в пределах дистанции заморозки от рыночной цены.

Например, ордер, представленный на рис. 69, может быть закрыт только в том случае, если установленное брокером значение дистанции заморозки на момент закрытия будет составлять 4 пункта или меньше. Цена открытия ордера в данном случае не имеет значения. Границы коридора заморозки для ордера рассчитываются от рыночной цены. Поэтому, если = 4, то цена верхней границы заморозки равна + = 1.2989 + 0.0004 = 1.2993, а цена нижней границы, соответственно, - = 1.2989 - 0.0004 = 1.2985. При этих условиях ни один из стоп-приказов ордера не находится в коридоре заморозки, поэтому ордер может быть закрыт, если трейдер (или программа) отправит на сервер корректный торговый приказ. В случае если на текущий момент брокером установлено значение = 5, то границы коридора заморозки будут соответственно 1.2994 и 1.2984. В этом случае каждый из стоп-приказов оказывается на границе заморозки, т.е. попадает под ограничение, установленное брокером, поэтому ордер не может быть закрыт по инициативе трейдера или по приказу торгующей программы. В данном примере одновременно оба стоп-приказа подпадают под ограничение. В общем случае рыночный ордер не может быть закрыт по инициативе со стороны клиентского терминала, если хотя бы один из стоп-приказов этого ордера находится в зоне заморозки.

Если по одному финансовому инструменту одновременно открыто два рыночных ордера, один из которых Buy, а другой Sell, то их можно закрыть одним из двух способов: последовательно, один за другим, закрыть ордера, используя OrderClose(), или выполнить встречное закрытие (один за счёт другого) с помощью OrderCloseBy(). С точки зрения экономической выгоды предпочтителен второй вариант - при встречном закрытии ордеров экономится один спред. Более подробно использование торговых функций рассматривается в последующем изложении.

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


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

Отложенные ордера SellLimit и BuyStop устанавливаются выше текущей рыночной цены, а BuyLimit и SellStop - ниже текущей рыночной цены.

Ограничение, связанное с положением устанавливаемого отложенного ордера, рассчитывается от правильной рыночной цены преобразования отложенного ордера в рыночный.
Отложенные ордера BuyLimit, BuyStop, SellLimit и SellStop не могут быть установлены ближе к рыночной цене, чем на минимальную дистанцию.

Например, для того чтобы рассчитать предельно допустимую минимальную цену для ордера BuyStop, необходимо прибавить к последней известной цене Ask значение минимальной дистанции. Если StopLevel= 5, то предельно допустимая цена для установки отложенного ордера BuyStop составляет 1.3003+0.0005 = 1.3008 (см. рис. 70). Это значит, что ордер BuyStop может быть установлен в текущий момент по заявленной цене 1.3008 или большей цене. В данном примере BuyStop установлен по цене 1.3015, что вполне допустимо.


Рис. 70. Отложенные ордера устанавливаются ниже или выше текущей цены.

Заявленная цена отложенного ордера BuyStop равна 1.3015.

Заявленная цена отложенного ордера SellLimit равна 1.3012.

Заявленная цена отложенного ордера SellStop равна 1.2995.

Заявленная цена отложенного ордера BuyLimit равна 1.2993.

В данном примере все ордера были установлены на нулевом баре в момент, показанный на рис. 70, при этом минимальная дистанция для установки отложенного ордера составляла 5 пунктов. Наиболее близким к рыночному курсу является отложенный ордер SellStop. В данном случае Bid = 1.3001, а заявленная цена SellStop = 1.2995. Таким образом, дистанция между ордером и правильной ценой двухсторонней котировки (Bid) составляет 6 пунктов (1.3001 - 1.2995), т.е. больше минимально допустимой дистанции. Это значит, что при открытии ордера (также и всех других ордеров в этом примере) торговый приказ был одобрен клиентским терминалом и отправлен на сервер, где, в свою очередь, также была проведена необходимая проверка и принято решение об исполнении торгового приказа на установку отложенного ордера (см. Требования и ограничения торговых операций).

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

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

На рис. 71 показан отложенный ордер SellLimit, стоп-приказы которого максимально приближены к заявленной цене ордера. В данном случае: заявленная цена ордера = 1.2944, StopLoss=1.2949, TakeProfit=1.2939. При минимальной дистанции 5 пунктов это допустимые значения.


Рис. 71. Отложенный ордер со стоп-приказами, максимально приближенными к ордеру.

В данном примере отложенный ордер SellLimit был открыт в 18:07. На рис. 71 видно, что в дальнейшем рыночная цена достигла и пересекла один из его стоп-приказов и впоследствии снова понизилась. Это событие не оказало никакого влияния на ордер: стоп-приказ являет собой приказ на закрытие рыночного ордера, т.е. вступает в силу только с того момента, когда отложенный ордер преобразуется в рыночный. В данном случае ордер не был преобразован в рыночный (т.к. цена Bid не достигла заявленной цены открытия ордера), поэтому пересечение ценой стоп-приказа не привело ни к каким изменениям.

Ограничение, связанное с удалением отложенных ордеров, рассчитывается от правильной рыночной цены, применяемой для преобразования отложенного ордера в рыночный.
Отложенные ордера BuyLimit, BuyStop, SellLimit и SellStop не могут быть удалены, если заявленная цена открытия ордера находится в пределах дистанции заморозки от рыночной цены.

Ордер SellLimit может быть удалён в момент, представленный на рис. 71, по инициативе со стороны клиентского терминала только в случае, если установленное на этот момент значение = 8 или менее пунктов. В этом случае верхняя граница коридора заморозки (рассчитываемая для SellLimit) составляет: + = 1.2935 +0.0008 = 1.2943. Заявленная цена открытия ордера составляет 1.2944, т.е. ордер установлен за пределами коридора заморозки и может быть удалён. Если же брокер установит значение большее, чем 8 пунктов, то отложенный ордер SellLimit удалён быть не может, а клиентский терминал отклонит торговый приказ.

Преобразование отложенных ордеров в рыночные


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

Отложенные ордера BuyLimit и BuyStop преобразуются в рыночные, если последняя известная цена Ask достигнет заявленной цены отложенного ордера.
Отложенные ордера SellLimit и SellStop преобразуются в рыночные, если последняя известная цена Bid достигнет заявленной цены отложенного ордера.

О ранее установленных отложенных ордерах (рис. 70) можно сказать следующее.

Отложенный ордер BuyStop преобразуется в рыночный ордер Buy, если текущая цена Ask достигнет значения 1.3015.

Отложенный ордер SellLimit преобразуется в рыночный ордер Sell, если текущая цена Bid достигнет значения 1.3012.

Отложенный ордер SellStop преобразуется в рыночный ордер Sell, если текущая цена Bid достигнет значения 1.2995.

Отложенный ордер BuyLimit преобразуется в рыночный ордер Buy, если текущая цена Ask достигнет значения 1.2993.

Последующие события, касающиеся этих ордеров, отображены на рис. 72-74.


Рис. 72. Преобразование отложенных ордеров в рыночные.

В более поздней истории были преобразованы в рыночные и 2 других отложенных ордера.


Рис. 73. Преобразование отложенных ордеров в рыночные.



Рис. 74. Отражение преобразованных (теперь рыночных) ордеров в окне терминала.

Обратите внимание, на рис. 73 показано открытие ордера Buy 4210322 (бывшего отложенного ордера BuyStop). Легко заметить, что бар, образованный в 18:55, не касается цены 1.3015. Максимальное значение цены в этом баре достигает значения 1.3013. Вместе с тем, в окне терминала (рис. 74) показано, что время преобразования отложенного ордера в рыночный произошло именно на этом баре, т.е. в 18:55.

Здесь необходимо ещё раз подчеркнуть, что в окне финансового инструмента отображается только история рыночных курсов по меньшей цене двухсторонней котировки, а именно, история Bid. История Ask не отображается. По этой причине может сложиться впечатление, что преобразование отложенного ордера в рыночный произошло ошибочно. В действительности в данном случае ошибки нет. В тот момент, когда цена Bid была равна 1.3013, цена Ask составляла 1.3013 + 2 = 1.3015 (2 = спред 2 пункта). Таким образом, касание рыночной ценой заявленной цены ордера произошло, в результате чего отложенный ордер был автоматически преобразован в рыночный. Преобразование ордера было осуществлено на сервере. Сразу после этого сервер передал информацию клиентскому терминалу, а тот, в свою очередь, отобразил эту информацию графически в окне финансового инструмента и текстом в окне терминала.

Аналогичные наблюдения касаются и преобразования ордера BuyLimit 4210411. Несмотря на то, что графическое изображение цены в 16:37 - 16:39 и в 16:41 (рис. 72) касается или находится ниже заявленной цены отложенного ордера BuyLimit, открытие ордера не произошло. В данном случае причина та же: не произошло касания рыночной ценой Ask заявленной цены ордера. Но это касание произошло на следующем баре, в 16:42. В результате этого события отложенный ордер был преобразован в рыночный, в окне финансового инструмента вместо записи BuyLimit появилась запись Buy, а в окне терминала отобразился новый рыночный ордер.

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

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

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


а) разрыв цен произошёл между барами б) разрыв цен произошёл при формировании бара
Рис. 75. Преобразование отложенного ордера в рыночный при разрыве цен.

На рис. 75а представлен возможный вариант открытия отложенного ордера BuyStop (здесь показано два его положения - до и после открытия; при действительных событиях можно наблюдать только один ордер - либо BuyStop, либо Buy). Последняя известная цена до скачка цен составляла 1.9584. В 19:15 были обнародованы какие-то новости, в результате чего цена по финансовому инструменту скачкообразно изменилась. Первая известная цена после выхода новостей равна 1.9615. Скачкообразное изменение цены обычно происходит в результате выхода важных новостей. В подобных случаях у брокера нет возможности открыть ордер по заявленной цене, т.к. на рынке в этот момент нет соответствующих цен. В данном случае отложенный ордер BuyStop был установлен по заявленной цене 1.9590, но открылся (преобразовался в рыночный) по цене 1.9615. Это произошло потому, что в диапазоне от 1.9584 до 1.9615 других цен не было.

В результате рассматриваемых событий рыночный ордер Buy был открыт по цене на 25 пунктов хуже в сравнении с ценой отложенного ордера BuyStop. Аналогичная ситуация (недополучение прибыли по ордеру) может сложиться и для ордера SellStop в случае, если цена скачкообразно понижается. Если же в разрыв цен попадает отложенный ордер BuyLimit или SellLimit, то соответствующий рыночный может быть открыт по цене лучшей, чем цена, заявленная в отложенном ордере.

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

Модификация рыночных ордеров


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

Для модификации любых типов ордеров, в том числе рыночных, используется функция OrderModify().

Модификация рыночного ордера предполагает изменение заявленных значений стоп-приказов. Изменение цены открытия рыночного ордера запрещено.

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

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

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

Рассмотрим пример. Ранее был открыт рыночный ордер со стоп-приказами, максимально приближенными к рыночной цене (рис. 69). В дальнейшем рыночная цена изменилась (увеличилась на 1 пункт). В момент, показанный на рис. 76, стало возможным изменить значение TakeProfit. Ордер Sell закрывается по последней известной цене Ask. Дистанция между Ask=1.2990 и предыдущим значением TakeProfit=1.2984 составляла 6 пунктов, т.е. больше минимально допустимой дистанции. Трейдером или программой был сформирован торговый приказ изменить значение TakeProfit, а именно, увеличить это значение на 1 пункт. В результате была совершена торговая операция - изменение положения стоп-приказа рыночного ордера (предыдущее значение TakeProfit=1.2984, новое значение 1.2985).

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


Рис. 76. Модифицированный ордер со стоп-приказами, максимально приближенными к рыночной цене.

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


Рис. 77. Модифицированный ордер, стоп-приказы которого установлены за пределами минимальной дистанции.

Модификация отложенных ордеров


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

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

Отложенные ордера BuyLimit и BuyStop не могут быть установлены ближе к рыночной цене Ask, чем на минимальную дистанцию StopLevel.
Отложенные ордера SellLimit и SellStop не могут быть установлены ближе к рыночной цене Bid, чем на минимальную дистанцию StopLevel.
StopLoss и TakeProfit любого отложенного ордера не могут быть установлены ближе к заявленной цене открытия ордера, чем на минимальную дистанцию StopLevel.
Отложенные ордера BuyLimit и BuyStop не могут быть модифицированы, если заявленная цена открытия ордера находится в пределах дистанции заморозки от рыночной цены Ask.
Отложенные ордера SellLimit и SellStop не могут быть модифицированы, если заявленная цена открытия ордера находится в пределах дистанции заморозки от рыночной цены Bid.
Положение StopLoss и TakeProfit отложенных ордеров дистанцией заморозки FreezeLevel не ограничивается.

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


Например, отложенный ордер BuyLimit установлен с параметрами: заявленная цена=1. 2969, StopLoss=1.2964, TakeProfit=1.2974. Текущее значение рыночной цены (применяемой для преобразования отложенного ордера в рыночный) Ask=1.2983. Таким образом, ордер установлен на расстоянии 14 пунктов (1.2983-1.2969) от рыночной цены, что значительно превышает минимально допустимую дистанцию. Стоп-приказы находятся на расстоянии 5 пунктов от заявленной цены, что не больше минимальной дистанции, т.е. допустимо.


Рис. 78. Отложенный ордер BuyLimit со стоп-приказами, максимально приближенными к ордеру.

Если у трейдера возникла необходимость изменить цену ордера BuyLimit, то в какую бы сторону не был сдвинут этот ордер, в данном случае необходимо также одновременно изменить и положение соответствующего стоп-приказа (или удалить его, т.е. установить нулевое значение), в противном случае дистанция между ордером и его стоп-приказом окажется меньше минимально допустимой. Трейдер принял решение модифицировать ордер таким образом, чтобы сохранить дистанцию между ордером и TakeProfit равной 5 пунктов, а значение StopLoss оставить без изменения (рис. 79).


Рис. 79. Модифицированный ордер BuyLimit (изменена заявленная цена и TakeProfit).

Если у трейдера возникла необходимость установить отложенный ордер BuyLimit как можно ближе к рыночному курсу, то в данном случае (рис. 80) предельно допустимое значение заявленной цены равно Ask-5пунктов = 1.2985-0.0005 = 1.2980. В этом примере стоп-приказы установлены за пределами ограничивающей минимальной дистанции.


Рис. 80. Модифицированный ордер BuyLimit максимально приближен к рыночной цене.


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