Скачать MetaTrader 5

Отслеживание исполнения отложенного ордера

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vitaly Zyrianov
190
Vitaly Zyrianov  

Здравствуйте, уважаемые!

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

o_o
Модератор
24033
o_o  
VAZ_ik:

Здравствуйте, уважаемые!

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

Ищите сделку ордера.

DEAL_ORDER

Vitaly Zyrianov
190
Vitaly Zyrianov  
sergeev:

Ищите сделку ордера.

DEAL_ORDER

Думал об этом. Для этого же надо просматривать совершённые сделки. Понятно, что в большинстве случаев, она будет если не с краю, то близко к нему, но в общем случае это не очень логично. Если уж смотреть с этой стороны, то проще, пожалуй, мониторить общее количество ордеров через OrdersTotal() и по, допустим, уровню цены выяснять, какой из отложенных ордеров сработал, т. к. у меня хранится история тикетов незавершённых ордеров. Просто, надеялся, что при срабатывании отложенного ордера должно каким-нибудь образом изменяться его состояние.
Документация по MQL5: Торговые функции / OrdersTotal
Документация по MQL5: Торговые функции / OrdersTotal
  • www.mql5.com
Торговые функции / OrdersTotal - Документация по MQL5
o_o
Модератор
24033
o_o  
а ORDER_TIME_DONE  или ORDER_POSITION_ID не помог?
o_o
Модератор
24033
o_o  
VAZ_ik:
при этом отложенный ордер как был в состоянии PLACED, так и остаётся.
ну так он же отложенный. Он свое состояние поменяет на ORDER_STATE_FILLED  когда исполнится
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
Vitaly Zyrianov
190
Vitaly Zyrianov  
sergeev:
ну так он же отложенный. Он свое состояние поменяет на ORDER_STATE_FILLED  когда исполнится

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

 

Vitaly Zyrianov
190
Vitaly Zyrianov  
sergeev:
а ORDER_TIME_DONE  или ORDER_POSITION_ID не помог?
Ну это только для идентификации. Интересует же прежде всего обработка изменения состояния ордера. Кроме того, ORDER_TIME_DONE не устанавливаю, т. к. привязка идёт к цене.
o_o
Модератор
24033
o_o  
VAZ_ik:
Кроме того, ORDER_TIME_DONE не устанавливаю, т. к. привязка идёт к цене.

при чем тут Order Expiration ?  

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

Vitaly Zyrianov
190
Vitaly Zyrianov  
sergeev:

при чем тут Order Expiration ?  

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

Я читал справку. Но в процессе тестирования этот параметр никак не изменялся, хотя в результатах тестирования ордер отображается исполненным. Опять-таки, ордер я контролировал по остальным параметрам: цена, take profit. Почему и решил, что он аналогичен времени истечения ордера.
o_o
Модератор
24033
o_o  
VAZ_ik:
в процессе тестирования этот параметр никак не изменялся, хотя в результатах тестирования ордер отображается исполненным.

если вы в этом уверены, то пишите заявку в сервисдеск.

обрисуйте проблему подробней и приложите исходный код.

Mikhail Vdovin
1227
Mikhail Vdovin  
sergeev:

если вы в этом уверены, то пишите заявку в сервисдеск.

обрисуйте проблему подробней и приложите исходный код.

Есть какой либо прогрес в данном направлении? Тоже столкнулся с проблемой отслеживания исполнения ордеров. Отложенный ордер не меняет свой статус.... Как быть?
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий