Скачать MetaTrader 5

Правильно ли я сделал скрипт?

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

 Здравствуйте,

 

Подскажите, если возможно. Я хочу запустить скрипт на виртуальном сервере, чтобы знать, когда он перегружается (я не получу письма в этом случае).

 Такой вариант будет работать?  

int OnInit()
   {
   return(INIT_SUCCEEDED);
   }

   void OnDeinit(const int reason)
   {   
   }

void OnTick()
  {

if(TimeHour(TimeCurrent()) == 17 && TimeMinute(TimeCurrent()) == 0)
         {
         SendMail("a terminal is on", "OK at 17:00");
         }
   
  }
Ihor Herasko
9302
Ihor Herasko  
alexeymosc:

 Здравствуйте,

 

Подскажите, если возможно. Я хочу запустить скрипт на виртуальном сервере, чтобы знать, когда он перегружается (я не получу письма в этом случае).

 Такой вариант будет работать?  

 

Будет работать через раз, т. к. тик в 17:00 может не прийти. Сделайте через таймер:

int OnInit()
{
   EventSetTimer(86400);
   return(INIT_SUCCEEDED);
}

void OnTimer()
{
   SendMail("a terminal is on", "OK at ", TimeToString(TimeLocal()));
}

86400 - это вызов таймера один раз в сутки. Правда, письмо будет приходить только через сутки после первого запуска, а не конкретно в 17:00.

Alexey Burnakov
3008
Alexey Burnakov  

Понял. Спасибо. Ругается компилятор. Внтури sendmail два разделенных запятой аргумента должно быть.

 Если так? Хотя так он выведет всю строку как есть.

SendMail("a terminal is on", "OK at TimeToString(TimeLocal())");

 Сделал так:

 

SendMail("a terminal is on", TimeToString(TimeLocal()));
Ihor Herasko
9302
Ihor Herasko  
alexeymosc:

Понял. Спасибо. Ругается компилятор. Внтури sendmail два разделенных запятой аргумента должно быть.

 Если так? Хотя так он выведет всю строку как есть.

 Сделал так:

 

 

Да, там вместо запятой нужно плюсик поставить:

int OnInit()
{
   EventSetTimer(86400);
   return(INIT_SUCCEEDED);
}

void OnTimer()
{
   SendMail("a terminal is on", "OK at " + TimeToString(TimeLocal()));
}
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий