Останавливается эксперт, СРОЧНО нужна помощь.

 

Народ, подсткажите по сабжу.

работает несколько терминалов на разных серверах, и на одном останавливается эксперт с сообщением в логах:

2009.01.23 11:43:16 Cronex ETrading v5.6.5 EURUSD,M30: expert stopped
2009.01.23 11:43:16 Cronex ETrading v5.6.5 EURUSD,M30: expert function calls are not allowed; 'stdlib'-'ErrorDescription'

После перекомпиляции снова работает нормально, период отлючения не стабильный, может несколько суток проработать .

PS Машина под XP, тот же эксперт работает еще на нескольких терминалах в нормальном режиме.

 
Cronex >>:


2009.01.23 11:43:16 Cronex ETrading v5.6.5 EURUSD,M30: expert function calls are not allowed; 'stdlib'-'ErrorDescription'


В переводе на русский сие означает, что советником вызывается запрещенная функция. И скорее всего это происходит, когда сервер возвращает какую-то ошибку? Может быть необходимо разрешить обращения к dll, а может быть к внешним советникам?


Посмотрите в настройках советников на других терминалах, на предмет совпадений.

 
Reshetov писал(а) >>

В переводе на русский сие означает, что советником вызывается запрещенная функция. И скорее всего это происходит, когда сервер возвращает какую-то ошибку? Может быть необходимо разрешить обращения к dll, а может быть к внешним советникам?


Посмотрите в настройках советников на других терминалах, на предмет совпадений.

Юрий что написано я понимаю, с английским проблем нет :-), все уже прошерстил и по настройкам, и вызовы разрешены dll... хотя их принципиально не использую ... нет их в эксперте. А по отношению к другим терминалам полный синхрон по настройкам.

Только стандартные инклуды... Такое впечатление что путь теряется к инклудам.

А не может быть зависимости от того что я под другим терминалом что то перекомпилирую?

Я уже и вреестре поковырялся - нет там ничего кроме пути инсталляции, так на сколько я помню инклуды по стандартному пути берутся при включении:

#include <stdlib.mqh>
#include <stderror.mqh>

вот фнукция, стандартная, типа из примера :

void ErrorCheckOut(bool LastErr)
   {
      int    Error;
      if(LastErr!=TRUE) 
      { 
         Error=GetLastError(); 
         Print("LastError = ",Error," : ",ErrorDescription(Error)); 
      }
   }   
больше нигде упоминаний нет. Да и самое противное, что работает какое то время без проблем
 
Пока просто вырезал вызов ErrorDescription, но осадок остался .... чушь какая-то .
 

А у каких брокеров работает нормально?

И у каких не нормально?

 

Интересно, а втаком виде будет работать?

void ErrorCheckOut(bool LastErr)
   {
      int    Error;
      if(LastErr!=TRUE) 
      { 
         Error=GetLastError();
         string ErrorDescr = ErrorDescription(Error); 
         string ErrorText = StringConcatenate("LastError = ",Error," : ",ErrorDescr);
         Print(ErrorText); 
      }
   }   
 
Cronex писал(а) >>
2009.01.23 11:43:16 Cronex ETrading v5.6.5 EURUSD,M30: expert function calls are not allowed; 'stdlib'-'ErrorDescription'

Воткните галочку

 
Reshetov писал(а) >>

В переводе на русский сие означает, что советником вызывается запрещенная функция.

Немного не так...

"Вызовы функций (ударение на слово "функций" и пауза) экспертом (снова пауза)... запрещены".

 
Cronex писал(а) >>
...на сколько я помню инклуды по стандартному пути берутся при включении:

Посмотрите содержимое файла stdlib.mqh. В нём есть строка:

#import "stdlib.ex4"
Для работы которой нужно разрешение, о котором я написал в предпредыдущем своём посте.