удаление отложенных ордеров mql4

Ордер – это запрос на совершение покупки или продажи, при исполнении которого совершается сделка, результатом сделки является открытие, изменение или закрытие позиции. Ордера в этой стратегии форекс закрываются по стоп-лоссу и поэтому функция CloseOrder() нам не нужна. В ней сказано что торговля ведется только отложенными ордерами Buy Stop и Sell Stop. Если по некоторому финансовому инструменту имеется два встречных ордера, то их можнозакрыть одновременно, один за счёт другого, с помощью функции OrderCloseBy().При исполнении такой торговой операции экономится один спред.

  1. Торговые приказы для закрытия рыночных ордеров формируются с помощью функции OrderClose().
  2. Результат отдельного закрытия ордеров с помощью функции OrderClose().
  3. В случае, если торговыйприказ исполнен (т.е. фактически проведена торговая операция), то на сервере выполняетсянеобходимое преобразование информации.
  4. Например, если по одному финансовомуинструменту имеются два ордера – Buy размером 1 лот и Sell размером 0.7 лота, тозависимость от цены этой торговой ситуации касается только ордера Buy в размере0.3 лота.
  5. Формирование торговыхприказов в программе происходит в соответствии с алгоритмом в результате исполненияторговых функций.
  6. Результат встречного закрытия ордеров с помощью функции OrderCloseBy().

Для получения подробного описания этих и других функций необходимо обратиться ксправочной документации на MQL4.community, сайте MetaQuotes Ltd. или к разделу “Справка” в редакторе MetaEditor. Перед установкой нового ордера будем вызывать ее с соответствующим параметром.Перечитываем стратегию еще раз. Кроме того в условии расчета тейк-профита и стоп-лосса мы проверяем эти параметры на соответствие „0“. Это поможет избежать в дальнейшем ситуации когда мы передаем эти параметры, а функция их пересчитывает.

В этой ситуации клиентский терминал не может принять к рассмотрению торговыйприказ, созданный Экспертом 2, и поэтому отклонит этот приказ и вернёт управлениеЭксперту 2. Обратите внимание, в данном случае торговый приказ отклоняется клиентским терминалом не потому, что приказ оказался некорректным, а потому, что терминал занят обработкой другого приказа. Эксперт 2 продолжит работу и может проанализировать код ошибки, свидетельствующийо причине отклонения торгового приказа (в данном случае – ошибка 146). Информация об истории торговли по каждому счёту (открытие, закрытие и модификацияордеров) в обязательном порядке строго учитывается на сервере и имеет более высокийприоритет в сравнении с торговой историей, хранящейся в клиентском терминале. Правом исполнения торговых приказов обладает только сотрудник дилингового центраили сервер, работающий в автоматическом режиме (если сотрудник дилингового центрана некоторое время передаст серверу соответствующие полномочия). Торговый приказ,поступивший на сервер, может быть исполнен либо отклонён.

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

удаление отложенных ордеров mql4

В нем можно задать новую цену срабатывания отложенного ордера, новые уровни Стоп Лосс и Тейк Профит, а также изменить срок действия ордера. После модификации ордера необходимо нажать кнопку “Изменить”. Если в течение промежутка времени с момента формирования торгового приказа программой(t 1) до момента принятия решения сервером (t 6) на рынке не произошло каких-либосущественных изменений, торговый приказ, как правило, будет исполнен. Если за этоже время изменилась цена по финансовому инструменту, либо стоимость открываемогоордера на что такое выписка по счету момент решения превышает количество свободных средств, либо возниклидругие препятствия, то сервер принимает решение отклонить торговый приказ. В случае, если программа сформировала корректный торговый приказ, клиентский терминалотправляет этот приказ на сервер, и тогда следующим событием будет Событие 5 (моментt 5) – получение торгового приказа сервером.

Формирование торговых приказов

На серверепринимается решение об исполнении или отклонении торгового приказа. Информация о фактически полученных результатах сообщается сервером в клиентский терминал и далее в программу. Если бы заранее брокер freshforex было точно известно, что в течение периода закрытия ордеров ценане изменится, то порядок закрытия ордеров не имел бы значения. Однако за то время,пока исполняется торговый приказ на закрытие одного из ордеров, цена может измениться.Поэтому, закрыть следует тот ордер, который при неблагоприятном развитии событийпринесёт больше вреда. При изменении цены на 1 пункт прибыль по первому ордерууменьшится на $5, а по второму – на $10.

Функция OrderSelect()

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

Указанные торговые функции могут использоваться только в экспертах и скриптах; использование этих функций в индикаторах запрещено (см. также Таблицу 2). При работе на рынке часто возникает необходимость изменить либо удалить выставленный отложенный ордер. Чтобы это сделать, необходимо выполнить команду контекстного меню отложенного ордера бинарные опционы реальные “Модифицировать или удалить ордер” либо дважды щелкнуть левой кнопкой мыши на строке состояния отложенного ордера в окне “Терминал — Торговля”.

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

MODE_HISTORY – ордер выбирается среди закрытых и удаленных ордеров, т.е. Среди тех,которые указаны в Терминале на закладке История счёта. При этом имеет значениеглубина истории, заданная пользователем в терминале для показа закрытых и удаленныхордеров. Slippage – максимально допустимое отклонение заявленной цены закрытия ордера от рыночнойцены (пунктов). Возвращает true при успешном завершении функции или false в случае ошибки.