ORDER_POSITION_ID

 

안녕하세요!

사용하는 사람이 있습니까

 if ( OrderSelect ( ticket ) )
 {
   long pos_id = long ( OrderGetInteger ( ORDER_POSITION_ID ) );

   if ( pos_id > 0 )
  {
  }
}

나를 위해 부분적으로 실행된 주문의 경우 pos_id는 항상 = 0입니다.

왜요?

MQ 도움말에서:

ORDER_POSITION_ID

주문이 실행될 때 주문에 배치되는 위치 ID 입니다. 실행된 각 주문은 신규 거래 를 생성하거나 기존 포지션 을 변경하는 거래를 생성합니다. 이 위치의 ID는 현재 실행된 주문으로 설정됩니다.

 
아무도 모른다?
 
나는 주문을 위치에 연결해야 할 때 마술처럼 :)을 사용합니다.
 
Yurich :
나는 주문을 위치에 연결해야 할 때 마술처럼 :)을 사용합니다.

그렇다면 나는 왜 0인가?

결국 매뉴얼이 다음과 같이 말한 경우

주문이 실행될 때 주문에 배치되는 위치 ID 입니다.

그러면 0일 수 있고 0이어야 합니다.

하지만 다음과 같이 말합니다.

실행된 각 주문 은 신규 거래 를 생성하거나 기존 포지션 을 변경하는 거래를 생성합니다 . 이 위치의 ID는 현재 실행된 주문으로 설정됩니다.

부분적으로 실행된 주문도 거래를 생성합니다.

이해하는 방법?

 
Mikalas :

그렇다면 나는 왜 0인가?

서비스 데스크에 있습니다.

" 누군가 사용합니까?"라는 질문에 대답했는데 정확하지 않습니다 . 위치 ID도 사용합니다.

 
Yurich :

서비스 데스크에 있습니다.

" 누군가 사용합니까?"라는 질문에 대답했는데 정확하지 않습니다 . 위치 ID도 사용합니다.

이해합니다. 감사합니다.

그러나 이것은 위치 식별자이지만 주문에만 해당됩니다.

 
Mikalas :

나를 위해 부분적으로 실행된 주문의 경우 pos_id는 항상 = 0입니다.

왜요?

pos_id를 사용하지 않습니다. 아마도 이유를 이해하지 못하기 때문일 것입니다.

이전 포지션을 청산하고 새로운 포지션을 오픈했다면(플립) 주문이 어떤 ID를 가져야 하는지 궁금합니다.

ps 이론적으로 민간 거래 포지션은 하나만 있어야 합니다(매수, 매도, 헤지 방향에 차이 없음). 포지션이 없는 것 같으면 일시적인 현상입니다.)

 
Serj_Che :

pos_id를 사용하지 않습니다. 아마도 이유를 이해하지 못하기 때문일 것입니다.

이전 포지션을 청산하고 새로운 포지션을 오픈했다면(플립) 주문이 어떤 ID를 가져야 하는지 궁금합니다.

ps 이론적으로 민간 거래 포지션은 하나만 있어야 합니다(매수, 매도, 헤지 방향에 차이 없음). 포지션이 없는 것 같으면 일시적인 현상입니다.)

도움이 모호한 설명을 제공하기 때문에 Nezarberiha가 발생합니다.

그것은 다른 방식으로 해석될 수 있습니다. 결국 부분적으로 실행된 명령도 영향을 미칩니다.

거래이므로 주문 에 ORDER_POSITION_ID 를 할당해야 합니다.

 
Mikalas :

안녕하세요!

사용하시는 분 계신가요

나를 위해 부분적으로 실행된 주문의 경우 pos_id는 항상 = 0입니다.

왜요?

거래 서버가 완료된 거래에 대한 정보를 보낼 시간이 없었을 때 주문 실행 직후 ORDER_POSITION_ID가 요청되었기 때문일 수 있습니다.

MetaTrader 5의 거래 이벤트 기사 읽기


 
Rosh :

거래 서버가 완료된 거래에 대한 정보를 보낼 시간이 없었을 때 주문 실행 직후 ORDER_POSITION_ID가 요청 되었기 때문일 수 있습니다.

MetaTrader 5의 거래 이벤트 기사 읽기


당신의 대답이 확실하지 않습니까?
 
Rosh :

거래 서버가 완료된 거래에 대한 정보를 보낼 시간이 없었을 때 주문 실행 직후 ORDER_POSITION_ID가 요청되었기 때문일 수 있습니다.

MetaTrader 5의 거래 이벤트 기사 읽기


불명. 티켓이 있으면 트랜잭션이 완료되고 서버에서 응답을 받은 것입니다.

어때요, 티켓이 있는데 서버가 응답을 보낼 시간이 없었나요?