MT5에 대한 소원 - 페이지 50

 

Yedelkin :

글쎄요, 매뉴얼에 " Expert Advisor가 붙은 심볼에 새로운 틱이 도착하면 NewTick 이벤트가 발생 한다"고 되어 있기 때문에, 새로운 틱이 도착하면 NewTick 이벤트가 발생해야 합니다.

질문으로 판단하면 OnTick()이 비활성화되면 NewTick 이벤트가 생성되지 않는다고 생각하십니까? 그러나 나는 매뉴얼에서 그러한 정보를 찾지 못했습니다.

제 생각에는 맞는 것 같습니다. 처리기가 없으면 이벤트가 대기열에 포함되지 않습니다. 이것은 논리적이며 도움말에서 이에 대해 쓸 이유가 없습니다.

어드바이저가 운영되는 동안 엄청난 수의 이벤트(트레이딩, 차트 등)가 생성되므로 모두 처리할 필요는 없습니다.

모든(처리되지 않은 이벤트 포함) 이벤트가 하나의 대기열에 배치된 경우 일부 Expert Advisors는 단순히 작동하지 않을 수 있습니다. 해당 이벤트는 대기열에 도달하지 않습니다(예: 타이머로 하루에 한 번만 작동하는 경우).

 
komposter :

제 생각에는 맞는 것 같습니다. 처리기가 없으면 이벤트가 대기열에 포함되지 않습니다. 이것은 논리적이며 도움말에서 이에 대해 쓸 이유가 없습니다.

어드바이저가 운영되는 동안 엄청난 수의 이벤트(트레이딩, 차트 등)가 생성되므로 모두 처리할 필요는 없습니다.

모든(처리되지 않은 이벤트 포함) 이벤트가 하나의 대기열에 배치된 경우 일부 Expert Advisors는 단순히 작동하지 않을 수 있습니다. 해당 이벤트는 대기열에 도달하지 않습니다(예: 타이머로 하루에 한 번만 작동하는 경우).

제 생각에는 두 가지 유형의 이벤트 (NewTick 및 Timer)가 나머지와 별도로 처리되어야 합니다. 오히려 그렇게 - 이러한 이벤트의 각 유형에 대해 고유한 스레드가 있어야 하고 그에 따라 고유한 대기열이 있어야 합니다.

대부분의 경우 거래 이벤트(Trade)와 Depth of Market(BookEvent) 처리를 위한 이벤트도 분리해야 합니다.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика - Документация по MQL5
 

도마뱀 , 재미 있다 ,

테스터와 작업한 결과에 대해 잘못 알고 있었습니다. 분명히 그는 데모 로그를 테스터 로그로 착각했습니다. 설계

 void OnChartEvent ( const int id,           
                 const long & lparam,   
                 const double & dparam, 
                 const string & sparam  
                )
  {
   if (id== CHARTEVENT_CUSTOM ) TesterWithdrawal( 1 );
  }

아직 작동하지 않습니다. 이는 외부 기호에 대한 표시기의 CHARTEVENT_CUSTOM 사용자 정의 이벤트가 도착하지 않거나 처리되지 않음을 의미합니다. 잘못된 정보를 제공하여 죄송합니다.

 
komposter :

제 생각에는 맞는 것 같습니다. 처리기가 없으면 이벤트가 대기열에 포함되지 않습니다.

이 버전이 확인되면 좋을 것입니다. 그러나 테스터의 경우 틱은 어떤 식으로든 생성됩니다. 그것들이 완전히 불필요한 경우에도.

퇴비통 :

이것은 논리적이며 도움말에서 이에 대해 쓸 이유가 없습니다.

논리적일 수 있지만 모든 사람에게 해당되는 것은 아닙니다. 개발자들은 과도한 추측으로 사용자를 반복적으로 질책했습니다. 따라서 결론적으로 현재 사용할 수 있는 정보로만 진행하려고 합니다. 그리고 현재 가이드에서는 앞서 말했듯이 " Expert Advisor가 붙은 차트에 새로운 틱이 심볼에 도착하면 NewTick 이벤트가 발생 한다"고 안내하고 있습니다. 나는 이 규칙에 대한 예외에 대한 어떠한 유보도 찾지 못했고, 따라서 나는 새로운 틱의 도착 사실이 NewTick 이벤트의 생성으로 이어져야 한다는 결론에 도달했습니다.

퇴비통 :

어드바이저가 운영되는 동안 엄청난 수의 이벤트(트레이딩, 차트 등)가 생성되므로 모두 처리할 필요는 없습니다.

여기서 NewTick 이벤트를 처리하지 않도록 보장하기 위해 스위치 기능을 만드는 것이 좋습니다. EA 작성자가 터미널에서 생성할 NewTick 이벤트가 필요한지 여부를 결정할 수 있도록 합니다. My Expert Advisor는 "외부" 신호에서만 작동해야 하지만 여전히 일부 차트에 연결해야 합니다. 예를 들어 테스트/최적화 중에 Expert Advisor가 연결된 심볼에 대한 틱을 생성 하는 데 일정 시간이 소요되며 Expert Advisor는 이러한 틱(및 NewTick 이벤트)이 필요하지 않습니다. 조금도.
 
Yedelkin :

그러나 테스터의 경우 틱은 어떤 식으로든 생성됩니다. 그것들이 완전히 불필요한 경우에도.

이와 같이? 그리고 어떤 가격으로 주문(보류 중, SL 및 TP)이 실행되는지 확인합니까?

테스터는 EA가 거래하는 모든 상품에 대한 틱이 필요합니다. 당연히 도구가 많고 시뮬레이션 품질이 높을수록 작업이 느려집니다.


예델킨 :

그리고 현재 가이드에서는 앞서 말했듯이 " Expert Advisor가 붙은 차트에 새로운 틱이 심볼에 도착하면 NewTick 이벤트가 발생 한다"고 안내하고 있습니다. 나는 이 규칙에 대한 예외에 대한 어떠한 유보도 찾지 못했고, 따라서 나는 새로운 틱의 도착 사실이 NewTick 이벤트의 생성으로 이어져야 한다는 결론에 도달했습니다.

예, 하지만 이 논리에 따라 다른 모든 이벤트는 같은 방식으로 대기열에 넣어야 합니다. 너무 많은 것입니다.

 
komposter :

이와 같이? 그리고 어떤 가격으로 주문(보류 중, SL 및 TP)이 실행되는지 확인합니까?

다시 한 번 말씀드립니다. Expert Advisor는 부착된 기호와 전혀 작동하지 않습니다. 그리고 그는 이 특정 기호에 대해 SL 및 TP를 추적할 필요가 없습니다. 저것들. Expert Advisor는 이 기호에 틱이 전혀 필요하지 않습니다. 전문가는 필요할 때만 기호에 부착됩니다. 실행하려면 적어도 어딘가에 부착해야 하기 때문입니다.

퇴비통 :


예, 하지만 이 논리에 따라 다른 모든 이벤트는 같은 방식으로 대기열에 넣어야 합니다. 너무 많은 것입니다.

이 논리에 따라 틱 생성 및/또는 이벤트를 공통 대기열에 배치하는 규칙에 대한 모든 예외가 디렉토리에 나열되어야 합니다. 지금까지 (1) OnTick() 함수가 있고 (2) 이 함수가 이전 NewTick 이벤트를 처리하는 경우에 대해 한 가지 예외만 발견했습니다. 이 예외는 제 경우에는 적용되지 않습니다.

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 

Yedelkin :

이 논리에 따라 틱 생성 및/또는 이벤트를 공통 대기열에 배치하는 규칙에 대한 모든 예외가 디렉토리에 나열되어야 합니다. 지금까지 (1) OnTick() 함수가 있고 (2) 이 함수가 이전 NewTick 이벤트를 처리하는 경우에 대해 한 가지 예외만 발견했습니다. 이 예외는 제 경우에는 적용되지 않습니다.

OnTick()이 없으면 이 차트(이 차트의 기호)에 대한 틱이 처리되지 않는다고 가정하는 것이 논리적입니다.

이벤트가 대기열에 있는지 여부와 어떤 대기열이 다른 문제입니다. 가장 중요한 것은 틱이 차트에 의해 처리되지 않는다는 것입니다(전문가에 의해)!

EA가 다른 차트의 틱을 처리한다는 사실을 고려하면 EXTERNAL 틱의 처리를 휘젓는 것이 필요합니다.

따라서 내 의견으로는 Expert Advisor에서 기호, 시간, 가격과 같은 입력 매개변수로 전달할 수 있는 고유한 틱 처리를 생성해야 합니다(이론적으로 사용자 지정 이벤트를 통해 이 모든 작업을 수행할 수 있음).

구체적으로 연구하고 최적화해야 할 것은 커스텀 이벤트의 흐름을 다루는 작업이라고 생각합니다.

 
Interesting :

EA가 다른 차트의 틱을 처리한다는 사실을 고려하면 EXTERNAL 틱의 처리를 휘젓는 것이 필요합니다.

따라서 제 생각에는 기호, 시간, 가격과 같은 입력 매개변수로 전달할 수 있는 EA에서 고유한 틱 처리를 생성해야 합니다(이론적으로 사용자 지정 이벤트를 통해 이 모든 작업을 수행할 수 있음).

