EventSetTimer() работает или нет

 

Я уже устал от мкл5)))) массивы без индексации как в тайм серии по умолчанию...

EventSetTimer(1) ставлю и принт, все ок. Поставил 60 как было через 1 секунду так и лепит.  

 
x_trader:

EventSetTimer(1) ставлю и принт, все ок. Поставил 60 как было через 1 секунду так и лепит.  

Удалите сначала секундный таймер, затем добавьте минутный и будет Вам счастье
 
AlexSTAL:
Удалите сначала секундный таймер, затем добавьте минутный и будет Вам счастье
+1. Да и вообще стоит задуматься что происходит при инициадизации/деинициализации эксперта.
 
AlexSTAL:
Удалите сначала секундный таймер, затем добавьте минутный и будет Вам счастье

Он kill стоит при деинициализации!!! зачем его удалять. Просто меняю значение.

 

int OnInit()

  { error_bool=EventSetTimer(60); } 

void OnDeinit(const int reason)

  { EventKillTimer();  }

 void OnTimer()

  {Print("ok");}

 

 
x_trader:
Он kill стоит при деинициализации!!! зачем его удалять. Просто меняю значение.
Сначала "мочим" один, потом создаем второй. Можно специальную функцию для этого написать :) .
 
x_trader:

Он kill стоит при деинициализации!!! зачем его удалять. Просто меняю значение.

Перечитайте внимательно мой пост
 
AlexSTAL:
Перечитайте внимательно мой пост
Перечитал) Решил удалить строчку set time  удалил запустил. Печатает через 1 секунду. Потом Прописал строчку с settimer (60) все на местах) Не увидел пока логики. Что куда удалить?!)
 
x_trader:
Перечитал) Решил удалить строчку set time  удалил запустил. Печатает через 1 секунду. Потом Прописал строчку с settimer (60) все на местах) Не увидел пока логики. Что куда удалить?!)

Строчку

EventSetTimer(60);
заменить на

EventKillTimer();
EventSetTimer(60);
 
x_trader:
Перечитал) Решил удалить строчку set time  удалил запустил. Печатает через 1 секунду. Потом Прописал строчку с settimer (60) все на местах) Не увидел пока логики. Что куда удалить?!)

Интервал таймера выставляем только при инициализации (один раз) или меняем его значение по ходу торгов?

Если меняем по ходу то нужно создать функцию по следующему типу этой

//Function UpdateTimer 
bool UpdateTimer(const int  seconds)
{
//Work variables
bool Result = true; //Returned importance
//----------------------------------------------------------------------------//

ResetLastError();

//Processing
EventKillTimer();

Result =  EventSetTimer(seconds);

//Checking for presence of the errors
  if(_LastError!=0)
  {
  Result = false;  
  }
//----------------------------------------------------------------------------//
return(Result);
//----------------------------------------------------------------------------//
}
 
AlexSTAL:

Строчку

заменить на

теперь у меня

int OnInit()

  {

EventKillTimer();

error_bool=EventSetTimer(60); 

   не вижу особой разницы хотя все равно спасибо за советы.))

 
Interesting:
Интервал таймера выставляем только при инициализации (один раз) или меняем его значение по ходу торгов?
только при инициализации))) феноменальные вещи у меня вечно происходят в этом мкл5 просто улет)))
Причина обращения: