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

 
О цене перераспределения памяти

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Новая версия платформы MetaTrader 5 build 4230: больше встроенных приложений и расширение поддержки ONNX

fxsaber, 2024.03.05 19:20

Дико долгое понижение размерности массива.

void OnStart()
{
  MqlTick Ticks[];
  
  {
    const ulong StartTime = GetMicrosecondCount();
    ArrayResize(Ticks, 5e7, -1);
    Print(GetMicrosecondCount() - StartTime); // 50
  }
  
  {
    const ulong StartTime = GetMicrosecondCount();
    ArrayResize(Ticks, 4e7, -1);
    Print(GetMicrosecondCount() - StartTime); // 1625808
  }
}
 
mayancev #:
после обновления терминала мт5, с графиков пропала программа советник , при перетаскивания программы с навигатора на график программа не активируется
винд 10

Есть кто подскажет что делать ?

 
Vitaly Muzichenko #:

Там есть подсказка, почитайте


что это дает ?

Файлы:
fvp7.png  5 kb
 
Vitaly Muzichenko #:

При установке на график, там печатается ошибка при удаче/неудаче 


выше в сообщение прикрепил ошибку 

 

Добрый вечер.

У меня тут возникла проблема с записью файлов в onTesterInit - в довольно старом коде, который долгое время работал без проблем, но вдруг сломался в начале этой недели. Файл просто не записывается, при этом, кажется, без всяких ошибок. Написал простейшего эксперта для проверки, у меня ошибка повторяется. Ниже код эксперта, который ставлю на оптимизацию. Подскажите, пожалуйста, ошибка воспроизводится, можно писать разработчикам, или я всё-таки что-то упускаю?

input int x;
input int y;

int writeFile(string filename)
{
   ResetLastError();
   int logFileDesc = FileOpen(filename,FILE_WRITE|FILE_READ|FILE_TXT|FILE_COMMON,'-',CP_ACP);
   if(GetLastError()!=0)
      return GetLastError();
      
   if(logFileDesc==INVALID_HANDLE)
      return 1;
   FileSeek(logFileDesc,0,SEEK_END);
   if(GetLastError()!=0)
      return GetLastError();
      
   FileWriteString(logFileDesc,"test\n");
   if(GetLastError()!=0)
      return GetLastError();
      
   FileFlush(logFileDesc);
   FileClose(logFileDesc);
   
   return GetLastError();
}

double OnTester()
{
   writeFile("testfile_123_45.txt");
   
   return(rand());
}

int OnTesterInit()//Оптимизация запускается, значит, OnTesterInit возвращает 0
{
   return writeFile("optfile_123_45.txt");
}

int OnInit()  {    return(INIT_SUCCEEDED);    }
void OnDeinit(const int reason) {}
void OnTick() { }
void OnTesterDeinit() {  }

У меня файл testfile_123_45.txt исправно появляется в каталоге Common/Files, а соответствующий optfile_123_45.txt и не думает, хотя, раз оптимизация всё-таки стартует, значит, onTesterInit отрабатывает без ошибок.

P. S.: Текущий билд 4380, но на предыдущем было то же самое.

 
Quantum_Logic #:

У меня файл testfile_123_45.txt исправно появляется в каталоге Common/Files, а соответствующий optfile_123_45.txt и не думает

Не воспроизводится. Все создается.
 

Версия программы 4380 от 7 июня 2024 года.

При тесте советника. Если предварительно интервал тестирования был указан 6 месяцев а потом выбираем интервал 1 год, то программа все равно тестирует за 6 месяцев.

Файлы:
haapf7_1.jpg  516 kb
 
Aleksandr Sergeyevich Buldakov #:

Версия программы 4380 от 7 июня 2024 года.

При тесте советника. Если предварительно интервал тестирования был указан 6 месяцев а потом выбираем интервал 1 год, то программа все равно тестирует за 6 месяцев.

Если 01.05.2024 поставить тестировать 6 месяцев или последний год, то тестирование будет только 4 месяца. А вот в августе будет уже разница. Наверное так…

 
fxsaber #:
Не воспроизводится. Все создается.

Ясно, спасибо. То есть, к сожалению, ничего не ясно. / У меня проблема стабильно повторяется. Более того, опробовал тот же код в MT4 и получил такой же результат - в OnTesterInit файл не записывается. Единственное объяснение, не связанное с мистикой, которое пришло в голову - само название функции OnTesterInit написано неправильно, и компилятор её не воспринимает. Но это явно не так - названия стандартных функций подсвечиваются, да и код у вас отрабатывает корректно.

Не понимаю, как такое может быть. /

 
Quantum_Logic #:

Ясно, спасибо. То есть, к сожалению, ничего не ясно. / У меня проблема стабильно повторяется. Более того, опробовал тот же код в MT4 и получил такой же результат - в OnTesterInit файл не записывается. Единственное объяснение, не связанное с мистикой, которое пришло в голову - само название функции OnTesterInit написано неправильно, и компилятор её не воспринимает. Но это явно не так - названия стандартных функций подсвечиваются, да и код у вас отрабатывает корректно.

Не понимаю, как такое может быть. /

А права доступа к папке, в которую файл пишете, каковы?