시간제 노동자 - 페이지 3

 
TheXpert :

타이머 관리자 사용 나는 기사를 양각하고 싶었고 어떻게 든 옆으로 옮겼습니다. 기사가 당기지 않을 수 있지만.

특정 시간에는 코드와 이벤트 큐의 싱글 쓰레드로 인해 작동하지 않지만 평균 오류는 1초 미만입니다(최대값은 코드에 의해 이벤트가 실행되는 최대 시간에 의해 제한됨) .

또한 타이머는 하나뿐입니다.

필요한?

예, 오류는 거의 감지할 수 없습니다. 코드 베이스에 바로 넣을 수 있습니까? 포럼에서 - 그것은 분실될 것이고 그곳에서 - 다른 누군가가 그것을 필요로 할 것입니다.
 
Yedelkin :
예, 오류는 거의 감지할 수 없습니다. 코드 베이스에 바로 넣을 수 있습니까? 포럼에서 - 그것은 분실될 것이고 그곳에서 - 다른 누군가가 그것을 필요로 할 것입니다.

완전히 준비되지는 않았지만 지금은 5k에 대해 무제한 파일로 바쁩니다. 곧 끝내겠습니다.

칩은 필요한지 아닌지가 아닙니다. 이것은 여러 타이머로 작업하는 유일한 정상적이고 올바른 방법입니다.

 
TheXpert :

완전히 준비되지는 않았지만 지금은 5k에 대해 무제한 파일로 바쁩니다. 곧 끝내겠습니다.

괜찮아, 기다려. 지금은 SD로 전환하겠습니다. 아마도 특정 지연으로 첫 번째 타이머 이벤트 를 시작하는 것을 가능하게 할 것입니다.
Документация по MQL5: Программы MQL5 / События клиентского терминала
Документация по MQL5: Программы MQL5 / События клиентского терминала
  • www.mql5.com
Программы MQL5 / События клиентского терминала - Документация по MQL5
 
Yedelkin :

EA 가 특정 시간에 타이머 이벤트를 생성하도록 하는 방법이 있습니까? 예를 들어, 한 시간 또는 하루의 마지막 순간이 시작될 때.

어떤 문제들? 일반 타이머를 실행하고 시간을 분석합니다. 시간이 맞지 않습니다. 즉시 OnTimer를 종료하십시오.
 
TheXpert :

다시 말하지만, 이것은 칠면조의 절전 기능에 대한 훌륭한 대체품이며 다시 한 번 말씀드리지만 1초는 약간 많습니다.

토론을 위해 주제가 열렸습니다. 어떻게 생각하나요?

한 가지 뉘앙스가 있습니다. 차트에 첨부되어 있지 않으면 표시기의 타이머가 작동하지 않습니다. 따라서 두 번째 타이머조차도 지표에서 종종 쓸모가 없습니다.

1초 미만의 빈도로 이벤트를 제어하는 솔루션 있습니다. 아마도 GetTickCount()와 함께 타이머를 만들 수 있습니다.

 
stringo :
어떤 문제들? 일반 타이머를 실행하고 시간을 분석합니다. 시간이 맞지 않습니다. 즉시 OnTimer를 종료하십시오.

그리고 왜 내가 매 초마다 이벤트 대기열을 폭파해야 하고 OnTimer()에서 매초 확인하는 데 시간을 소비해야 합니까? 실제로 OnTimer()를 하루에 한 번(시간당 등) 실행해야 한다면 특정 시간?

나는 두 개의 매개변수가 있는 그러한 함수가 훨씬 더 합리적이고 우아할 것이라고 생각합니다.

   bool EventSetTimer (
                   int seconds,       // количество секунд для OnTimer
                   int задержка = 0      // количество секунд задержки запуска первого события Timer 
                   );

SD에서 제안한 대로.

추가: 지연 매개변수의 값은 OnInit()에서 쉽게 한 번 계산될 수 있습니다.

 
Yedelkin :

그리고 왜...

글쎄요, 기본적으로 제가 제안한 것입니다. 편리한 패키지에 포장되어 있습니다.

특히 불필요한 이벤트를 건너뛰는 경우 1초는 끔찍합니다.

 
초 단위의 지연을 밀리초로 변환하기만 하면 됩니다.
 bool EventSetTimer ( 1000); // количество миллисекунд для 1 секунды задержки для OnTimer


 int задержка = 0      // количество секунд задержки запуска первого события Timer 

그냥 헛소리니까 절대 하지 마세요.

 
pusheax :

 int задержка = 0      // количество секунд задержки запуска первого события Timer 

그냥 헛소리니까 절대 하지 마세요.

잡담 전문가로서 여쭤봅니다. 이 지연( int delay = 0 )에 대한 아이디어는 무엇이며, 어떤 목적으로(지연) 제안되었습니까? 어떻게 이해하셨나요?

그리고 명확히 하고 싶은 두 번째 질문은 "OnTimer의 1초 지연에 대한 밀리초 수 "를 지정하는 의미는 무엇입니까? 어떤 목표를 달성하려고 합니까? 예를 들어 OnTimer에서 3밀리초 동안 1초씩 지연하시겠습니까?

 
TheXpert :

글쎄요, 기본적으로 제가 제안한 것입니다. 편리한 패키지에 포장되어 있습니다.

특히 불필요한 이벤트를 건너뛰는 경우 1초는 끔찍합니다.

아시다시피, 이 경우에는 "당신이 그들 없이 할 수 있다면 어떤 사소한 것에도 내려라."라는 모토가 있습니다. 사용자가 선택한 시간 동안 첫 번째 타이머 이벤트 생성을 지연시키는 것은 터미널 수준에서만 필요합니다. 동시에, 특히 내가 단순히 그것을 보지 못했기 때문에 나는 당신의 코드의 중요성을 간청하지 않습니다.
Документация по MQL5: Программы MQL5 / События клиентского терминала
Документация по MQL5: Программы MQL5 / События клиентского терминала
  • www.mql5.com
Программы MQL5 / События клиентского терминала - Документация по MQL5