얼마나 많은 이미 작성된 Expert Advisors가 작성자가 의도한 것보다 1000배 더 많은 타이머 이벤트를 생성하기 시작할 것입니까?
그냥 의견: 그리고 원하는 사람들을 위해 밀리초를 추가할 가능성이 있고 캐치가 오래된 전문가에게만 있다면 새 기능을 도입하지 않겠습니까?
boolEventSetTimer (
int seconds, // количество секунд для OnTimerboolпереключатель = false// переключатель: false - период измеряется в секундах, true - в миллисекундах
);
모든 것을 여러 초로 만들고 switch== false 인 경우 초 값에 1000을 한 번 곱합니다(예: 이전 Expert Advisors의 경우).
오, 터널 끝의 빛이여! OnTimer() 자체 내부에서 EventSetTimer()를 호출 하시겠습니까? 터미널에 가면 꼭 해봐야겠습니다. 멋진 솔루션 감사합니다!
처음부터 이 솔루션을 보았습니다.
최선을 다하지 않았을 뿐입니다.
그래서 EventKillTimer() 또는 그래서 EventSetTimer(0); 타이머를 끕니다.
밀리세컨드를 원합니다. 나는 소원에 동의합니다.
지금 Expert Advisor에서는 위험합니다. 예를 들어 동기 함수 MessageBox() 는 사용자가 터미널에서 멀어질 때 대기열을 빠르게 채울 수 있습니다.(물론 이러한 함수 전에 타이머가 꺼질 수 있다고 말할 수 있습니다.)
인터럽트 처리만 했다면...
더 이상 밀리초로 이동할 수 없습니다.
얼마나 많은 이미 작성된 Expert Advisors가 작성자가 의도한 것보다 1000배 더 많은 타이머 이벤트를 생성하기 시작할 것입니까?
아니요.. 그래서 이마에 바꾸지 않아도 됩니다 . 새 함수 EventSetTimerMS(long ms)를 추가하기만 하면 됩니다.
호환성을 위해 이전 버전은 그대로 두어야 합니다. ( EventSetTimerMS(1000)를 호출 하여 쉽게 에뮬레이트할 수 있습니다. )
지금 Expert Advisor에서는 위험합니다. 예를 들어 동기 함수 MessageBox() 는 사용자가 터미널에서 멀어질 때 대기열을 빠르게 채울 수 있습니다.(물론 이러한 함수 전에 타이머가 꺼질 수 있다고 말할 수 있습니다.)
인터럽트 처리만 했다면...
인터럽트가 필요하지 않습니다. 그러나 정확히 무엇을 의미하는지 잘 모르겠습니다. 아마도 좋은 것입니다. :)
대기열의 경우 - 잠자리에 들면 몇 초 만에 득점할 수도 있습니다. :) 결과를 처리하는 방법을 모르는 경우 사용하지 마십시오. 또한 간단한 조리법과 보편적입니다.
....... 예를 들어 동기 함수인 MessageBox() 는 사용자가 터미널에서 멀어질 때 큐를 빠르게 채울 수 있습니다.(물론 이러한 함수보다 먼저 타이머가 꺼질 수 있다고 말할 수 있습니다. ) .......
얼마나 많은 이미 작성된 Expert Advisors가 작성자가 의도한 것보다 1000배 더 많은 타이머 이벤트를 생성하기 시작할 것입니까?
그냥 의견: 그리고 원하는 사람들을 위해 밀리초를 추가할 가능성이 있고 캐치가 오래된 전문가에게만 있다면 새 기능을 도입하지 않겠습니까?
모든 것을 여러 초로 만들고 switch== false 인 경우 초 값에 1000을 한 번 곱합니다(예: 이전 Expert Advisors의 경우).
지금 Expert Advisor에서는 위험합니다. 예를 들어 동기 함수 MessageBox() 는 사용자가 터미널에서 멀어질 때 대기열을 빠르게 채울 수 있습니다.(물론 이러한 함수 전에 타이머가 꺼질 수 있다고 말할 수 있습니다.)
인터럽트 처리만 했다면...
OnTimer, OnTick, OnTrade... 이들은 인터럽트입니다.
OnTimer, OnTick, OnTrade... 이들은 인터럽트입니다.
인터럽트는 OnTick이 실행되고 OnTimer와 같은 더 중요한 이벤트가 도착했을 때입니다. OnTick의 실행이 일시 중단되고 OnTimer 코드가 실행된 다음 OnTick이 계속해서 다시 실행됩니다.