OrderSelect Торговые функции Справочник MQL4

Print This Post Print This Post

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

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

  1. Чтобы получить параметры любого из ордеров (рыночных или отложенных, закрытых илиудалённых) его необходимо предварительно выбрать с помощью функции OrderSelect().
  2. Теперь эту функцию можно вызывать как и раньше с 2 параметрами, а можно с указанием дополнительных параметров.
  3. Если же программа формирует корректный торговый приказ (открытиеи закрытие ордеров по последней известной цене, стоимость ордеров находится в пределахограничений дилингового центра и т.д.), то такой приказ будет отправлен на сервер.
  4. Например, функция OrderOpenPrice() возвращает значениецены открытия ордера (или заявленной цены для отложенных ордеров), функция OrderLots()возвращает количество лотов, функция OrderType() возвращает тип ордера и т.д.
  5. MODE_HISTORY – ордер выбирается среди закрытых и удаленных ордеров, т.е.

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

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

Порядок использования указанных функций подробно рассматривался в главе Программирование торговых операций. Все другие функции не формируют торговых приказов, но их применение очень частобывает востребованным. Например, в ряде случаев ордера требуется закрыть в порядкенекоторого приоритета. Для этого что такое фунт стерлинг в программе необходимо проанализировать характеристикикаждого из ордеров, а именно, – тип ордера, количество лотов, положение стоп-приказови т.д. Рассмотрим некоторые функции, позволяющие получить информацию об ордере. 64.3, в заголовке оператора if анализируетсяфакт наличия следующего ордера в списке ордеров на момент его выбора.

Функция OrderTakeProfit()

В первом операторе switch обрабатываются ошибки, которые по смыслу являютсяпреодолимыми, т.е, если можно считать, что при выполнении торговой операции возникливременные затруднения. Далее управление в исполняемой программе будет передано оператору цикла while (блок6-10). В блоке 6-7 выполняется проверка наличия найденных рыночных ордеров. Еслив блоке 2-4 не было обнаружено ни одного рыночного ордера (а это в общем случаевполне возможно), то значение флага Real_Order остаётся равным -1, что означаетотсутствие рыночных ордеров. Если при проверке в блоке 6-7 выявлено отсутствиерыночных ордеров, то выполнение цикла while прерывается и программа заканчиваетработу.

Нам (согласно торговой стратегии) нужна всего одна экспоненциальная скользящая средняя с периодом 25 — EMA (25). Встречный ордер – это рыночный ордер, открытый в противоположном направлении по отношению к другомурыночному ордеру по тому же финансовому инструменту. Сообщения, полученные в результате успешного форекс стратегии которые работают на всех финансовых рынках исполнения скрипта closeorder.mq4. Index – позиция ордера или номер ордера в зависимости от второго параметра. Клиентский терминал закончил отображение изменений и передаёт управление программе. Последовательность событий при осуществлении торговой операции.

Торговые функции

Здесь же важно отметить, что не все торговые приказы приводятк осуществлению торговых операций. В данном случае программа сформировала некорректныйприказ, в результате чего клиентский терминал отклонил этот приказ и вернул управлениепрограмме. Интервалы времени t 1 – t 2 – t 3 – t 4 пренебрежительно малы и в общей сложностине превышают нескольких мс. В проведении торговых операций принимают участие три составляющих – прикладная программа,клиентский терминал и сервер (см. рис. 65).

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

Если торговый приказ, созданный Экспертом 1, будет принят клиентским терминалом как корректный, то в момент t 3 этот приказ отправляетсятерминалом на сервер. В этом случае клиентский терминал переходит в режим ожидания ответасервера и считается недоступным для рассмотрения других торговых приказов. Клиентскийтерминал освободится для рассмотрения других торговых приказов только в момент t 9. Программа, получившая управление, форекс брокер альфа-форекс продолжит своюработу и, проанализировав код ошибки, может выяснить причину отклонения торгового приказа(в данном случае – ошибка 146).

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

Advertisements