Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
x_trader
253
x_trader  

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

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

Aleksandr Chugunov
5074
Aleksandr Chugunov  
x_trader:

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

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

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

 

int OnInit()

  { error_bool=EventSetTimer(60); } 

void OnDeinit(const int reason)

  { EventKillTimer();  }

 void OnTimer()

  {Print("ok");}

 

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

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

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

Строчку

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

EventKillTimer();
EventSetTimer(60);
Vladimir Batrudinov
4942
Vladimir Batrudinov  
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);
//----------------------------------------------------------------------------//
}
x_trader
253
x_trader  
AlexSTAL:

Строчку

заменить на

теперь у меня

int OnInit()

  {

EventKillTimer();

error_bool=EventSetTimer(60); 

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

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