MT5. ТЕСТЕР СТРАТЕГИЙ. Расхождение результатов тестирования и оптимизации. - страница 2

 
fxsaber: Вставить в советник эти строки ... и запустить Оптимизацию. Затем запустить несовпадающий одиночный прогон. Далее сравнить сохраненные два отчета соответствующих прохода из Оптимизации и одиночного прохода. Результат сравнения этих двух отчетов быстро выявит причины.

Так, и где взять этот файл "Report.mqh"? В штатных папках его не нашел.

 
Stanislav Korotky: Используйте #property tester_file.

Спасибо, недавно стал использовать распределенные вычисления при оптимизации советника, поэтому эта проблема и не возникала раньше. А Метаквоты молодцы, оказывается уже продумали эту проблему и добавили дополнительные специфические параметры типа #property tester_file.

Тогда получается так, что при облачных вычислениях или, как в моем случае, при распределенных вычислениях внутри локальной сети, считываемый файл, с которым работает советник, будет автоматически передан всем компьютерам в сети. Очевидно, после завершения оптимизации, он должен быть удален, чтобы сохранить конфиденциальность. Что-то не приходилось об этом читать раньше, интересно, есть об этом такой раздел в документации?

 
Eugene Myzrov:

Спасибо, недавно стал использовать распределенные вычисления при оптимизации советника, поэтому эта проблема и не возникала раньше. А Метаквоты молодцы, оказывается уже продумали эту проблему и добавили дополнительные специфические параметры типа #property tester_file.

Тогда получается так, что при облачных вычислениях или, как в моем случае, при распределенных вычислениях внутри локальной сети, считываемый файл, с которым работает советник, будет автоматически передан всем компьютерам в сети. Очевидно, после завершения оптимизации, он должен быть удален, чтобы сохранить конфиденциальность. Что-то не приходилось об этом читать раньше, интересно, есть об этом такой раздел в документации?

если вы боитесь за то, что файл будет перехвачен, забейте его сразу в советник, туда где используются его данные, например вы забиваете файл в массив(так удобнее), а в самом советнике уже считываете не с файла, как в вашем советнике, а из массива забитого в советнике. и тестируете себе сколько хотите.

с уважением.

 
Andrey Kisselyov: если вы боитесь за то, что файл будет перехвачен, забейте его сразу в советник, туда где используются его данные, например вы забиваете файл в массив(так удобнее), а в самом советнике уже считываете не с файла, как в вашем советнике, а из массива забитого в советнике. и тестируете себе сколько хотите.

с уважением.

Нет, конкретно этот файл содержит календарь прошедших экспираций, так что за него не страшно, но о будущем стоит побеспокоиться, а вообще-то, хотелось бы прочитать об этом где-нибудь в документации по MQL5, интересно, есть такой раздел? Вот тогда было бы совсем спокойно на душе. А так, оно конечно, на первых порах можно и на массивах закрыть проблему безопасности.

 
Eugene Myzrov:

Так, и где взять этот файл "Report.mqh"? В штатных папках его не нашел.

https://www.mql5.com/ru/code/18801

Report
Report
  • голосов: 16
  • 2017.07.19
  • fxsaber
  • www.mql5.com
Библиотека для MetaTrader 4/5, которая позволяет формировать отчеты по истории торгов.
 
fxsaber: https://www.mql5.com/ru/code/18801

Спасибо, попробую при случае, но похоже, что проблема решена. Внедрил в код советника директиву #property tester_file "ExpiryCalendar.csv" и расхождения между результатами оптимизации и тестирования исчезли.

Всем откликнувшимся спасибо.

 
Eugene Myzrov:

Спасибо, попробую при случае, но похоже, что проблема решена. Внедрил в код советника директиву #property tester_file "ExpiryCalendar.csv" и расхождения между результатами оптимизации и тестирования исчезли.

Всем откликнувшимся спасибо.


По идее не понятно, как оно вообще работало без файла - нужно было бы при его отсутствии обрубать инициализацию с ошибкой - тогда проблема сразу же стала бы видна.

 
Stanislav Korotky: По идее не понятно, как оно вообще работало без файла - нужно было бы при его отсутствии обрубать инициализацию с ошибкой - тогда проблема сразу же стала бы видна.

Замечание принимается, обязательно добавлю такую проверку. Просто советник планировалось применять как для NETTING-счетов (в частности, для фьючерсных счетов, где есть экспирация контрактов), так и для HEDGING-счетов, для которых экспирации не предусмотрено. Поэтому на первом этапе предполагалось, что текстовый файл "Календарь экспираций" считывался только в том случае, когда советник запускался на фьючерсном счете.

Да, и к тому же, никак не ожидал подвоха со стороны сто раз проверенной операции считывания текстового файла. А вот на тебе, особенности поиска и чтения файла при распределенной обработке в локальной сети вносят свою специфику в работу, заставляют более аккуратно относится к программной дисциплине...

 
Eugene Myzrov:

Спасибо, недавно стал использовать распределенные вычисления при оптимизации советника, поэтому эта проблема и не возникала раньше. А Метаквоты молодцы, оказывается уже продумали эту проблему и добавили дополнительные специфические параметры типа #property tester_file.

Тогда получается так, что при облачных вычислениях или, как в моем случае, при распределенных вычислениях внутри локальной сети, считываемый файл, с которым работает советник, будет автоматически передан всем компьютерам в сети. Очевидно, после завершения оптимизации, он должен быть удален, чтобы сохранить конфиденциальность. Что-то не приходилось об этом читать раньше, интересно, есть об этом такой раздел в документации?

Да, все файлы(переданные и созданные на ходу) при распределенных вычислениях сразу же удаляются по завершению расчетов.

 
Renat Fatkhullin: Да, все файлы (переданные и созданные на ходу) при распределенных вычислениях сразу же удаляются по завершению расчетов.

Спасибо за разъяснения, Ренат, но все-таки, не нашел в справочнике по MQL5 отдельный раздел, разъясняющий специфику работы советников при распределенных вычислениях. Существует такой или все раскидано по постам?

Причина обращения: