Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Продавай время процессора и заработай!
Evgeny Potapov
1628
Evgeny Potapov 2011.11.23 14:53 
Я написал небольшую функцию, которая не даёт засыпать меня письмами, но она теперь засыпает меня ошибками. В следующем посте прикреплю
Dmitry Fedoseev
41708
Dmitry Fedoseev 2011.11.23 14:57  
Отформатируйте код и вставьте его при помощи кнопки "SRC".
Evgeny Potapov
1628
Evgeny Potapov 2011.11.23 15:05  
Отформатируйте код и вставьте его при помощи кнопки "SRC". Не могу найти кнопки, раньше были - сейчас убрали.
Dmitry Fedoseev
41708
Dmitry Fedoseev 2011.11.23 15:11  
Eugene1:
Отформатируйте код и вставьте его при помощи кнопки "SRC". Не могу найти кнопки, раньше были - сейчас убрали.


У меня все кнопки на месте. Наверно что-то с браузером у вас. Можно попробовать Ctrl+Alt+M.

Уж хотя бы на строки код разбейте.

Evgeny Potapov
1628
Evgeny Potapov 2011.11.23 15:33  
bool SendMessge(string text) {
   string notifTime = "LastNotifySendTime";
   string subject = StringConcatenate(TerminalPath()," ",TerminalCompany());
   bool notifPerExists = GlobalVariableCheck("GNotifyPeriod") ;
   if(!notifPerExists) GlobalVariableSet("GNotifyPeriod", NotifyPeriod);
   
   bool glVarExists = GlobalVariableCheck(notifTime) ;
   if(!glVarExists ){
      if(!IsOptimization()) SendMail(subject, text);
   }
   else  if(TimeCurrent() > GlobalVariableGet(notifTime) + GlobalVariableGet("GNotifyPeriod")*3600) {
            if(!IsOptimization()) SendMail(subject, text);
         }
   int error =  GetLastError();
   GlobalVariableSet(notifTime, TimeCurrent());
   if(error != 0) {
      Print("Error sending message ErNum=", error);
      return(false);
   }
   return(true);
}
Evgeny Potapov
1628
Evgeny Potapov 2011.11.23 15:35  

Кнопки - то есть, то нет.

Вот опять появились.

Спешу, пока не исчезли вставить текст функции

Evgeny Potapov
1628
Evgeny Potapov 2011.11.23 15:38  
Ошибки пишет 4202, 4200, а иногда даже 4057
Evgeny Potapov
1628
Evgeny Potapov 2011.11.23 15:42  

Смысл в том, чтобы не всё время мне письма строчила при возниковении обращения к ней, а только не чаще чем один раз в GNotifyPeriod часов.

Соответственно, если глобальной переменной нет - она её образует.

Dmitry Fedoseev
41708
Dmitry Fedoseev 2011.11.23 15:44  

Будьте проще:)

bool SendMessge(string text) {
   int Interval=300; // Минимальный интервал между сообщениями в сек.
   static datetime LastTime=0;
      if(TimeCurrent()>LastTime+Interval){
         SendMail(...
         LastTime=TimeCurrent();
      }
}  
Evgeny Potapov
1628
Evgeny Potapov 2011.11.24 07:06  
Integer:

Будьте проще:)

Нет, мне нужно получать сообщения о событиях на счёте, а не на инструменте.

А так каждый из советников мне пришлёт по письму.

Буду 20 писем из ящика вычищать

Dmitry Fedoseev
41708
Dmitry Fedoseev 2011.11.24 08:04  
bool SendMessge(string text) {
   int Interval=300; // Минимальный интервал между сообщениями в сек.
   datetime LastTime=GlobalVariableGet("LastTime");
      if(TimeCurrent()>LastTime+Interval){
         SendMail(...
         GlobalVariableSet("LastTime",TimeCurrent());
;
      }
}  
/ /12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий