запуск терминала с автоматической оптимизацией - страница 3

 

stringo:

В Вашем случае надо запускать так:

terminal.exe config\terminal1.ini

С этим наконец-то ясность, даже в логе появилось:

0 18:20:28.302 Alpari Limited MT4 build 950 started (Alpari Limited)
0 18:20:28.302 Windows 10 Pro (x64 based PC), IE 11.63, UAC, 4 x Intel Core i5  M 480 @ 2.67GHz, RAM: 1951 / 3766 Mb, HDD: 81525 / 461477 Mb, GMT+03:00
0 18:20:28.302 Data Folder: C:\Users\MySelf\AppData\Roaming\MetaQuotes\Terminal\1FC724C8C211BFE8ECF8B599A855301E
0 18:20:28.339 Started with configuration file 'config\terminal1.ini'
2 18:20:29.215 Expert MyExp.ex4 GBPUSD, Gre,H1: loaded successfully
0 18:20:29.984 '7986635': login on Alpari-Demo through demo.nl.3 (ping: 58.23 ms)
0 18:20:30.741 '7986635': login datacenter on Alpari-Demo through demo.nl.3 (ping: 58.23 ms)
0 18:20:30.879 '7986635': previous successful authorization performed from 46.39.244.105
2 18:21:23.843 Expert MyExp.ex4 GBPUSD, Gre,H1: removed
0 18:21:26.436 Alpari Limited MT4 build 950 stopped

Но оптимизация не запустилась, спред остался из обычного конф.файла.

Что дальше?

Кстати, настройки я выкладывал здесь: https://www.mql5.com/ru/forum/72459/page2#comment_2232660

И еще - в терминале открывается (как бы мной не запланированное) окно GBPUSD, Gre H1 с присоединенным к нему советником, который указан в конф.файле в разделе тестер. Но почему?? И что это за Gre?

А, с "Gre" разобрался, это было в строке Symbol="GBPUSD ...", поправил.

 
mt4trade:


Кстати, настройки я выкладывал здесь: https://www.mql5.com/ru/forum/72459/page2#comment_2232660


Это - пятёрочные настройки. В MT4 - другие настройки

Читайте уже наконец справку!

 
stringo:

Это - пятёрочные настройки. В MT4 - другие настройки

Читайте уже наконец справку!

Уважаемый stringo!

Вам безусловно большое спасибо за помощь! Вы правы, но также читайте внимательно мой пост.

В самом его начале было написано, что я использовал четверочные настройки и использовал каталог "Instance_Id".

А перед этим конечно же читал раздел "Конфигурация при старте".

И я сразу положил конф-файлы ВЕЗДЕ и пробовал все варианты.

На каком-то этапе "от отчаяния" :) стал пробовать и пятерочные настройки.

Видимо поэтому хотя я использовал правильные строки типа terminal.exe config\terminal1.ini

оптимизация не запускалась.

Вчера уже вечером я вновь попробовал четверочные настройки и, о чудо! - как-то (криво пока), но заработало.

Thanx!



 

Уважаемый stringo (и коллеги)! Наверное снова "не мой день".

Но запустив один из терминалов на оптимизацию и успешно (!, проверено) скопировав результаты в MQL4\Files\ второго терминала, не могу открыть этот файл (из второго терминала):

 

//+------------------------------------------------------------------+
//|                                                    tester002.mq4 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, mt4trade@mail.ru, mt5trade@mail.ru"
int nFile     = -1;
int nErr      =  0;
bool bResult=false;
//string sFileReport = "test01.csv"; // Имя файла
//string sFileReport = "test02.csv"; // Имя файла
string sFileReport   = "test03.csv"; // Имя файла
string sPathTermFiles = "MQL4\\Files\\"; // Путь к Files терминала
// string sPathTermFiles = "\\MQL4\\Files\\"; // Путь к Files терминала
string sPathTerminal = TerminalPath(); // Путь терминалу
string sPathAndFileName="";

