retcode는 RETCODE_DONE을 반환할 뿐만 아니라 :) 그러나 무역 서버가 정확히 TRADE_RETCODE_DONE( 요청 완료 )을 반환한다면 왜 다른 것을 확인해야 할까요? 내 겸손한 생각으로는 이 상황에서 OnTrade, OnTradeTransaction 기능은 단순히 retcode를 복제할 것입니다.
내가 틀리지 않았다면 OrderSend는 주문 실행을 기다리지 않고 주문이 정확하고 서버의 대기열로 전송되었다는 보고만 합니다 .
이러한 경우 "true"만 있으면 충분합니다. 그러나 개발자는 계획에 따라 " 무역 서버반환 코드 "를 포함해야 하는 retcode를 제공했습니다.
저것들. OrderSend() 함수가 완료된후 EA 코드의 두 번째 줄에 TRADE_RETCODE_DONE이 표시되고 코드의 세 번째 줄에 예를 들어 새로 열린 위치(논리적으로 존재해야 함)를 변경하려고 합니다. 그러나 PositionSelect는 false를 반환합니다. 반복이 반복됩니다. 결과적으로 이중 볼륨의 위치가 잘못 열렸습니다.
Yedelkin : retcode는 RETCODE_DONE을 반환할 뿐만 아니라 :) 그러나 무역 서버가 정확히 TRADE_RETCODE_DONE( 요청 완료 )을 반환한다면 왜 다른 것을 확인해야 할까요? 내 겸손한 생각으로는 이 상황에서 OnTrade, OnTradeTransaction 기능은 단순히 retcode를 복제할 것입니다.
" 거래 서버 반환 코드 " 목록으로 판단할 때 시장 쿼리 실행 모드에서는 TRADE_RETCODE_LOCKED 하나만 불확실성이 가능합니다. 그리고 여기에서는 아마도 OnTrade 없이는 할 수 없습니다.
채워야 하는 필드가 서로 다른가요?
SYMBOL_TRADE_EXECUTION_EXCHANGE
거래소 실행
필드에서
SYMBOL_TRADE_EXECUTION_MARKET
시장 실행
???
도움말에는 시장에만 해당하는 예가 있습니다.
시장 실행
시장 실행 모드(시장에서 거래 주문 실행 모드)에서 포지션을 여는 거래 주문. 5개의 필드가 필요합니다.
매직 및 댓글 필드를 설정할 수도 있습니다.
나는 문서를 읽고 포럼을 검색했습니다 ... 완전히 혼란 스럽 습니다. 실례가 되지 않는다면 N+1번 설명해주세요.
1. OrderSend 를 사용하여 거래 요청을 보냅니다. 이 함수는 true를 반환합니다.
2. retcode( MqlTradeResult )를 분석합니다. 변수의 값은 TRADE_RETCODE_DONE입니다.
이 상황이 서버에서 주문의 실제 실행을 보장 합니까? 아니면 여전히 OnTrade, OnTradeTransaction에서 검사를 수행해야 합니까? 그렇다면 쓸모없는 retcode를 왜 분석합니까?
저것들. OrderSend Async ()를 사용할 때 OnTrade, OnTradeTransaction의 필요성은 분명합니다.
OrderSend() 함수를 사용할 때 필요합니까? 후속 EA 코드의 실행을 전달하기 전에 서버에서 주문이 실행/거부될 때까지 무조건 대기합니까?
...
OrderSend()를 사용할 때 필요합니까? 후속 EA 코드의 실행을 전달하기 전에 서버에서 주문이 실행/거부될 때까지 무조건 대기합니까?
내가 틀리지 않았다면 OrderSend 는 주문 실행을 기다리지 않고 주문이 정확하고 서버의 대기열로 전송되었다는 보고만 합니다.
구조의 기본 검사(포인터 검사)가 성공한 경우 true가 반환됩니다. 이는 거래 작업의 성공적인 실행을 나타내지 않습니다 . 함수 실행 결과에 대한 자세한 설명을 얻으려면 결과 구조의 필드를 분석해야 합니다.
2. retcode ( MqlTradeResult )를 분석 합니다. 변수의 값은 TRADE_RETCODE_DONE입니다.
이 상황이 서버에서 주문의 실제 실행을 보장합니까?
내가 틀리지 않았다면 OrderSend는 주문 실행을 기다리지 않고 주문이 정확하고 서버의 대기열로 전송되었다는 보고만 합니다 .
이러한 경우 "true"만 있으면 충분합니다. 그러나 개발자는 계획에 따라 " 무역 서버 반환 코드 "를 포함해야 하는 retcode를 제공했습니다.
저것들. OrderSend() 함수가 완료된 후 EA 코드의 두 번째 줄에 TRADE_RETCODE_DONE이 표시되고 코드의 세 번째 줄에 예를 들어 새로 열린 위치(논리적으로 존재해야 함)를 변경하려고 합니다. 그러나 PositionSelect는 false를 반환합니다. 반복이 반복됩니다. 결과적으로 이중 볼륨의 위치가 잘못 열렸습니다.
그러한 상황에서 어떻게 자신을 보호할 수 있습니까?
1. OnTrade에서 retcode 및 "점수"로만 안내 하시겠습니까?
2. OnTrade 및 retcode의 "점수" 로만 안내됩니까?
retcode는 RETCODE_DONE을 반환할 뿐만 아니라 :) 그러나 무역 서버가 정확히 TRADE_RETCODE_DONE( 요청 완료 )을 반환한다면 왜 다른 것을 확인해야 할까요? 내 겸손한 생각으로는 이 상황에서 OnTrade, OnTradeTransaction 기능은 단순히 retcode를 복제할 것입니다.
" 거래 서버 반환 코드 " 목록으로 판단할 때 시장 쿼리 실행 모드에서는 TRADE_RETCODE_LOCKED 하나만 불확실성이 가능합니다. 그리고 여기에서는 아마도 OnTrade 없이는 할 수 없습니다.
개인적으로 어떤 링크를 사용하는지 묻겠습니다.
개인적으로 어떤 링크를 사용하는지 묻겠습니다.
그러한 상황에서 어떻게 자신을 보호할 수 있습니까?
1. OnTrade에서 retcode 및 "점수"로만 안내 됩니까?
2. OnTrade 및 retcode의 "점수" 로만 안내됩니까?
OnTrade가 안내하는 것이 가장 신뢰할 수 있지만, OnTrade 없이도 할 수 있습니다. 완료된 거래를 분석합니다(ResultDeal()).
이 주제에 대한 기사가 곧 있을 것입니다.