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

 
Andrey Dik #:
не убъёт, я уже пробовал.

Действительно, забыл.

 
Andrey Dik #:

Где там явно указано, что вызов функции с нулевым вторым параметром но при ненулевом третьем не распределит память? Этого в справке не указано.

Как вы думаете, нужно ли физичяески распределять память, когда второй параметр соответствует текущему размеру? Вопрос риторический. Ответ - не нужно. Согласно справке, нет физического распределения - третий параметр игнорируется.

Третий параметр работает только тогда, когда текущего резервного размера не достаточно, что бы увеличить размер в соответствии со вторым параметром.


Если сделать как вы просите - резервировать память одной строкой

ArrayResize (a, 0, 10000);

то любой последующий вызов 

ArrayResize (a, 0, XXX);

управлял бы физической памятью.

 
Vladislav Boyko #:

Как вы думаете, нужно ли физичяески распределять память, когда второй параметр соответствует текущему размеру? Вопрос риторический. Ответ - не нужно. Согласно справке, нет физического распределения - третий параметр игнорируется.

Третий параметр работает только тогда, когда текущего резервного размера не достаточно, что бы увеличить размер в соответствии со вторым параметром.


Если сделать как вы просите - резервировать память одной строкой

то любой последующий вызов 

управлял бы физической памятью.


да, именно! было бы очень удобно.
а если дополнительное выделение/перераспределение памяти не нужно, то можно было бы вызывать без третьего параметра с нулевым вторым параметром.
что логично.
 
О цене перераспределения памяти

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

Новая версия платформы 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