В режиме хэджа TRADE_ACTION_CLOSE

 

Сабж не существует, но актуален.

Сейчас, чтобы закрыть позицию в режиме хэджа нужно делать противоположную позицию (TRADE_ACTION_DEAL), а затем устраивать TRADE_ACTION_CLOSE_BY.


Как в MT4 (OrderClose - одна операция в истории) возможно или только так, как написал выше?

 
fxsaber:

Сабж не существует, но актуален.

Сейчас, чтобы закрыть позицию в режиме хэджа нужно делать противоположную позицию (TRADE_ACTION_DEAL), а затем устраивать TRADE_ACTION_CLOSE_BY.


Как в MT4 (OrderClose - одна операция в истории) возможно или только так, как написал выше?

Чтобы на хэдж счёте закрыть позицию, нужно использовать CTrade.PositionClose (закрытие позиции по тикету):

bool  PositionClose( 
   const ulong   ticket,                  // тикет позиции 
   ulong         deviation=ULONG_MAX      // отклонение 
   )

 
Karputov Vladimir:

Чтобы на хэдж счёте закрыть позицию, нужно использовать CTrade.PositionClose (закрытие позиции по тикету):

bool  PositionClose( 
   const ulong   ticket,                  // тикет позиции 
   ulong         deviation=ULONG_MAX      // отклонение 
   )

от того, что некоторы действия завернуты в красивую обертку, суть их не меняется

fxsaber:

Сейчас, чтобы закрыть позицию в режиме хэджа нужно делать противоположную позицию (TRADE_ACTION_DEAL), а затем устраивать TRADE_ACTION_CLOSE_BY.

 
fxsaber:

от того, что некоторы действия завернуты в красивую обертку, суть их не меняется

А как по Вашему, если есть позиция SELL 0.01, что нужно сделать для того чтобы она закрылась? Как в кинематографе чикнуть ножницами? Или, всё таки, нужно открыть противоположную позицию BUY?
 
Karputov Vladimir:
А как по Вашему, если есть позиция SELL 0.01, что нужно сделать для того чтобы она закрылась? Как в кинематографе чикнуть ножницами? Или, всё таки, нужно открыть противоположную позицию BUY?

Речь идет изначально про хэдж-режим. Это в нетто надо было открыть противоположную, и все схлопывалось сразу. В хэдже, однако, все иначе. Нужно еще делать close_by,  с соответствующими в результате мусорными записями в истории, разобрать которые - та еще задачка.

В MT4 все было элементарно - история читалась сходу на глаз. А в MT5 даже через MQL5 - засада

 
fxsaber:

Речь идет изначально про хэдж-режим. Это в нетто надо было открыть противоположную, и все схлопывалось сразу. В хэдже, однако, все иначе. Нужно еще делать close_by,  с соответствующими в результате мусорными записями в истории, разобрать которые - та еще задачка.

В MT4 все было элементарно - история читалась сходу на глаз. А в MT5 даже через MQL5 - засада

Я Вам ответил именно про хедж счёт:

Чтобы на хэдж счёте закрыть позицию, нужно использовать CTrade.PositionClose (закрытие позиции по тикету):

bool  PositionClose( 
   const ulong   ticket,                  // тикет позиции 
   ulong         deviation=ULONG_MAX      // отклонение 
   )

 
Karputov Vladimir:

Я Вам ответил именно про хедж счёт:

Чтобы на хэдж счёте закрыть позицию, нужно использовать CTrade.PositionClose (закрытие позиции по тикету):

bool  PositionClose( 
   const ulong   ticket,                  // тикет позиции 
   ulong         deviation=ULONG_MAX      // отклонение 
   )

Возможно, плохо объясняю, но Вы меня совсем не понимаете! Прочтите мои ответы выше еще раз, мне сложно к ним что-либо добавить, чтобы содержащийся в них смысл стал виден Вам. 

 
fxsaber:

Возможно, плохо объясняю, но Вы меня совсем не понимаете! Прочтите мои ответы выше еще раз, мне сложно к ним что-либо добавить, чтобы содержащийся в них смысл стал виден Вам. 

Вероятно, действительно плохо, просто отвратительно пытаетесь донести мысль. Может картинки вставите в сообщение и тогда станет понятнее?
 
Karputov Vladimir:
Вероятно, действительно плохо, просто отвратительно пытаетесь донести мысль. Может картинки вставите в сообщение и тогда станет понятнее?

К сожалению или к счастью, Вы пишите ТС через обертку - CTrade. Я же говорю о несколько более низком уровне, который отлично понимаем разработчиками.

Приношу свои извинения, если задел. Но хотелось бы увидеть комментарий более сведущего в вопросах MQL5 и MT5. Спасибо за желание помочь!  

 
fxsaber:

К сожалению или к счастью, Вы пишите ТС через обертку - CTrade. Я же говорю о несколько более низком уровне, который отлично понимаем разработчиками.

Приношу свои извинения, если задел. Но хотелось бы увидеть комментарий более сведущего в вопросах MQL5 и MT5. Спасибо за желание помочь!  

Вот закрытие позиции SELL на хедж счёте. Где здесь способ изменения позиции DEAL_ENTRY_OUT_BY?

FH      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   PositionClose #3 POSITION_TYPE_SELL 0.01
DI      0       22:22:48.091    Trade   2016.01.05 00:00:30   instant buy 0.01 EURUSD at 1.08284, close #3 (1.08274 / 1.08284 / 1.08274)
ES      0       22:22:48.091    Trades  2016.01.05 00:00:30   deal #4 buy 0.01 EURUSD at 1.08284 done (based on order #4)
CL      0       22:22:48.091    Trade   2016.01.05 00:00:30   deal performed [#4 buy 0.01 EURUSD at 1.08284]
IL      0       22:22:48.091    Trade   2016.01.05 00:00:30   order performed buy 0.01 at 1.08284 [#4 buy 0.01 EURUSD at 1.08284]
IK      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   CTrade::OrderSend: instant buy 0.01 position #3 EURUSD at 1.08284 [done at 1.08284]
CO      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   => OnTradeTransaction at 00:00:30
NH      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   ------------ TransactionDescription
PJ      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   TRADE_TRANSACTION_DEAL_ADD
CQ      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Symbol: EURUSD
CM      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Deal ticket: 4
OJ      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Deal type: DEAL_TYPE_BUY
PK      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Deal enter: DEAL_ENTRY_IN
JN      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order ticket: 4
DF      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order type: ORDER_TYPE_BUY
RI      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order state: ORDER_STATE_STARTED
QN      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order time type: ORDER_TIME_GTC
LS      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order expiration: 1970.01.01 00:00
FQ      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Price: 1.08284
EK      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Price trigger: 0
FL      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Stop Loss: 0
CG      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Take Profit: 0
PI      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Volume: 0.01
CQ      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   
RH      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   => OnTradeTransaction at 00:00:30
PF      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   ------------ TransactionDescription
OP      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   TRADE_TRANSACTION_ORDER_DELETE
CM      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Symbol: EURUSD
CK      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Deal ticket: 0
RP      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Deal type: DEAL_TYPE_BUY
NQ      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Deal enter: DEAL_ENTRY_IN
LE      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order ticket: 4
FD      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order type: ORDER_TYPE_BUY
HN      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order state: ORDER_STATE_FILLED
NN      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order time type: ORDER_TIME_GTC
HF      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order expiration: 1970.01.01 00:00
JJ      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Price: 1.08284
IL      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Price trigger: 0
JQ      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Stop Loss: 0
OJ      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Take Profit: 0
LL      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Volume: 0.01
OK      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   
FS      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   => OnTradeTransaction at 00:00:30
LS      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   ------------ TransactionDescription
OO      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   TRADE_TRANSACTION_HISTORY_ADD
QH      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Symbol: EURUSD
MS      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Deal ticket: 0
IN      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Deal type: DEAL_TYPE_BUY
OE      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Deal enter: DEAL_ENTRY_IN
IH      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order ticket: 4
DS      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order type: ORDER_TYPE_BUY
RD      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order state: ORDER_STATE_FILLED
DK      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order time type: ORDER_TIME_GTC
RH      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order expiration: 1970.01.01 00:00
LL      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Price: 1.08284
OQ      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Price trigger: 0
LK      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Stop Loss: 0
IL      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Take Profit: 0
FH      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Volume: 0
DH      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   
RM      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   => OnTradeTransaction at 00:00:30
MH      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   TRADE_TRANSACTION_REQUEST
MD      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   ------------RequestDescription
DR      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   TRADE_ACTION_DEAL
QQ      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Symbol: EURUSD
LG      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Magic Number: 4134862
IR      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order ticket: 0
CN      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order type: ORDER_TYPE_BUY
RF      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order filling: ORDER_FILLING_FOK
DH      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order time type: ORDER_TIME_GTC
JN      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order expiration: 1970.01.01 00:00
DR      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Price: 1.08284
HH      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Deviation points: 10
QE      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Stop Loss: 0
DN      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Take Profit: 0
MD      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Stop Limit: 0
OP      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Volume: 0.01
QS      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Comment: 
DF      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   
LL      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   ------------ ResultDescription
ON      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Retcode 10009
ED      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Request ID: 2
RS      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Order ticket: 4
ND      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Deal ticket: 4
RH      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Volume: 0.01
NM      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Price: 1.08284
CK      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Ask: 1.08284
ND      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Bid: 1.08274
LN      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   Comment: 
IG      0       22:22:48.091    Pending Orders (EURUSD,H1)      2016.01.05 00:00:30   
JO      0       22:23:03.233    Tester  shutdown tester machine
IK      0       22:23:03.235    Tester  try to cancel expert execution
RR      2       22:23:03.238    Pending Orders (EURUSD,H1)      2016.01.05 00:01:00   debugging terminated
EI      0       22:23:03.247    Tester  expert execution canceled
LP      0       22:23:03.252    Tester  tester thread stopped
OE      0       22:23:03.320    Tester  tester agent shutdown started
QN      0       22:23:03.406    Tester  tester agent shutdown finished
GH      0       22:23:03.488    Server  MetaTester 5 stopped
JE      0       22:23:10.519    Startup MetaTester 5 x64 build 1375 (15 Jul 2016)
LR      0       22:23:10.530    Server  MetaTester 5 started on 127.0.0.1:3000
DI      0       22:23:10.530    Startup initialization finished
 
Karputov Vladimir:

Вот закрытие позиции SELL на хедж счёте. Где здесь способ изменения позиции DEAL_ENTRY_OUT_BY?

Попробуйте без обертки CTrade написать на MQL5 закрытие открытой позиции.

К сожалению, сейчас нет доступа к десктопному MT5, чтобы попытаться конструктивнее показать Вам, о чем изначально идет речь.

Я Вас уже поблагодарил за желание помочь. Больше не надо, спасибо. Если разработчики или фрилансеры ответят - будет хорошо.