구체적으로 연구하고 최적화해야 할 것은 커스텀 이벤트의 흐름을 다루는 작업이라고 생각합니다.

당신 말이 맞아, 이것이 내가 갔던 방식이다 - 외부 틱만 처리함으로써. 여기에 아직 질문이 없습니다.

흥미로운 :

OnTick()이 없으면 이 차트(이 차트의 기호)에 대한 틱이 처리되지 않는다고 가정하는 것이 논리적입니다.

이벤트가 대기열에 있는지 여부, 그리고 어떤 대기열 이 다른 문제 입니다. 가장 중요한 것은 틱이 차트에 의해 처리되지 않는다는 것입니다(전문가에 의해)!

예, 저는 제 경우의 일반 대기열이 "내부" 틱의 이벤트로 막히지 않았는지 확실히 알고 싶습니다. 물론 내가 틀릴 수 있지만 "비활성화" - "적시 에 틱 생성 , 올바른 이벤트 시퀀스, 서버와의 동기화 등을 보장"하는 것보다 훨씬 쉬워야 합니다. ...대부분의 경우 "기본값"으로 모든 것이 현재 그대로 유지되도록 하고 저와 같은 극단적인 사람들을 위해 비활성화/전환 기능을 추가하십시오. 부작용이 있을 수 있으므로 핸드북에 주의하십시오.
 
Yedelkin :

당신 말이 맞아, 이것이 내가 갔던 방식이다 - 외부 틱만 처리함으로써. 여기에 아직 질문이 없습니다.

예, 저는 제 경우의 일반 대기열이 "내부" 틱의 이벤트로 막히지 않았는지 확실히 알고 싶습니다. 물론 내가 틀릴 수 있지만 "적시 생성, 올바른 이벤트 순서, 서버와의 동기화 등을 보장"하는 것보다 "비활성화"가 훨씬 쉬워야 합니다. ...대부분의 경우 "기본값"으로 모든 것이 현재 그대로 유지되도록 하고 저와 같은 극단적인 사람들을 위해 비활성화/전환 기능을 추가하십시오. 부작용이 있을 수 있으므로 핸드북에 주의하십시오.

더 쉬운 것을 희생시키면서 이것은 논란의 여지가 있는 문제이며 귀하가 제안한 옵션은 덜 논란의 여지가 있습니다(제 생각에는).

틱 및 일반적으로 모든 이벤트에 관한 전체 질문은 EA에 핸들러가 없는 경우 이벤트에 어떤 일이 발생하는지입니다.

이와 관련하여 제가 가지고 있는 두 번째 질문은 다음과 같습니다. 한 대기열의 모든 이벤트가 처리됩니까, 아니면 특정 이벤트(OnTimer, OnTick 및 OnTrade)에 대해 별도의 대기열이 있습니까?

 
Interesting :

더 쉬운 대가로 이것은 논란의 여지가 있는 문제이며, 귀하가 제안한 옵션은 덜 논란의 여지가 있습니다(제 생각에는).

동의한다; 자신이 모르는 것을 판단하기는 어렵습니다. 소원을 표현하는 일만 남았습니다 :) 제 버전의 논란에 대해 말하자면, 여기서 가장 중요한 것은 "틱이 필요하지 않습니다!"라는 바로 그 아이디어입니다. 구현 방법은 개발자의 재량에 달려 있습니다.

흥미로운 :

틱 및 일반적으로 모든 이벤트에 관한 전체 질문은 EA에 핸들러가 없는 경우 이벤트에 어떤 일이 발생하는지입니다.

맞아요. 저에게는 단 하나의 해결책이 있습니다. 끝을 잘라내고(스위치 기능 도입) 질문에 대해 걱정하지 마십시오. 원칙적으로 불필요한 것입니다. Expert Advisor가 기호 중 하나에 강제로 연결되기 때문입니다.

흥미로운 :

이와 관련하여 제가 가지고 있는 두 번째 질문은 다음과 같습니다. 한 대기열의 모든 이벤트가 처리됩니까, 아니면 특정 이벤트(OnTimer, OnTick 및 OnTrade)에 대해 별도의 대기열이 있습니까?

글쎄, "모든 발생하는 이벤트"가 하나의 공통 대기열에 추가되고 수신 순서대로 하나씩 처리된다는 것은 참고서에서 직접 따릅니다. 예외는 NewTick에만 해당됩니다. OnTimer 이벤트가 항상 처리되지는 않는다는 것을 어떻게든 증명했지만, 일반 대기열이 오버플로되어 이벤트가 제거되었기 때문일 수도 있습니다. 각 이벤트에 대해 별도의 대기열에 대한 언급을 본 적이 없습니다.