ORDER_POSITION_ID - 페이지 4

 
papaklass :

프로그래머에게는 규칙이 있습니다 - 코드에 대해 토론하십시오!

코드에 문제가 있는 경우 문제가 발생한 코드를 게시해야 합니다. 그러한 상황에서, 당신은 확실히 도움을 주고 싶은 사람들을 찾을 것입니다. 당신은 새로운 것을 발명하고 있습니다: 당신은 코드 없이 "손가락으로" 직면하고 있는 문제에 대해 논의하려고 합니다.

가까운 장래에 귀하의 질문이 서비스 데크뿐만 아니라 포럼에서도 답변되지 않은 채로 남아 있어도 놀라지 않을 것입니다.

바보가 아니라 올바른 결론을 내리도록 노력하십시오. :)

나는 코드에 문제가 없습니다!

나는 원래 다음과 같이 물었다.

다음 코드를 사용하는 사람:

 long pos_id = long ( OrderGetInteger ( ORDER_POSITION_ID ) );

질문 읽는 법을 언제 배울 수 있습니까?

 
Mikalas :

나는 코드에 문제가 없습니다!

나는 원래 다음과 같이 물었다.

다음 코드를 사용하는 사람:

질문 읽는 법을 언제 배울 수 있습니까?

당신은 또한 다음과 같이 질문했습니다.

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

왜요?

 
Contender :

또한 다음과 같이 질문하셨습니다.

예, 나중에 이 코드를 사용하는 사람에게 묻지 않기 위해 요청했습니다.  

 
Mikalas :

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

왜요?

MQ 도움말에서:

ORDER_POSITION_ID

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

아마도 이것은 주문(주문)이 아직 완전히 실행되지 않았으며 이 주문이 다른 위치 형성에 참여하는 상황이 가능하다는 사실의 결과일 수 있습니다.
 
Yurich :
아마도 이것은 (주문)이 아직 완전히 실행되지 않았으며 이 주문이 다른 위치 형성에 참여할 상황이 가능하다는 사실의 결과일 수 있습니다.

당신과 소통하게 되어 기쁩니다, Yurich님, 좋은 오후입니다!

그러나 사실은 ORDER_POSITION_ID 로 실험을 수행한다는 것입니다.

데모 서버에서 (아무도 프로그램을 추적하는 것을 귀찮게하지 않습니다).

그리고 함수 호출

 long GetOrderPosId( const ulong ticket )

"영구적인" 상황에서 발생합니다.

그리고 나는 이것을 제안에 따라 마술에 대해 처리했습니다. 다시 한 번 대단히 감사합니다!

당신이 강조한 문구는 나에게 분명하지만 MQ는 왜 다음과 같이 썼습니까?

실행된 주문 은 신규 거래생성 하거나 기존 포지션 을 변경하는 거래를 생성합니다.

이것이 나를 혼란스럽게 한다.

트랜잭션은 ORDER_POSITION_ID 입니다. 제가 틀렸을 수도 있지만 서비스 데스크에서 응답이 없습니다.

주문이 부분적으로 실행된 후 취소 하면 ORDER_POSITION_ID가 없습니까 ?  

이 위치의 ID는 현재 실행된 주문으로 설정됩니다 .

 
Mikalas :

그리고 함수 호출

"영구적인" 상황에서 발생합니다.

채워진 주문 이 아닌 배치된 주문의 ID를 요구하고 있습니다. 실행된 주문은 기록에 남습니다.

 
Mikalas :


주문이 부분적으로 실행된 후 취소 하면 ORDER_POSITION_ID가 없습니까 ?  

이론적으로 명령의 실행된 부분은 기록에 있어야 합니다. 아니면 그녀가 거기에 없습니까?

나는 당신이 눈치 채지 못한 질문을했습니다 : https://www.mql5.com/en/forum/35432/page2#comment_1042916

 
Yurich :

채워진 주문 이 아닌 배치된 주문의 ID를 요구하고 있습니다. 실행된 주문은 기록에 남습니다.

즉, 과거 데이터의 ORDER_POSITION_ID ?

그러나 도움말에서:

주문 속성

거래 작업 수행 명령은 영장에 의해 발행됩니다. 각 주문에는 읽을 수 있는 많은 속성이 있으며 이에 대한 정보는 OrderGet...() HistoryOrderGet...() 함수를 사용하여 얻을 수 있습니다 .

 
Contender :

부분적으로 채워진 주문을 보고 있습니다. 그는 어디에 있습니까? 거래 목록 또는 실행 목록에 있습니까?

주문이 유효합니다 .