vebster005:
Добрый день, 1 индикатор, 2 таймера, в 1-м используется EventSetTimer(60) в другой EventSetTimer(1).
Как использовать два EventSetTimer?
Добрый день, 1 индикатор, 2 таймера, в 1-м используется EventSetTimer(60) в другой EventSetTimer(1).
Как использовать два EventSetTimer?
сделать свой шедулер :-)
ulong nextTimerOne=0;
ulong nextTimerTwo=0;
void CheckTimers() {
now= GetMicrosecondCount();
if (now>=nextTimerOne) {
OnTimerOne();
nextTimerOne=GetMicrosecondCount()+TIMER_ONE_SECONDS*1000000;
}
if (now>=nextTimerTwo) {
OnTimerTwo();
nextTimerTwo=GetMicrosecondCount()+TIMER_TWO_SECONDS*1000000;
}
}
мелко-код, для "боевых систем" недостаточный и кривой, но для мелких поделок на выброс вполне :-) Вызывать CheckTimers() во всех OnXXXX
Еще одно примитивное решение. Думаю, смысл понятен (не проверял).
#define TIMER1_PERIOD 1 #define TIMER2_PERIOD 60 long prevCallTimeOnTimer2; int OnInit() { EventSetTimer(TIMER1_PERIOD); prevCallTimeOnTimer2 = -1; } void OnTimer() { onTimer1(); onTimer2(); } void onTimer2() { long timeCurrent = TimeCurrent(); if(prevCallTimeOnTimer2 != -1 && timeCurrent - prevCallTimeOnTimer2 < TIMER2_PERIOD) return; prevCallTimeOnTimer2 = timeCurrent; //... } void onTimer1() { //... }
vebster005:
Добрый день, 1 индикатор, 2 таймера, в 1-м используется EventSetTimer(60) в другой EventSetTimer(1).
Как использовать два EventSetTimer?
Добрый день, 1 индикатор, 2 таймера, в 1-м используется EventSetTimer(60) в другой EventSetTimer(1).
Как использовать два EventSetTimer?
Когда возникла ситуация ?
Ребят спасибо всем за ответы)))
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как использовать два EventSetTimer?