Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Не поставляешь сигналы и не продаешь приложения? Не проблема, заработать могут все!
Alexey Burnakov
3005
Alexey Burnakov 2015.09.27 13:56 

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

 

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

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

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
8452
Ihor Herasko 2015.09.27 14:15  
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
3005
Alexey Burnakov 2015.09.27 14:43  

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

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

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

 Сделал так:

 

SendMail("a terminal is on", TimeToString(TimeLocal()));
Ihor Herasko
8452
Ihor Herasko 2015.09.27 15:45  
alexeymosc:

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

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

 Сделал так:

 

 

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

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

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