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

 

прикольная фишка на форуме появилась, при создании темы - после создания, появляется доп ссылки по похожим запросам :-) 

Чтобы не создавали кучу однотипных тем. 


 
Потерял  лучшую связь  с брокером сервера  metaquotes ltd    из-за этого  пошли плохие сигналы  грубо говоря все идет в убыток, что нужно сделать помогите пожалуйста!
Файлы:
 
Vladislav Andruschenko :

прикольная фишка на форуме появилась, при создании темы - после создания, появляется доп ссылки по похожим запросам :-) 

Чтобы не создавали кучу однотипных тем. 

Я согласен, что это хорошая функция. Однако это не исключает создания «группы тем одного типа», так как вам нужно создать новую тему, чтобы получить ссылки.

Было бы еще лучше предложить эти ссылки пользователю, когда он нажимает кнопку «Добавить», и вообще не создавать тему, если он нашел ответ.

 
Alain Verleyen:

Я согласен, что это хорошая функция. Однако это не исключает создания «группы тем одного типа», так как вам нужно создать новую тему, чтобы получить ссылки.

Было бы еще лучше предложить эти ссылки пользователю, когда он нажимает кнопку «Добавить», и вообще не создавать тему, если он нашел ответ.

Я прошёлся по темам, такие ссылки не везде, 
Это релевантные ссылки. 
И скорее , на их поиск уходит время. Поэтому не во всех темах они есть. 
 

Нашел такой неприятный момент. Билд 2305


История: 

Советник читает данные с 8 индикаторов и 8 ТФ (в том числе и D1 и W1).

Выводит данные в таблицу. 

Если работать с валютной парой, с которой работаешь давно, то все хорошо.

Если загрузить валютную пару, с которой не работал, то получается ошибка:


Советник пытается получить сигналы с D1 например, Но зависает, Зависает на CopyBuffer

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

А вот открыл логи терминала и обнаружил такую ошибку:

2020.01.29 11:59:35.915 History 'EURPLN' file opening or reading error [32]
2020.01.29 11:59:35.915 History 'EURPLN' file opening or reading error [5]
2020.01.29 11:59:35.915 History 'EURPLN' file opening or reading error [5]

 


Если отключить получение сигналов на D1 и W1 то все нормально. 



Заглянул в папку истории, там только файл 2020.hcc

Других файлов и Cache нет. 




попробовал данный скрипт: https://www.mql5.com/ru/docs/series/timeseries_access


зависает на W1 

2020.01.29 12:40:03.220  mt5 20200129 (EURPLN,H4)       ===============   1   ===============   2020.01.29 12:40:00
2020.01.29 12:40:03.220  mt5 20200129 (EURPLN,H4)       Loaded previously 
2020.01.29 12:40:03.220  mt5 20200129 (EURPLN,H4)       First date 2020.01.02 10:00:00 - 16031 bars
2020.01.29 12:40:03.220  mt5 20200129 (EURPLN,H4)       ===============   5   ===============   2020.01.29 12:40:00
2020.01.29 12:40:03.220  mt5 20200129 (EURPLN,H4)       Loaded previously 
2020.01.29 12:40:03.220  mt5 20200129 (EURPLN,H4)       First date 2020.01.02 10:00:00 - 3378 bars
2020.01.29 12:40:03.221  mt5 20200129 (EURPLN,H4)       ===============   15   ===============   2020.01.29 12:30:00
2020.01.29 12:40:03.221  mt5 20200129 (EURPLN,H4)       Loaded previously 
2020.01.29 12:40:03.221  mt5 20200129 (EURPLN,H4)       First date 2020.01.02 10:00:00 - 1135 bars
2020.01.29 12:40:03.222  mt5 20200129 (EURPLN,H4)       ===============   30   ===============   2020.01.29 12:30:00
2020.01.29 12:40:03.222  mt5 20200129 (EURPLN,H4)       Loaded previously 
2020.01.29 12:40:03.222  mt5 20200129 (EURPLN,H4)       First date 2020.01.02 10:00:00 - 568 bars
2020.01.29 12:40:03.223  mt5 20200129 (EURPLN,H4)       ===============   16385   ===============   2020.01.29 12:00:00
2020.01.29 12:40:03.223  mt5 20200129 (EURPLN,H4)       Loaded previously 
2020.01.29 12:40:03.223  mt5 20200129 (EURPLN,H4)       First date 2020.01.02 10:00:00 - 284 bars
2020.01.29 12:40:03.223  mt5 20200129 (EURPLN,H4)       ===============   16388   ===============   2020.01.29 12:00:00
2020.01.29 12:40:03.223  mt5 20200129 (EURPLN,H4)       Loaded previously 
2020.01.29 12:40:03.223  mt5 20200129 (EURPLN,H4)       First date 2020.01.02 08:00:00 - 78 bars
2020.01.29 12:40:03.224  mt5 20200129 (EURPLN,H4)       ===============   16408   ===============   2020.01.29 00:00:00
2020.01.29 12:40:03.224  mt5 20200129 (EURPLN,H4)       Loaded previously 
2020.01.29 12:40:03.224  mt5 20200129 (EURPLN,H4)       First date 2020.01.02 00:00:00 - 20 bars




