Вопросы (Yerkin Sagandykov) - страница 6

 
возможно ?
 
bool isTester = MQLInfoInteger(MQL_TESTER);

    if(isTester)
      filename = TerminalInfoString(TERMINAL_DATA_PATH) + "\\MQL5\\Files\\" + filename;

Привет всем !

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

TERMINAL_DATA_PATH

другой путь генерится . Когда хочу в COMMON папку то ошибку дает  (режим тестирования) - Error opening file for reading. Error code: 5002

Реальные и сгенерированные тики - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Реальные и сгенерированные тики - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Для тестирования и оптимизации советников необходимы тики, так как именно по ним работает советник. Тестирование может осуществляться на реальных...
 
Yerkin Sagandykov #:

Привет всем !

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

другой путь генерится .

У тестера своя песочница. Поэтому доступа к песочнице онлайна нет.

Когда хочу в COMMON папку то ошибку дает  (режим тестирования) - Error opening file for reading. Error code: 5002

Проверил:

int OnInit()
{
   string sPath = TerminalInfoString(TERMINAL_COMMONDATA_PATH);
   Print(sPath);
   
   int nFile = FileOpen("MyFile.txt", FILE_WRITE | FILE_COMMON);
   if (nFile == INVALID_HANDLE)
   {
      Print("Error: ", GetLastError());
      return INIT_FAILED;
   }
   
   FileWrite(nFile, "It is my file");
   FileClose(nFile);
   
//--- succeed
   return(INIT_SUCCEEDED);
}

Есть доступ. Причем даже на запись, не говоря уже о чтении.

P. S. Выкладывайте, пожалуйста, код. А то непонятно, что Вы там пробовали с общей папкой.

 
Ihor Herasko #:

У тестера своя песочница. Поэтому доступа к песочнице онлайна нет.

Проверил:

Есть доступ. Причем даже на запись, не говоря уже о чтении.

P. S. Выкладывайте, пожалуйста, код. А то непонятно, что Вы там пробовали с общей папкой.

Спасибо Игорь ! чето видать механическая ошибка в коде была у меня !

 

Привет всем!

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

 
Yerkin Sagandykov #:

Привет всем!

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

if (TimeCurrent() >= D'25.08.2024')	// вместо D'25.08.2024' поставить нужную дату
    return;
 
Alexander Sevastyanov #:
TimeCurrent

 - в этом случае разве не берется дата параметров тестирования ? надо именно от систменого времени 

 
Yerkin Sagandykov #:

 - в этом случае разве не берется дата параметров тестирования ? надо именно от систменого времени 

Про системное время прежде не было упоминания. Если нужно оно, то будет так:

if (TimeLocal() >= D'25.08.2024')	// вместо D'25.08.2024' поставить нужную дату
    return;
 
Alexander Sevastyanov #:

Про системное время прежде не было упоминания. Если нужно оно, то будет так:

Для тестера все равно нет разницы, потому что:

При работе в тестере стратегий локальное время TimeLocal() всегда равно моделируемому серверному времени TimeCurrent().
 
Yerkin Sagandykov #:

 - в этом случае разве не берется дата параметров тестирования ? надо именно от систменого времени 

Для чего нужно системное время в тестере? Разве что заглядывать в "будущее"...