Ошибки, баги, вопросы - страница 2545

 
SEM:

Добрый день! Еще раз вопрос про использование оперативной памяти агентами (забивают память и ничего не делают), ситуация наблюдается только для заданий из облака.

Это баг, сколько памяти нужно для одного агента?


Как раз сейчас читаю за утечку памяти, из за потерянных объектов.
В вашем случае утечка памяти на лицо, перепроверьте ваш код на корректность инициализаций, и выделение/возвращение  памяти.
Если с вашей точки зрения, что в коде всё норм, тогда возможен баг.

 

О функциях mql SocketXXX () это сообщение предназначено в основном для разработчиков Metaquotes: @Renat Fatkhullin, @Slava, @Ilyas

Я использую приведенный ниже код для управления приемом сообщений через защищенное соединение.

int socket;
//+------------------------------------------------------------------+
//| void OnTimer()                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   string message;
   if(receive(message))
     {
      //--- ...     
     }
  }
//+------------------------------------------------------------------+
//| Call every X ms                                                  |
//+------------------------------------------------------------------+
bool receive(string &message)
  {
//--- ...
   char response[];
   message="";

   ResetLastError();
   uint len=SocketIsReadable(socket);
   if(len>1)
     {
      int read=SocketTlsReadAvailable(socket,response,len);

      //--- analyze the response 
      if(read>0)
        {
         //--- ...

         message=CharArrayToString(response,0,read);
         return(true);
        }
      else if(read==-1)
        {
         if(SocketIsConnected(socket))
           {
            printf("ERROR: %i, socket(%i) read: len=%i",_LastError,socket,len);
           }
         else
           {
            printf("ERROR: %i, socket(%i) not connected. len=%i",_LastError,socket,len);
            //--- ...            
           }
        }
     }
   else
     {
      if(_LastError!=0)
         printf("ERROR: %i (SocketIsReadable).",_LastError);
     }
//--- ...
   return(false);
  }

Большую часть времени это работает правильно. Однако время от времени я получал сообщение об ошибке, хотя сокет подключен, и через некоторое время (от 1 до 5/6 ошибок) он продолжает работать.

... данные / сообщения получены правильно

2019.08.29 00: 45: 43.019 XXXX (EURUSD, H1) ОШИБКА: 5273, гнездо (1), считано: len = 437
2019.08.29 00: 45: 43.237 XXXX (EURUSD, H1) ОШИБКА: 5273, гнездо (1), считано: len = 1242

... данные / сообщения получены правильно

Ошибка 5273 очень общая и мало помогает. Можно ли получить больше информации о таких ошибках?

 
Добрый день! Очень нужен совет! Наверняка кто-то уже сталкивался с такой проблемой. За ранее извиняюсь если тема повторяется! 
Погуглил данный вопрос ничего толкового не нашел, на форумах ветки уже не активные, без ответа уже несколько лет "стоят"!

Итак:  скачал вчера советник, установил в терминале все как надо, как говорится все по книжке! Все файлы раскидано в нужных папках терминала. Везде где надо галочки в настройках.  Советник состоит из бэктесты которые сделаны по каждой паре в отдельности (7 пар) и файл для libraries то есть с расширением  .dll

Проблема в следующем:
При запуске советника, в разделе "Эксперты" пишет следующее: 
FX_Lightning_2.0_EURUSD_H1_V2 EURUSD,H1: function 'MqlLock_5148A195_12_1111iI11I1' call from dll 'FXFlash.dll' critical error c0000005 at 6AF6DA83.

Или: FX_Lightning_2.0_EURUSD_H1_V2 EURUSD,H1: cannot load library 'fxftrap.dll' (error 126)

Но при этом на экране терминале пишет: 
FX Flash V1.5 is Active and Working
If you experience any problems
Please check Journal and Experts Tab

Подскажите где копать? Что я не правильно делаю?
 
Roman:

Как раз сейчас читаю за утечку памяти, из за потерянных объектов.
В вашем случае утечка памяти на лицо, перепроверьте ваш код на корректность инициализаций, и выделение/возвращение  памяти.
Если с вашей точки зрения, что в коде всё норм, тогда возможен баг.

Проблема только с заданиями из облака (т.е. это не мой код)

 
JetFlash:
Добрый день! Очень нужен совет! Наверняка кто-то уже сталкивался с такой проблемой. За ранее извиняюсь если тема повторяется! 
Погуглил данный вопрос ничего толкового не нашел, на форумах ветки уже не активные, без ответа уже несколько лет "стоят"!

Итак:  скачал вчера советник, установил в терминале все как надо, как говорится все по книжке! Все файлы раскидано в нужных папках терминала. Везде где надо галочки в настройках.  Советник состоит из бэктесты которые сделаны по каждой паре в отдельности (7 пар) и файл для libraries то есть с расширением  .dll

Проблема в следующем

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

Это не проблема форума, это проблема автора. Обращайтесь к автору . 
 
Vladislav Andruschenko:

Это не проблема форума, это проблема автора. Обращайтесь к автору . 
Эхх.. был бы автор )
Я его с интернета скачал (форекс сайт).. и там последний коммент 6 лет назад был написан..
Но я понял вас и в любом случае спасибо! 
 
JetFlash:
Эхх.. был бы автор )
Я его с интернета скачал (форекс сайт).. и там последний коммент 6 лет назад был написан..
Но я понял вас и в любом случае спасибо! 
Ищите исходник библиотеки, тогда, возможно, и помогут...
 
Aliaksandr Hryshyn:
Ищите исходник библиотеки, тогда, возможно, и помогут...
Без понятия где/откуда его брать. Обычно на форекс сайтах все советники "голые"..

[Удален]  
JetFlash:
Добрый день! Очень нужен совет! Наверняка кто-то уже сталкивался с такой проблемой. За ранее извиняюсь если тема повторяется! 
Погуглил данный вопрос ничего толкового не нашел, на форумах ветки уже не активные, без ответа уже несколько лет "стоят"!

Итак:  скачал вчера советник, установил в терминале все как надо, как говорится все по книжке! Все файлы раскидано в нужных папках терминала. Везде где надо галочки в настройках.  Советник состоит из бэктесты которые сделаны по каждой паре в отдельности (7 пар) и файл для libraries то есть с расширением  .dll

Проблема в следующем:
При запуске советника, в разделе "Эксперты" пишет следующее: 
FX_Lightning_2.0_EURUSD_H1_V2 EURUSD,H1: function 'MqlLock_5148A195_12_1111iI11I1' call from dll 'FXFlash.dll' critical error c0000005 at 6AF6DA83.

Или: FX_Lightning_2.0_EURUSD_H1_V2 EURUSD,H1: cannot load library 'fxftrap.dll' (error 126)

Но при этом на экране терминале пишет: 
FX Flash V1.5 is Active and Working
If you experience any problems
Please check Journal and Experts Tab

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

Возможно у Вас дллка 32-разрядная, а терминал 64-разрядный.

 
Koldun Zloy:

Возможно у Вас дллка 32-разрядная, а терминал 64-разрядный.

ну да, ноут, да и терминал наверное тоже и вправду 64-разрядный.. 
но я даже и не думал в эту сторону... хотя все может быть, советник и вправду старый, последнее обновление больше 6 лет назад...

и dll можно изменить если только есть исходник?

или можно установить 32-разрядный терминал на 64-разрядный ноут?