void OnStart()
{ sPathAndFileName = sPathTermFiles+sFileReport;
  // sPathAndFileName = sPathTerminal+"\\"+sPathTermFiles+sFileReport;
  // sPathAndFileName = sPathTerminal+"\\"+sFileReport;
  Comment(""); Sleep(1500);
  nErr = GetLastError();
  nErr = 0;
  // nFile=FileOpen(sPathTermFiles+sFileReport,FILE_READ,0x7F); // попытаемся открыть файл 
  // nFile=FileOpen("MQL4\\Files\\"+sFileReport,FILE_READ,0x7F); // попытаемся открыть файл
  //nFile=FileOpen("MQL4\\Files\\"+sFileReport,FILE_READ);  // попытаемся открыть файл
  nFile=FileOpen(sPathAndFileName,FILE_CSV|FILE_SHARE_READ|FILE_READ); // попытаемся открыть файл
  if (nFile<0)
  { nErr = GetLastError();
    Comment("Попытка открыть файл "+sPathAndFileName+" НЕ удалась nFile="+fsN(nFile)+" Err="+fsN(nErr)+"\n"+"path of term="+sPathTerminal);
  }
  else
  { Comment("Файл "+sFileReport+" успешно открыт, nFile="+fsN(nFile)); Sleep(1000); 
    FileClose(nFile);
  }
  return;

}
string fsN(double dValue) { return(DoubleToStr(dValue,0)); }

Выдаются ошибки либо 5002 либо 5004. Это, естественно, скрипт.
Что не так??

 

Читайте документацию https://docs.mql4.com/ru/files/fileopen

FILE_SHARE_READ совместный доступ по чтению со стороны нескольких программ
FILE_SHARE_WRITE совместный доступ по записи со стороны нескольких программ

 
stringo, уверяю, что читал (!) про fileopen и пробовал (!) FILE_SHARE_READ и сейчас еще раз попробовал:

nFile=FileOpen(sPathAndFileName,FILE_CSV|FILE_SHARE_READ);

Результат: 5004.

Правда терминал запущен с опцией /portable. Но TerminalPath() дает правильный путь (...\MT4_d2).

Файлы открываемые на месте:

 

Выдержка из документации

Совместный доступ по чтению со стороны нескольких программ. Флаг используется при открытии файлов (FileOpen()), но не заменяет при открытии файла необходимости указать FILE_WRITE и/или флаг FILE_READ

 
AlexeyVik:

Выдержка из документации

 nFile=FileOpen(sPathAndFileName,FILE_CSV|FILE_SHARE_READ|FILE_READ); 

 2016.02.06 11:01:46.302 tester002 GBPUSD,Monthly: Попытка открыть файл MQL4\Files\test03.csv НЕ удалась nFile=-1 Err=5004 path of term=C:<skipped>\MT4_d2

То есть НЕ помогает! 


 
mt4trade:
stringo, уверяю, что читал (!) про fileopen и пробовал (!) FILE_SHARE_READ и сейчас еще раз попробовал:

nFile=FileOpen(sPathAndFileName,FILE_CSV|FILE_SHARE_READ);

Результат: 5004.

Правда терминал запущен с опцией /portable. Но TerminalPath() дает правильный путь (...\MT4_d2).

Файлы открываемые на месте:

А как Вы имя файла формируете? Зачем Вы в имя файла добавили "MQL4\Files"?

Читали говорите

 
stringo:

А как Вы имя файла формируете? Зачем Вы в имя файла добавили "MQL4\Files"?

Читали говорите

:))))

Ну, убрал из пути MQL4\Files, помогло наконец. А FILE_SHARE_READ ни причем, по крайней мере в данном случае, как я и думал.

Перечитав доку, понял откуда мой глюк. Там есть пример, его и "схватил":

string filename=terminal_data_path+"\\MQL4\\Files\\"+"fractals.csv";

Но вот частица "не" выпадает из сознания. :)

Так что - читал! Но говорю ж, в запарке весь день был, вот и. 

Буду внимательней.

Спасибо!!!!!