OnTick() 처리가 완료되기 전에 OnTrade() 이벤트가 발생하면 어떻게 됩니까? 시간은 때때로 중요합니다. OnTrade()로의 전환을 기다리는 것은 문제가 될 수 있습니다. 또한 OrderSend() 함수 자체는 그 결과에 대한 정보를 그 자리에서 바로 얻을 수 있도록 설계되었습니다. 아님?
Oleg Shenker : OnTick() 처리가 완료되기 전에 OnTrade() 이벤트가 발생하면 어떻게 됩니까? 시간은 때때로 중요합니다. OnTrade()로의 전환을 기다리는 것은 문제가 될 수 있습니다. 또한 OrderSend() 함수 자체는 그 결과에 대한 정보를 그 자리에서 바로 얻을 수 있도록 설계되었습니다. 아님?
불행히도 목발을 통해서만 - 터미널의 전역 변수 .
그리고 hl의 제거를 제공하는 추가 목발을 통해. 예를 들어 충돌 시 변수.
따라서 기록에 있는 거래를 기대하는 내 옵션이 더 안정적이고 간단합니다. 그러나 여전히 목발 ..
나는 그것을 확인하지 않았지만 OrderSend 모든 EA가 OnTradeTransaction 에 대한 해당 이벤트를 얻은 후에 아마도.
그런 다음 목발없이 하나의 기호에 대한 여러 고문에 대해 모든 것이 결정됩니다.
(MT5 로봇을 사용하여 실제 계정에서 거래한 개인적인 경험에서) 이러한 사건을 해결하는 데 도움을 주시겠습니까?
추가됨
완전 무료 :)
사람들은 스스로 생각하기를 원하지 않지만 다른 사람들이 우리를 위해 그것을 해주기를 원합니다. 불행히도 이것은 그렇습니다.
사람들은 생각만 하는 것이 아니라 결정을 공유하기도 합니다. 불행히도 개발자는 이에 대해 침묵합니다.
이 주제에 대한 문서의 단일 예가 아닙니다. 그리고 이것은 주요 기능입니다.
나는 지원한다. OrderSend() 가 서버의 응답을 기다리고 다음에 일어나는 일을 어딘가에 작성했다면 확인을 위한 해결 방법을 제시할 필요가 없을 것입니다.
모든 것이 자세히 설명되어 있는 주문, 거래 및 위치 및 이들과 해당 캐시에 대한 작업에 대한 훌륭한 기사가 있습니다. 그러나 주문을 보낼 때 발생하는 프로세스를 완전히 우회합니다.
내 버전
즐기다.
OnTick() 처리가 완료되기 전에 OnTrade() 이벤트가 발생하면 어떻게 됩니까? 시간은 때때로 중요합니다. OnTrade()로의 전환을 기다리는 것은 문제가 될 수 있습니다. 또한 OrderSend() 함수 자체는 그 결과에 대한 정보를 그 자리에서 바로 얻을 수 있도록 설계되었습니다. 아님?
OrderSend()는 절대 동기 함수입니다. 티켓을 받으면 모든 것이 충족됩니다.
아래는 예시입니다
추가되었으며 여기에 로그가 있습니다.
https://www.mql5.com/en/forum/38456/page85#comment_2888263
이행되지 않았지만 MT5 서버로 전송되었습니다.
아니요. 교환의 경우 - 교환에 갔다(처리되지 않았을 수 있음 :)), FOREX의 경우 잘 모르겠습니다.
추가됨
즉, (거래소의 경우) OrderSend (()) 함수에서 티켓을 받았다면, 이는 거래소에서 주문을 수락했음을 의미합니다.
추가됨
그림 참조(1375년에 변경 사항이 있음)
이것은 거래소에 지정가 주문을 보내는 특별한 경우입니다. 외환 시장가 주문은 어떻습니까?
이 스레드에는 절대 없습니다. MT5 및 OrderSend 동기화에 대해서만.
그래서 답이 맞지 않습니다.
아니요. 교환의 경우 - 교환에 갔다(처리되지 않았을 수 있음 :) ), FOREX의 경우 잘 모르겠습니다.
추가됨
즉, (거래소의 경우) OrderSend (()) 함수에서 티켓을 받았다면, 이는 거래소에서 주문을 수락했음을 의미합니다.
추가됨
그림 참조(1375년에 변경 사항이 있음)