실제로는 이 함수의 이름을 가능한 서명인 HandleNextEvent로 지정하고 싶습니다.
bool HandleNextEvent (ENUM_EVENT_TYPE);
호출되면 GetNextEvent와 유사하게 대기열에 지정된 ENUM_EVENT_TYPE이 있는지 확인합니다. 그리고 이 이벤트가 있으면 해당 핸들러(OnChartEvent, OnTrade, OnTradeTransaction, ...(추가를 위한 fxsaber 덕분)의 사용자 코드로 제어를 자동으로 넘깁니다. 대기열에 이벤트가 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.
가능한 사용 사례:
//....for ( int i = 0 ; i < 10 ^ 6 ; ++i){
// .... Data Calculationsif ((i % 10 ^ 3) == 0 ){
while (HandleNextEvent(EVENT_TYPE_ALL));
}
}
//....
최적화 질문입니다. 테스터에서 각 틱마다 추가 작업을 위해 틱을 받아야 합니다. 나는 이렇게 한다. 이 옵션이 더 느려질 것이 분명합니다.
이 진술을 실제로 테스트 했습니까? 그 반대일 수도 있습니다.
MqlTick은 초기화되지 않은 기본 데이터 유형으로 구성됩니다. 따라서 할당에 시간이 전혀 소요되지 않습니다. 이는 크기만 다를 뿐 동일한 "sub esp" 작업이기 때문입니다. 결과적으로 병목 현상은 메모리에서 값을 읽는 작업을 위해 프로세서 캐시 측면에서 끝날 수도 있습니다.
1) 어떤 종류의 게임을 제공하는 것. 2) 서명과 설명으로 판단하면 터미널은 함수로 다음 이벤트의 처리를 호출한 다음 handlenextevent 호출 지점에서 프로그램에 제어를 반환해야 합니다 . 3) 처리 중에 handlenextevent에 대한 호출이 다시 발생하면 어떻게 됩니까? 4) 매개변수의 필터에 속하지 않는 이벤트는 어떻게 됩니까? 건너뛴? 주문 변경?
1) 건의하는 게 제 일이고 게임인지 아닌지 - 여러분이 결정할 문제가 아니라 개발자 입장에서는 조금 더 잘 알고 있습니다... 2) 맞습니다. 특정 이벤트를 처리하는 데 관심이 있고 시스템에서 모두 사용할 수 없는 경우 다른 이벤트는 평소와 같이 처리하고 이 유형의 이벤트 만 처리할 수 있는 기능을 제공하는 것이 좋습니다. 3) 처리 중에 HandleNextEvent에 대한 호출이 다시 발생하는 경우 - 호출 및 처리. 가능한 것은 스택 오버플로뿐이지만 이것은 개발자가 아니라 사용자와 코드의 문제입니다. 4) 필터에 해당하지 않는 이벤트는 동일한 순서로 유지되며 평소와 같이 사용자가 시스템에 제어를 반환할 때 호출됩니다.
Асинхронные торговые приказы обладают огромным преимуществом - высокая скорость при массовой отправке. Однако, распространению таких приказов мешает некоторое неудобство - данные о результате приказа возможно увидеть только в OnTradeTransaction. Такое обстоятельство заставляет обывателя строить событийную модель своей ТС, если хочется...
실수:
메시지 주셔서 감사합니다.
수정했습니다.
최적화 질문입니다. 테스터에서 각 틱마다 추가 작업을 위해 틱을 받아야 합니다. 나는 이렇게 한다.
이 옵션이 더 느려질 것이 분명합니다.
그러나 SymbolInfoTick도 문자열 매개변수가 참조로 전달되지 않기 때문에 속도가 느려집니다.
문자열이 참조로 전달되는 표준 SymbolInfo* 오버로드를 가질 수 있습니까?
물론 있으면 더 좋습니다.
옵티마이저에서는 이러한 기능을 수십억 번 호출합니다.
GetNextEvent 기능을 추가할 것을 제안합니까?
실제로는 이 함수의 이름을 가능한 서명인 HandleNextEvent로 지정하고 싶습니다.
bool HandleNextEvent (ENUM_EVENT_TYPE);
호출되면 GetNextEvent와 유사하게 대기열에 지정된 ENUM_EVENT_TYPE이 있는지 확인합니다.
그리고 이 이벤트가 있으면 해당 핸들러(OnChartEvent, OnTrade, OnTradeTransaction, ...(추가를 위한 fxsaber 덕분)의 사용자 코드로 제어를 자동으로 넘깁니다.
대기열에 이벤트가 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.
가능한 사용 사례:
최적화 질문입니다. 테스터에서 각 틱마다 추가 작업을 위해 틱을 받아야 합니다. 나는 이렇게 한다.
이 옵션이 더 느려질 것이 분명합니다.
이 진술을 실제로 테스트 했습니까? 그 반대일 수도 있습니다.
MqlTick은 초기화되지 않은 기본 데이터 유형으로 구성됩니다.
따라서 할당에 시간이 전혀 소요되지 않습니다. 이는 크기만 다를 뿐 동일한 "sub esp" 작업이기 때문입니다.
결과적으로 병목 현상은 메모리에서 값을 읽는 작업을 위해 프로세서 캐시 측면에서 끝날 수도 있습니다.
일반적으로 테스트해야 함))
이 이벤트가 발생하면 자동으로 해당 핸들러의 사용자 코드에 제어를 전달합니다.
가능한 사용 사례:
매우 훌륭하고 유용한 솔루션입니다!
이 진술을 실제로 테스트 했습니까? 그 반대일 수도 있습니다.
여기에서 이론화. 확인하지 않았습니다. 그러나 참조 문자열로 전달하는 것은 의미가 있는 것 같습니다.
가능한 사용 사례:
어떤 종류의 게임을 제공합니다.
서명과 설명으로 판단하면 터미널은 함수에 의해 처리되는 다음 이벤트를 호출한 다음 handlenextevent 호출 지점에서 프로그램에 제어를 반환해야 합니다 .
다시 처리하는 동안 호출 핸들 넥스트 이벤트가 발생한다면?
매개변수의 필터에 속하지 않는 이벤트는 어떻게 됩니까? 건너뛴? 주문 변경?
스크립트에는 이벤트 대기열이 전혀 없습니다. 조언자와 표시기가 있는 경우 목발에 추가하는 이유는 무엇입니까?
1) 어떤 종류의 게임을 제공하는 것.
2) 서명과 설명으로 판단하면 터미널은 함수로 다음 이벤트의 처리를 호출한 다음 handlenextevent 호출 지점에서 프로그램에 제어를 반환해야 합니다 .
3) 처리 중에 handlenextevent에 대한 호출이 다시 발생하면 어떻게 됩니까?
4) 매개변수의 필터에 속하지 않는 이벤트는 어떻게 됩니까? 건너뛴? 주문 변경?
1) 건의하는 게 제 일이고 게임인지 아닌지 - 여러분이 결정할 문제가 아니라 개발자 입장에서는 조금 더 잘 알고 있습니다...
2) 맞습니다. 특정 이벤트를 처리하는 데 관심이 있고 시스템에서 모두 사용할 수 없는 경우 다른 이벤트는 평소와 같이 처리하고 이 유형의 이벤트 만 처리할 수 있는 기능을 제공하는 것이 좋습니다.
3) 처리 중에 HandleNextEvent에 대한 호출이 다시 발생하는 경우 - 호출 및 처리. 가능한 것은 스택 오버플로뿐이지만 이것은 개발자가 아니라 사용자와 코드의 문제입니다.
4) 필터에 해당하지 않는 이벤트는 동일한 순서로 유지되며 평소와 같이 사용자가 시스템에 제어를 반환할 때 호출됩니다.
스크립트에는 이벤트 대기열이 전혀 없습니다. 조언자와 표시기가 있는 경우 목발에 추가하는 이유는 무엇입니까?
다음은 위치/주문을 비동기적으로 열고 닫는 스크립트의 예입니다.
1) 건의하는 게 제 일이고 게임인지 아닌지 - 여러분이 결정할 문제가 아니라 개발자 입장에서는 조금 더 잘 알고 있습니다...
구현하기 쉬운 것을 제공하면 구현 가능성이 더 높아집니다. 실제로 아무 것도 제공하지 않기 때문에 내 버전을 제거했습니다.