손절매로 인해 주문이 마감되었는지 확인하는 방법 - 페이지 2

 

무슨 말인지 아시는 분들만 답변 부탁드려도 될까요?

이것은 MT5/mql5 에 대한 주제입니다. 관련 없는 게시물은 모두 삭제 하겠습니다.

MT5에는 역사상 손절매 가격이 없습니다.

 

mql5(헤지 계정)의 주요 문제는 포지션 기록이 없기 때문에 포지션이 마감될 때 손절매 가격을 아는 것입니다. HistorySelectByPosition() 을 사용하여 초기 손절매(초기 주문의 손절매)를 찾을 수 있지만 나중에 해당 손절매를 수정한 경우 동일한 POSITION_ID 없이 이를 수행하기 위한 새 주문을 생성하므로 작동하지 않습니다. HistorySelectByPosition() 함수에 의해 선택되므로 마지막으로 배치한 손절매를 알기가 매우 어려워집니다.

버그로 간주할 수 있는지는 모르겠지만 버그로 간주되어야 합니다.

문안 인사.

Documentation on MQL5: Trade Functions / HistorySelectByPosition
Documentation on MQL5: Trade Functions / HistorySelectByPosition
  • www.mql5.com
Trade Functions / HistorySelectByPosition - Reference on algorithmic/automated trading language for MetaTrader 5
 
Jose Francisco Casado Fernandez :

mql5(헤지 계정)의 주요 문제는 포지션 기록이 없기 때문에 포지션이 마감될 때 손절매 가격을 아는 것입니다. HistorySelectByPosition() 을 사용하여 초기 손절매(초기 주문의 손절매)를 찾을 수 있습니다 ...

아니, 당신은 할 수 없습니다 또는 내가 당신을 오해.

현재 Stoploss는 역사상 어디에도 없습니다.

 
Alain Verleyen :

아니, 당신은 할 수 없습니다 또는 내가 당신을 오해.

손절매는 역사상 어디에도 없습니다.

POSITION_ID와 함께 HistorySelectByPosition() 을 사용할 수 있으며, 그런 다음 해당 POSITION_ID로 첫 번째 주문을 찾고 이 주문의 손절매를 확인할 수 있습니다(HistoryOrderGetDouble(ticket, ORDER_SL). 그것은 나를 위해 일했지만
. 문제는 나중에 해당 손절매를 수정할 때입니다.
 
Jose Francisco Casado Fernandez :
POSITION_ID와 함께 HistorySelectByPosition() 을 사용할 수 있으며, 그런 다음 해당 POSITION_ID로 첫 번째 주문을 찾고 이 주문의 손절매를 확인할 수 있습니다(HistoryOrderGetDouble(ticket, ORDER_SL). 그것은 나를 위해 일했지만
. 문제는 나중에 해당 손절매를 수정할 때입니다.

이제 이해했습니다. 당신이 옳습니다.

 
Jose Francisco Casado Fernandez :
POSITION_ID와 함께 HistorySelectByPosition() 을 사용할 수 있으며, 그런 다음 해당 POSITION_ID로 첫 번째 주문을 찾고 이 주문의 손절매를 확인할 수 있습니다(HistoryOrderGetDouble(ticket, ORDER_SL). 그것은 나를 위해 일했지만
. 문제는 나중에 해당 손절매를 수정할 때입니다.
그런 다음 ORDER_POSITION_ID가 DEAL_POSITION_ID 같은지 확인 합니다 .
그런 다음 DEAL_ENTRY 확인 하고 OUT 이면 , HystoryDealGetDouble ( 티켓 , DEAL_PRICE )가져 옵니다 .

DEAL_PRICE HistoryOrderGetDouble ( 티켓 , ORDER_SL ) 같으면 주문 이 완료되었음을 의미 합니다 . 손절매 로 인해 닫습니다 .

여기 내 의견이 있습니다.

 
Alain Verleyen :

이제 이해했습니다. 당신이 옳습니다.

좋습니다. 나중에 손절매 를 수정하면 이를 수행하기 위해 생성된 새 주문이 동일한 POSITION_ID???를 표시하지 않는 이유를 알고 있습니까? 이 문제에 대한 완벽한 솔루션이 될 것입니다. 버그인가요???. 감사해요.
 
Roberto Jacobs :

DEAL_PRICE HistoryOrderGetDouble ( 티켓 , ORDER_SL ) 같으면 주문 이 완료되었음을 의미 합니다 . 손절매 로 인해 닫습니다 .

미끄러짐은 어떻습니까?
 
Roberto Jacobs :
그런 다음 ORDER_POSITION_ID가 DEAL_POSITION_ID 같은지 확인 합니다 .
그런 다음 DEAL_ENTRY 확인 하고 OUT 이면 , HystoryDealGetDouble ( 티켓 , DEAL_PRICE )가져 옵니다 .

DEAL_PRICE HistoryOrderGetDouble ( 티켓 , ORDER_SL ) 같으면 주문 이 완료되었음을 의미 합니다 . 손절매 로 인해 닫습니다 .

여기 내 의견이 있습니다.

네, 제가 말한 것입니다. 나는 그렇게했고 작동했지만 초기 손절매 를 수정하면 동일한 POSITION_ID없이 새 주문이 생성됩니다. 이유를 모르겠습니다. 버그라고 생각합니다. 문안 인사,.
 
honest_knave :
미끄러짐은 어떻습니까?

주문 마감 되었고 마감 가격 HystoryDealGetDouble ( 티켓, DEAL_PRICE ) 있으므로 슬리피 지를 볼 필요가 없습니다 .
주문 마감 되지 않은 상태 에서 마감 주문 경우 오류가 다시 인용 되지 않도록 얼마나 많은 슬립 이 있는지 고려해야 합니다 .