ORDER_POSITION_ID - 페이지 2

 
더 많은 컨텍스트(코드)가 필요합니다. 이 티켓은 어디에서 왔으며 이 코드를 실행하기 전에 무엇과 같습니까?
 
Rosh :

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

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


예제로 코드를 하나 줬는데 실제로 ID를 얻는 함수는 다음과 같습니다.

 //+------------------------------------------------------------------+
//| Get order position ID function                                   |
//+------------------------------------------------------------------+
long GetOrderPosId( const ulong ticket )
{
   long pos_id = 0 ;
  
   if ( OrderSelect ( ticket ) )
  {
     string pos_symbol = OrderGetString ( ORDER_SYMBOL );
    
     if ( PositionSelect ( pos_symbol ) )
    {
       return ( long ( OrderGetInteger ( ORDER_POSITION_ID ) ) );
    }
  }
  
   return ( pos_id );
}

P/S Rosh, 기사를 읽도록 저를 보내지 마십시오.

저를 믿으세요. 많이 읽었지만 많이 물어보는 것은

질문, 이것은 문서에 많은 모호성이 있다는 사실에서 비롯됩니다.

 
marketeer :
더 많은 컨텍스트(코드)가 필요합니다. 이 티켓은 어디에서 왔으며 이 코드를 실행하기 전에 무엇과 같습니까?

주문이 선택되면 티켓이 무엇이라고 생각합니까?

그리고 티켓은 거래 서버의 주문 수락에 대한 응답으로 인터넷에서 가져 왔습니다.

 
Mikalas :

주문이 선택되면 티켓이 무엇이라고 생각합니까?

그리고 티켓은 거래 서버의 주문 수락에 대한 응답으로 인터넷에서 가져 왔습니다.

당신은 어떻게 생각합니까, 우리는 당신이 무엇을 어디서 얻었는지 어떻게 압니까? 티켓의 내용, 요청이 이루어진 방법에 대해 아무 말도 하지 않는 코드를 계속 표시하고 있으며, 예를 들어 디버그 인쇄 또는 변수가 왼쪽 숫자가 아닌지 확인하는 다른 수단을 사용하지 않습니다(첫 번째, 그런 다음 request.action은 무엇과 같습니까?). 관절은 어디에서나 걸릴 수 있습니다.
 
marketeer :
당신은 어떻게 생각합니까, 우리는 당신이 무엇을 어디서 얻었는지 어떻게 압니까? 티켓의 내용, 요청이 이루어진 방법에 대해 아무 말도 하지 않는 코드를 계속 표시하고 있으며, 예를 들어 디버그 인쇄 또는 변수가 왼쪽 숫자가 아닌지 확인하는 다른 수단을 사용하지 않습니다(첫 번째, 그런 다음 request.action은 무엇과 같습니까?). 관절은 어디에서나 걸릴 수 있습니다.
감사합니다, 당신의 관점을 이해합니다.
 
Mikalas :
감사합니다, 당신의 관점을 이해합니다.
천만에요. 나는 당신의 요점을 이해하지 못합니다. 요청의 비동기 실행 및 티켓 수신에 대해 이미 암시했습니다. 이 경제를 언제 어떻게 처리하는지 코드를 보여줄 때까지 질문은 텔레파시와 관련된 것으로 밝혀졌습니다.
 
marketeer :
천만에요. 나는 당신의 요점을 이해하지 못합니다. 요청의 비동기 실행 및 티켓 수신에 대해 이미 암시했습니다. 이 경제를 언제 어떻게 처리하는지 코드를 보여줄 때까지 질문은 텔레파시와 관련된 것으로 밝혀졌습니다.

내가 설명한다.

위의 코드에서 모든 것이 명확합니다.

그리고 어떤 티켓(하나의 주문이 접수되었는지)은 중요하지 않습니다. 주의 깊게 살펴보십시오 (주문은 티켓으로 선택되고 위치는 주문 기호로 선택되며이 주문을 부분적으로 실행하여 열림)

인쇄 외에도 프로그램의 단계별 실행

내가 들어갈 때

 return ( long ( OrderGetInteger ( ORDER_POSITION_ID ) ) );

"0"이 반환됩니다.

문제는 MQL5에서 프로그래밍할 수 있거나 할 수 없다는 것이 아니라(정확히 프로그램 추적과 유사)

한 가지는 문서에 대해 작성되었지만 실제로는 다른 것으로 밝혀졌습니다(서비스 데스크는 항상 그렇듯이 침묵합니다).

아니면 ORDER_POSITION_ID 에 대한 설명서에 제공된 설명을 잘못 해석하고 있습니까?

(내 세 번째 게시물을 읽으십시오)

 
Mikalas :

내가 설명한다.

위의 코드에서 모든 것이 명확합니다.

그리고 어떤 티켓(하나의 주문이 접수되었는지)은 중요하지 않습니다. 주의 깊게 살펴보십시오 (주문은 티켓으로 선택되고 위치는 주문 기호로 선택되며이 주문을 부분적으로 실행하여 열림)

인쇄 외에도 프로그램의 단계별 실행

내가 들어갈 때

"0"이 반환됩니다.

문제는 MQL5에서 프로그래밍할 수 있거나 할 수 없다는 것이 아니라(정확히 프로그램 추적과 유사)

한 가지는 문서에 대해 작성되었지만 실제로는 다른 것으로 밝혀졌습니다(서비스 데스크는 항상 그렇듯이 침묵합니다).

아니면 ORDER_POSITION_ID 에 대한 문서에 제공된 설명을 잘못 해석하고 있습니까?

(내 세 번째 게시물을 읽으십시오)

다시 25. 어떤 순서와 배팅 방법이 중요합니다. 예를 들어, 모든 것이 여전히 7개의 봉인 뒤에 숨겨져 있기 때문에(가정적으로는) 연기된 상태에서 위치 ID가 무엇일 수 있습니까?

위의 코드에서 명확하지 않습니다.

 
marketeer :

다시 25. 어떤 순서와 배팅 방법이 중요합니다. 예를 들어, 모든 것이 여전히 7개의 봉인 뒤에 숨겨져 있기 때문에(가정적으로는) 연기된 상태에서 위치 ID가 무엇일 수 있습니까?

위의 코드에서 명확하지 않습니다.

죄송합니다. 하지만 우리는 "다른" 언어를 사용합니다.

보류 중인 주문 ONE, 여전히 유효한 주문 을 부분적으로 실행하여 위치를 엽니다 .

프로그램을 추적 return ( long ( OrderGetInteger ( ORDER_POSITION_ID ) ) );

 
Mikalas :

죄송합니다. 하지만 우리는 "다른" 언어를 사용합니다.

보류 중인 주문 ONE, 여전히 유효한 주문 을 부분적으로 실행하여 위치를 엽니다 .

프로그램을 추적 return ( long ( OrderGetInteger ( ORDER_POSITION_ID ) ) );

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