Сделал тест эксперт простой:

Порядок поиска ошибки:


  1. Загружаем символ, который ранее не использовался (нет истории)
  2. Запускаем на графике эксперта
  3. Смотрим журнал:
  4. Эксперт показывает, что при CopyBuffer он сначала выходит (нет баров) 
  5. Потом эксперт получает какое то непонятное значение буфера ().
  6. Потом снова засыпает и снова все сначала.  


постоянно одно и то же: Копирует один бар, и выходит с функции. 



Если после этого перезапустить терминал. То ВСЕ ОК!!! странно

ладно... 


Нет не ОК, запускаю пару, которую не использую и опять тормоза. 




Понятно, что терминал запрашивает загрузку истории. 

Но зависает сама функция CopyBuffer, т.е. пока вся история не загрузится - все висит.

Глюки только на D1 и W1 

на других ТФ все ок. 

Если ждать долго - то при установке эксперта еще раз - опять тормоза. Но если перегрузить терминал, то на этой паре уже не будет тормозов. 

Скорее всего из-за того, что Машка с перидом 100 , а недели только за 2020 год и их мало. Но почему тогда не загружает 2019 год на лету? 

хотя написано , что:

При запросе данных из индикатора, если запрашиваемые таймсерии еще не построены или их необходимо загрузить с сервера, то функция сразу же вернет -1, но при этом сам процесс загрузки/построения будет инициирован.

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

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Прежде чем ценовые данные будут доступны в терминале MetaTrader 5, их необходимо получить и обработать. Для получения данных требуется подключение к торговому серверу MetaTrader 5. Данные поступают с сервера по запросу терминала в виде экономно упакованных блоков минутных баров. Механизм обращения к серверу за данными не зависит от того, каким...
Файлы:
 
Vladislav Andruschenko:

Нашел такой неприятный момент. Билд 2305



2020.01.29 11:59:35.915 History 'EURPLN' file opening or reading error [32]
2020.01.29 11:59:35.915 History 'EURPLN' file opening or reading error [5]
2020.01.29 11:59:35.915 History 'EURPLN' file opening or reading error [5]

Проверьте доступ к файлам hcc. Проверьте, что никто эти файлы не читает в это время.

32 - The process cannot access the file because it is being used by another process.

5 - Access is denied.


Сколько свободного места на диске?

Какое выставлено ограничениме в терминале на максимальное количество баров на чарте?

 
Slava:

Проверьте доступ к файлам hcc. Проверьте, что никто эти файлы не читает в это время.

32 - The process cannot access the file because it is being used by another process.

5 - Access is denied.


Сколько свободного места на диске?

Какое выставлено ограничениме в терминале на максимальное количество баров на чарте?


Спасибо за ответ.

  • 0. У меня антивирус DRWEB , потом я его отключал и пробовал
  • Есть также синхронизация Synology - отключал, то же самое 
  • Есть также GoodSync - тоже отключил
  • 1. Выставлял разное количество баров. 
  • 2. Свободного места 503 GB из 1.81 Tb (7200 WD RED )
  • Система Windows 7 64 на SSD (300 GB свободно из 500)
  • 3. Ошибки выше 

32 - The process cannot access the file because it is being used by another process.

5 - Access is denied.

Возникали только один раз, потом я описал выше, что проблема только при D1 и W1 другие ТФ функционируют нормально.


Но это скорее всего потому, что не может быть загружен файл 2019 hcc (потому что используется МАШКА 100) Нет, периоды менял, все то же самое



Попробовал еще раз, для наглядности вывожу данные на панель.

Посчиталось все, кроме W1 - и все. Висит. (от советника не зависит, я проверял)


Висит на момент CopyBuffer  - хотя при недоступности данных советник просто получает 0 и дальше работает, но в текущем случае - он просто не реагирует больше на события графика и не печатает ничего в журнал.  Никаких циклов нет. 


