673
отношению к операции открытия ордера в противоположном направлении (на продажу) в
той же мере, как и операция закрытия ордера (на покупку). Иначе говоря, с
экономической точки зрения безразлично какой из двух вариантов использовать: то ли
просто закрыть рыночный ордер, то ли открыть встречный на такое же количество лотов
(а впоследствии оба ордера закрыть встречно). Разница между этими вариантами может
состоять лишь в различных методах расчёта денежных средств, отвлекаемых на
поддержание рыночных ордеров в различных дилинговых центрах (см. рис. 85 и рис. 88).
Легко заметить также, что в функции OrderCloseBy() для встречного закрытия ордеров не
предусмотрено указание цены закрытия. В этом нет необходимости, потому что прибыль
и убыток от двух встречных ордеров взаимно гасят друг друга, и общий экономический
результат от рыночной цены не зависит. Это правило справедливо, конечно же, только в
отношении ордеров одинакового количества лотов. Например, если по одному
финансовому инструменту имеются два ордера - Buy размером 1 лот и Sell размером 0.7
лота, то зависимость от цены этой торговой ситуации касается только ордера Buy в
размере 0.3 лота. Совпадающая же часть ордеров 0.7 лота от цены финансового
инструмента не зависит.
Встречные ордера не оказывают влияния на общий итог торгов, поэтому торговые
тактики, основанные на открытии встречных ордеров, не имеют содержательного
основания (по этой причине некоторые дилинговые центры принудительно закрывают
любые встречные ордера в пределах совпадающего количества лотов). Единственное -
негативное - влияние подобных тактик может состоять только в отвлечении средств в
соответствии с правилами, принятыми в некоторых дилинговых центрах. Кроме того,
наличие нескольких встречных ордеров представляет большую сложность с точки зрения
программного управления торговлей, чем один ордер. Если также принять во внимание
наличие комиссионных и свопов (для каждого из рыночных ордеров), то необходимость
закрывать встречные ордера становится очевидной.
Пример простого скрипта, закрывающего все встречные ордера по
финансовому инструменту (closeby.mq4).
//--------------------------------------------------------------------
// closeby.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------- 1 --
int start() // Спец.функция start