ну че за форум такой? неужели ни у кого идей нет?
никто не даст Вам возможность что-бы то ни было записывать на чужих удаленных машинах, полагаю Вы тоже были бы против, чтобы у Вас на ПК начали что-то куда-то записывать, потом (вероятно) выкачивать себе на ПК и т.п.
П.С.: посмотрите эту библиотеку, возможно она натолкнет на мысли как реализовать то, что хотите
никто не даст Вам возможность что-бы то ни было записывать на чужих удаленных машинах, полагаю Вы тоже были бы против, чтобы у Вас на ПК начали что-то куда-то записывать, потом (вероятно) выкачивать себе на ПК и т.п.
Ну думал хоть на локальных машинах в моей сети получится....
Ну думал хоть на локальных агентах получится....
Локальные агенты тоже находятся на других машинах, а они могут быть чужими. Так что вот так.
Как записать результаты оптимизации в файл при использовании Local Network Farm или MQL5 Cloud Network ?
О каких результатах вообще речь?
Результаты оптимизации пишутся в файл, если Вы запустите терминал со своим конфигурационным файлом и укажите в нем писать файл с результатами или нет, и куда.
Как это сделать почитайте в Справке терминала.
Ну или ручками делайте экспорт результатов сами.
- www.metatrader5.com
//+------------------------------------------------------------------+ //| Начало оптимизации | //+------------------------------------------------------------------+ void OnTesterInit() { string TimeF=TimeToString(TimeLocal(),TIME_DATE|TIME_MINUTES); StringSetCharacter(TimeF,13,'_'); Statistic=Printer.FileCreate(Symbol()+"_"+TimeF+"_S&G","S&G\\Test",false,false,EvryTick); //Создание файла для записи Printer.Write("N", "Депо", "Прибыль", "Доход", "Расход", "Прибыльность", "Фактор вост.", "Мат ож", "К.Ш.", "Макс ДД баланса", "Макс ДД средств", "N сделок", "N трейдов", "N + трейдов", "N - трейдов", "Sell трейдов", "Buy трейдов", "Sell + трейдов", "Buy + трейдов", "Avr + трейдов", "Avr - трейдов", "% Sell от прибыльных", "% Buy от прибыльных", "% Sell от всех", "% Buy от всех", "% + от всех" ); } //+------------------------------------------------------------------+ //| Обработчик события окончания тестирования | //+------------------------------------------------------------------+ double OnTester() { //--- Заполним массив показателями теста GetTestStatistics(stat_values); //--- Создадим фрейм FrameAdd("Statistics",1,0,stat_values); return(0.0); } //+------------------------------------------------------------------+ //| Очередной проход оптимизации | //+------------------------------------------------------------------+ void OnTesterPass() { string name =""; // Публичное имя/метка фрейма ulong pass =0; // Номер прохода в оптимизации, на котором добавлен фрейм long id =0; // Публичный id фрейма double val =0.0; // Одиночное числовое значение фрейма //--- FrameNext(pass,name,id,val,stat_values); double SellPribl_from_Pribl=0.0;//Процент прибыльных позиций Sell из всех прибыльных double BuyPribl_from_Pribl=0.0;//Процент прибыльных позиций Buy из всех прибыльных double SellPribl_from_All=0.0;//Процент прибыльных позиций Sell из всех проторгованных double BuyPribl_from_All=0.0;//Процент прибыльных позиций Buy из всех проторгованных double Pribl_from_All=0.0;//Процент прибыльных позиций из всех проторгованных if (stat_values[12]>0) SellPribl_from_Pribl=stat_values[16]/stat_values[12]*100.0; if (stat_values[12]>0) BuyPribl_from_Pribl=stat_values[17]/stat_values[12]*100.0; if (stat_values[11]>0) SellPribl_from_All=stat_values[16]/stat_values[11]*100.0; if (stat_values[11]>0) BuyPribl_from_All=stat_values[17]/stat_values[11]*100.0; if (stat_values[11]>0) Pribl_from_All=stat_values[12]/stat_values[11]*100.0; Printer.Write(IntegerToString(pass), stat_values[0], stat_values[1], stat_values[2], stat_values[3], DoubleToString(stat_values[4],2), DoubleToString(stat_values[5],2), DoubleToString(stat_values[6],2), DoubleToString(stat_values[7],2), stat_values[8], stat_values[9], stat_values[10], stat_values[11], stat_values[12], stat_values[13], stat_values[14], stat_values[15], stat_values[16], stat_values[17], stat_values[18], stat_values[19], DoubleToString(SellPribl_from_Pribl,2), DoubleToString(BuyPribl_from_Pribl,2), DoubleToString(SellPribl_from_All,2), DoubleToString(BuyPribl_from_All,2), DoubleToString(Pribl_from_All,2) ); } //+------------------------------------------------------------------+ //| Завершение оптимизации | //+------------------------------------------------------------------+ void OnTesterDeinit() { FileClose(Statistic); }У меня как то так сейчас, все работает. Но, только надо переделать работу с записью в файл, так-как для этих целей я использую не публичный класс.
У меня как то так сейчас, все работает. Но, только надо переделать работу с записью в файл, так-как для этих целей я использую не публичный класс.
От фреймов отказался по той причине, что когда при вариантов больше, чем 18 степнень, они не работали.
в итоге поставил запись в файл в процедуре OnTester
@Aleksey Vyazmikin, можете проверить, будут ли работать фреймы при количестве вариантов больше, чем 18 степень? может уже поправили...
От фреймов отказался по той причине, что когда при вариантов больше, чем 18 степнень, они не работали.
в итоге поставил запись в файл в процедуре OnTester
@Aleksey Vyazmikin, можете проверить, будут ли работать фреймы при количестве вариантов больше, чем 18 степень? может уже поправили...
Эээ, извините за тупой вопрос, но что есть "18 степнень"? Сколько это в цифрах - туплю. Или речь о количестве переменных?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день
Как записать результаты оптимизации в файл при использовании Local Network Farm или MQL5 Cloud Network ?
Есть процедура в OnTester(void), использует:
При использовании Local агентов файл с результатами оптимизации создается в общей папке, при использовании Local Network Farm или MQL5 Cloud Network файла нет.