Потом, просто перегрузил терминал и все ок:


Все. ! Эта пара залилась историей. 




После перегрузки терминала все пары, по которым я собрал историю - работают без зависаний. 



Если в всех индикаторах поменять периоды на 1 или 2 (2 недели) то все ок на новой паре.

Как только период переваливает на историю прошлого года, то все. Опять зависает навсегда - перегрущил терминал все ок.


Если остановить эксперт (выгрузить с графика) то он отвисает и записывает в логи все принты, которые зависли после CopyBuffer. 


т.е. код: и Принт, который завис

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit(void)
  {
//--- secceed
   return(INIT_SUCCEEDED);
  }
int h_ma1array=INVALID_HANDLE;
double ma1_buffer[];
//+------------------------------------------------------------------+
//| Expert new tick handling function                                |
//+------------------------------------------------------------------+
void OnTick(void)
  {
  for(int i=0;i<10;i++)
    {
     
   Print("==========================   "+i);
   h_ma1array=iMA(Symbol(),PERIOD_D1,100,0,0,0);
   Print("h_ma1array="+h_ma1array);
   if(h_ma1array==INVALID_HANDLE)
     {
      Print(" INVALID_HANDLE h_ma1array "+h_ma1array);
      h_ma1array=iMA(Symbol(),PERIOD_D1,100,0,0,0);
      return;
     }
   else
     {
     int buffers=0;
      if(buffers=CopyBuffer(h_ma1array,0,0,2,ma1_buffer)<2)
        {
        


























// Этот принт уже не выводится.......
         Print(__LINE__+" return "+" buffers="+buffers);       return;         }       if(!ArraySetAsSeries(ma1_buffer,true))         {          Print(__LINE__+" return");       return;         }      }    Print("ma1_buffer[1]="+ma1_buffer[1]+" ma1_buffer[0]="+ma1_buffer[0]);    }   } //+------------------------------------------------------------------+



В тестере при любом раскладе работает исправно и быстро:




Хотя количество файлов одинакорвое:

это в реале:


это в тестере




Этой ошибки не было в 2019 году, по крайней мере в конце 2019 года. 



Удалил всю историю - поставил на новую пару EURUSD - истории нет - запустил советник, он начал загружать данные - завис - история закачалась вплоть до 1999 года - советник отвис - все ок.


Наверное такое происходит с парами, по которым нет истории дальше 2019.... Но советник пытается запустить CopyBuffer индикатора с периодом, который дальше, чем есть история. Поэтому и зависает.

Хотя странно, что после спустя время - и перезагрузки терминала, все отвисает. 

Мысли вслух....  

 
Спасибо за ответ уже месяц пишу так и не услышал то толкового ответа , что мне нужно сделать что бы починить эту   лучшую связь,
Файлы:
 
Vladislav Andruschenko:


Спасибо за ответ.

  • 0. У меня антивирус DRWEB , потом я его отключал и пробовал
  • Есть также синхронизация Synology - отключал, то же самое 
  • Есть также GoodSync - тоже отключил
  • 1. Выставлял разное количество баров. 
  • 2. Свободного места 503 GB из 1.81 Tb (7200 WD RED )
  • Система Windows 7 64 на SSD (300 GB свободно из 500)
  • 3. Ошибки выше 

32 - The process cannot access the file because it is being used by another process.

5 - Access is denied.

Возникали только один раз, потом я описал выше, что проблема только при D1 и W1 другие ТФ функционируют нормально.

Но это скорее всего потому, что не может быть загружен файл 2019 hcc (потому что используется МАШКА 100) Нет, периоды менял, все то же самое

Я об этом писал еще год назад, но во внимание никто не принял ...   Тут https://www.mql5.com/ru/forum/291786

Получение истории торговых инструментов.
Получение истории торговых инструментов.
  • 2018.11.25
  • www.mql5.com
Столкнулся с проблемой получения исторических данных по торговым инструментам, при обращении к некоторым символам программа (советник) наглухо зави...
 
Vladimir Pastushak:

Я об этом писал еще год назад, но во внимание никто не принял ...   Тут https://www.mql5.com/ru/forum/291786

Почитал. 
Но тут прикол в следующем. Сначала я вообще не знал, что он висит. Т.е. функуию проверки истории не использовал. И висит только на старших тф и после функции copybuffer
Т.е. начался новый год и он стал зависать. 
Спасибо приму во внимание и буду ждать решения или посыл в поиск