Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1333

 
Fast235:

https://www.mql5.com/ru/forum/170952/page195#comment_19853399

тут fxsaber представил функцию с:

ORDER_REASON_SL

Ордер выставлен в результате срабатывания Stop Loss

ORDER_REASON_TP

Ордер выставлен в результате срабатывания Take Profit

не могу сообразить как и для чего  ORDER_REASON_TP,

как работает DEAL_REASON_TP имею представление, а вот что с ордерами не понятно тут

Ордер выставлен сервером МТ по условию достижения ценой уровня ТП открытой позиции.  и сделка соответствующая. Но в МТ4 нет такого ;)

 
Fast235:

https://www.mql5.com/ru/forum/170952/page195#comment_19853399

тут fxsaber представил функцию с:

ORDER_REASON_SL

Ордер выставлен в результате срабатывания Stop Loss

ORDER_REASON_TP

Ордер выставлен в результате срабатывания Take Profit

не могу сообразить как и для чего  ORDER_REASON_TP,

как работает DEAL_REASON_TP имею представление, а вот что с ордерами не понятно тут

А как может быть сделка без приказа (ордер = приказ)

Ордерная система 4ки сильно упрощена от 5ки. А данные необходимо иметь все.

 
Valeriy Yastremskiy:

А как может быть сделка без приказа (ордер = приказ)

Ордерная система 4ки сильно упрощена от 5ки. А данные необходимо иметь все.

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

 
Fast235:

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

Вам просто надо понять ордерную систему МТ5. Всё просто - вы выставляете ордер, когда он исполняется создаётся сделка (и записывается в историю), она порождает позицию. Тоже при закрытии.

 
Fast235:

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

ордер это приказ в 5ке. в 4ке рыночный ордер это исполненный приказ. В 5ке тейкпрофит это приказ на закрытие позиции. 

 

Подскажите, пожалуйста, как в мт5 сковырнуть прибыль исторической сделки в пунктах. Через HistoryDealGetDouble() можно взять цену и прибыль сделки. Через HistoryDealGetInteger() можно получить ордер, на основании которого выполнена сделка и направление (вход, выход и т.д.).  Можно как-то получить сделку, которая на вход, связанную с той, которая на выход? Они как-то связаны особым числом?

Пока что вижу такие (сложные) варианты:

1. По результату сделки, по ее объему и стоимости пункта вывести прибыль в пунктах;

2. Предполагаю, что можно как-то через идентификатор позиции...


Подойдут ли эти варианты и есть какие-то более простые?

 
Yevhenii Levchenko:

Подскажите, пожалуйста, как в мт5 сковырнуть прибыль исторической сделки в пунктах. Через HistoryDealGetDouble() можно взять цену и прибыль сделки. Через HistoryDealGetInteger() можно получить ордер, на основании которого выполнена сделка и направление (вход, выход и т.д.).  Можно как-то получить сделку, которая на вход, связанную с той, которая на выход? Они как-то связаны особым числом?

Пока что вижу такие (сложные) варианты:

1. По результату сделки, по ее объему и стоимости пункта вывести прибыль в пунктах;

2. Предполагаю, что можно как-то через идентификатор позиции...


Подойдут ли эти варианты и есть какие-то более простые?

Именно так. POSITION_IDENTIFIER

 
Alexey Viktorov:

Именно так. POSITION_IDENTIFIER

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

Или проще не париться и более корректно самостоятельно выводить по результату сделки, по ее объему и стоимости пункта вывести прибыль в пунктах ?

 
Yevhenii Levchenko:

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

Или проще не париться и более корректно самостоятельно выводить по результату сделки, по ее объему и стоимости пункта вывести прибыль в пунктах ?

Всегда есть нулевая сделка, по времени первая с типом IN и последняя с типом OUT и все они имеют один POSITION_IDENTIFIER. Вот если было несколько закрытий частями, то это надо внимательно проверять. Я не пробовал, но всё решаемо и в этом я не сомневаюсь. По любому прибыль в пунктах считается в зависимости от объёма, следовательно считать надо по объёму открытия и закрытия.Только вон надо ли оно кому-то считать в пунктах если доливались и закрывали частями…

Я противник универсальности функций, поэтому за ненадобностью не изобретаю всякую чушь которую бредовые СМСки могут занести в мозг.

 
Alexey Viktorov:

Всегда есть нулевая сделка, по времени первая с типом IN и последняя с типом OUT и все они имеют один POSITION_IDENTIFIER. Вот если было несколько закрытий частями, то это надо внимательно проверять. Я не пробовал, но всё решаемо и в этом я не сомневаюсь. По любому прибыль в пунктах считается в зависимости от объёма, следовательно считать надо по объёму открытия и закрытия.Только вон надо ли оно кому-то считать в пунктах если доливались и закрывали частями…

Я противник универсальности функций, поэтому за ненадобностью не изобретаю всякую чушь которую бредовые СМСки могут занести в мозг.

Ок, спасибо :)
Причина обращения: