당신은 아무것도 이해하지 못했습니다. 리턴을 할 때, 우리는 형성된 큐의 On-function으로 들어갑니다. 이로 인해 첫 번째 OrderSend가 올바른 두 번째 OrderSend를 보낸 후 즉시 중지되는 일시 중지가 발생할 수 있습니다 .
일시 중지/지연이란 무엇입니까? 3개의 구조를 복사할 때?
OnTradeTransaction( параметры )
{
поместить параметры в очередь
OnMain();
}
첫 번째 OrderSend의 완료에 대한 메시지를 포함할 On-function을 기다리는 반환 후 모든 On-function을 저장하여 대기열을 누적 할 것을 제안합니다. 그런 다음 두 번째 OrderSend만 보냅니다.
모든 이벤트 를 누적할 필요는 없습니다 . 다음 이벤트가 복사될 때까지 기다리지 마십시오. 반환 전에 이벤트를 처리하고 이에 대한 전제 조건이 발생하는 즉시 두 번째 OrderSend를 보낼 수 있습니다.
동시에, 첫 번째 OrderSend 동안 포지션 테이크가 실행될 수 있다는 것을 여전히 이해하지 못하지만 OnTradeTransaction 은 첫 번째 OrderSend의 최종 OnTradeTransaction보다 나중에(같은 마이크로초에서, 그러나 나중에) 대기열에 있을 것 입니다.
당신은 아무것도 이해하지 못했습니다. 리턴을 할 때, 우리는 형성된 큐의 On-function으로 들어갑니다. 이로 인해 첫 번째 OrderSend가 올바른 두 번째 OrderSend를 보낸 후 즉시 중지되는 일시 중지가 발생할 수 있습니다.
첫 번째 OrderSend의 완료에 대한 메시지를 포함할 On-function을 기다리는 반환 후 모든 On-function을 저장하여 대기열을 누적할 것을 제안합니다. 그런 다음 두 번째 OrderSend만 보냅니다.
동시에, 첫 번째 OrderSend 동안 포지션 테이크가 실행될 수 있다는 것을 여전히 이해하지 못하지만 OnTradeTransaction은 첫 번째 OrderSend의 최종 OnTradeTransaction보다 나중에(같은 마이크로초에서, 그러나 나중에) 대기열에 있을 것입니다.
대기열이 없습니다. 새 이벤트는 현재 이벤트 이후에 처리되며 이 기간 동안 발생한 모든 이벤트는 무시됩니다.
내가 실제로 ( HandleNextEvent 가 있는 코드 없이) 기본 사항을 이해하지 못한다는 사실에 대해 생각해 보겠습니다.
마지막으로 제안된 HandleNextEvent 와 내가 작성한 것의 차이점은 재귀를 통한 것이고 내 것은 루프를 통한 것이라는 점입니다. 결국, 그것은 하나이며 동일 합니다. 또한 내 대기열은 처음에 명확하게 형성되어 관리할 수 있습니다. 일부 이벤트는 즉시 처리하고 일부는 나중에 연기합니다. - 완전한 자유와 제안된 HandleNextEvent 기능을 통해 - 손과 발이 묶입니다.
당신은 아무것도 이해하지 못했습니다. 리턴을 할 때, 우리는 형성된 큐의 On-function으로 들어갑니다. 이로 인해 첫 번째 OrderSend가 올바른 두 번째 OrderSend를 보낸 후 즉시 중지되는 일시 중지가 발생할 수 있습니다 .
일시 중지/지연이란 무엇입니까? 3개의 구조를 복사할 때?
첫 번째 OrderSend의 완료에 대한 메시지를 포함할 On-function을 기다리는 반환 후 모든 On-function을 저장하여 대기열을 누적 할 것을 제안합니다. 그런 다음 두 번째 OrderSend만 보냅니다.
모든 이벤트 를 누적할 필요는 없습니다 . 다음 이벤트가 복사될 때까지 기다리지 마십시오. 반환 전에 이벤트를 처리하고 이에 대한 전제 조건이 발생하는 즉시 두 번째 OrderSend를 보낼 수 있습니다.
동시에, 첫 번째 OrderSend 동안 포지션 테이크가 실행될 수 있다는 것을 여전히 이해하지 못하지만 OnTradeTransaction 은 첫 번째 OrderSend의 최종 OnTradeTransaction보다 나중에(같은 마이크로초에서, 그러나 나중에) 대기열에 있을 것 입니다.
그러한 상황에서 어떻게 도울 수 있습니까?
bool HandleNextEvent(ENUM_EVENT_TYPE);
여기가 마지막이 될거야 거기에 무엇이
당신은 아무것도 이해하지 못했습니다. 리턴을 할 때, 우리는 형성된 큐의 On-function으로 들어갑니다. 이로 인해 첫 번째 OrderSend가 올바른 두 번째 OrderSend를 보낸 후 즉시 중지되는 일시 중지가 발생할 수 있습니다.
첫 번째 OrderSend의 완료에 대한 메시지를 포함할 On-function을 기다리는 반환 후 모든 On-function을 저장하여 대기열을 누적할 것을 제안합니다. 그런 다음 두 번째 OrderSend만 보냅니다.
동시에, 첫 번째 OrderSend 동안 포지션 테이크가 실행될 수 있다는 것을 여전히 이해하지 못하지만 OnTradeTransaction은 첫 번째 OrderSend의 최종 OnTradeTransaction보다 나중에(같은 마이크로초에서, 그러나 나중에) 대기열에 있을 것입니다.
대기열이 없습니다. 새 이벤트는 현재 이벤트 이후에 처리되며 이 기간 동안 발생한 모든 이벤트는 무시됩니다.
제 생각에는 문제에 대한 해결책은 모든 주문을 "구독"하는 기능일 것입니다. 저것들. 따라서 터미널은 주문에 대한 트랜잭션 발생 시 이벤트를 생성합니다.
그러나 이것은 우리가 아니라 개발자가 구현해야 합니다. 어떤 식으로든 우리의 모든 결정 은 거래 내역으로 돌아갑니다. 마이크로초 단위의 임계값은 없지만 실제
거래가 통과/실패했는지, 수준이 제대로 되었는지 또는 누군가 터미널에서 위치를 수정했는지 알아보기 위해 다양한 복잡성의 자전거를 작성하는 것은 성가신 일입니다.
단순한 일처럼 보이지만 - 포지션에 대한 거래를 위한 이벤트 - 모든 것이 훨씬 간단해질 것입니다.
그러나 이것은 우리가 아니라 개발자가 구현해야 합니다.
개발자는 도구만 제공하면 됩니다. MQL은 본질적으로 저수준 프로그래밍 언어(C++도 마찬가지)입니다. 그것에 대해 당신은 문제 측면에서가 아니라 계산 측면에서 주장합니다. 그리고 모든 높은 수준의 결정을 스스로 내립니다. 도구가 부족할 수 있지만 기성 솔루션은 아님
일시 중지/지연이란 무엇입니까? 3 구조 복사에서?
다양한 이벤트 대기열을 처리합니다.
그러한 상황에서 어떻게 도울 수 있습니까?
여기가 마지막이 될거야 거기에 무엇이
휴관에 대해 테이크아웃에 대해 알려드리겠습니다.
대기열이 없습니다. 새 이벤트는 현재 이벤트 이후에 처리되며 이 기간 동안 발생한 모든 이벤트는 무시됩니다.
무능한.
다양한 이벤트 대기열을 처리합니다.
휴관에 대해 알아보겠습니다.
내가 실제로 ( HandleNextEvent 가 있는 코드 없이) 기본 사항을 이해하지 못한다는 사실에 대해 생각해 보겠습니다.
마지막으로 제안된 HandleNextEvent 와 내가 작성한 것의 차이점은 재귀를 통한 것이고 내 것은 루프를 통한 것이라는 점입니다. 결국, 그것은 하나이며 동일 합니다. 또한 내 대기열은 처음에 명확하게 형성되어 관리할 수 있습니다. 일부 이벤트는 즉시 처리하고 일부는 나중에 연기합니다. - 완전한 자유와 제안된 HandleNextEvent 기능을 통해 - 손과 발이 묶입니다.
동시에 같은 터미널의 전투 거래 고문에 연결된 같은 수표, Alert. 이유는 무엇입니까?
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
MT5와 속도
안톤 , 2020.05.29 16:21
최대 및 평균 시간을 확인하는 스크립트:
2474.
아주 좋아졌습니다. 변경된 경우 - 감사합니다. 전투 모드에서의 성능을 주시하겠습니다.
추신: 전투 모드에서 거래가 이루어지면 거의 항상 지연이 있습니다(5밀리초보다 긴 경우만 표시합니다).
그렇지 않으면 2470보다 훨씬 나은 것 같습니다.