Новая версия платформы MetaTrader 5 build 2340: Управление настройками счета в тестере и расширение интеграции с Python - страница 4
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
Alexey Kozitsyn, 2020.02.22 13:51
В эксперте реализован графический интерфейс. Также реализованы пользовательские события (например, события по изменению графического интерфейса). Произвожу отладку на реальных данных (F5). Как только ставлю точку останова на пользовательское событие - отладчик останавливается, но последующее нажатие на F5 (продолжение отладки) не приводит к изменению в самом графическом интерфейсе. Вопрос: так и должно быть, или это баг отладчика?
Если убрать точку останова (отладка продолжается) - изменения в графическом интерфейсе происходят нормально.
МТ5, билд 2340.
Я сделал ход конем ). Один файл оставил с родным расширением .dll , а другой такой же, но с расширением .dll.ex5 и оба в папке Libraries. Завелся и тестер и в терминале сова работает. Ждём исправлений, а то это какое-то извращение ))).
да так работает, я вчера еще разобрался с этим ноухау
но тут сразу другая проблема возникает. Если эта дллка обращается к другим библиотекам, то связь с ними теряется.
я стараюсь в одну dll запаковать все вызовы, обычно пакет Costura.Fody без проблем все сам делает
попробуйте с Costura.Fody - отличная штука
Что-то в процессе оптимизации определённо изменилось. Советник перестал оптимизироваться на старых настройках и стал на других. Но это субъектив и проблема, которую я отловлю, разве что случайно.
А вот это объектив: На вкладке форвард, в колонке результатов бэктеста непонятно что. Причём это и на пользовательском критерии и на стандартных. Привожу результаты для фактора восстановления.
Что-то в процессе оптимизации определённо изменилось. Советник перестал оптимизироваться на старых настройках и стал на других. Но это субъектив и проблема, которую я отловлю, разве что случайно.
А вот это объектив: На вкладке форвард, в колонке результатов бэктеста непонятно что. Причём это и на пользовательском критерии и на стандартных. Привожу результаты для фактора восстановления.
В форвардное тестирование отдаются лучшие результаты данного сеанса оптимизации.
Судя по верхнему скриншоту, у Вас - генетическая оптимизация, причём лучшие результаты были получены в предыдущих сеансах генетической оптимизации.
О том, что результат получен в одном из предыдущих сенсов, свидетельствует пустота в колонке "проход". Для текущего сеанса в этой колонке содержатся 2 цифры - номер поколения и номер особи
В форвардное тестирование отдаются лучшие результаты данного сеанса оптимизации.
Судя по верхнему скриншоту, у Вас - генетическая оптимизация, причём лучшие результаты были получены в предыдущих сеансах генетической оптимизации.
О том, что результат получен в одном из предыдущих сенсов, свидетельствует пустота в колонке "проход". Для текущего сеанса в этой колонке содержатся 2 цифры - номер поколения и номер особи
И правда, а где номера прохода? Ведь у меня же "#property tester_no_cache"!
Даже если и повторно, ну и что? В нижней таблице данные сортированы по убываню в колонке "бэктест". В верхней ячейке должен быть лучший результат из колонки "результат" верхней таблицы, также сортированной по убываню. А там что за цифра? Я даже не смог найти, откуда она взялась.
да так работает, я вчера еще разобрался с этим ноухау
я стараюсь в одну dll запаковать все вызовы, обычно пакет Costura.Fody без проблем все сам делает
попробуйте с Costura.Fody - отличная штука
Да, спасибо. Все перекомпилировал. Заработало
И правда, а где номера прохода? Ведь у меня же "#property tester_no_cache"!
Даже если и повторно, ну и что? В нижней таблице данные сортированы по убываню в колонке "бэктест". В верхней ячейке должен быть лучший результат из колонки "результат" верхней таблицы, также сортированной по убываню. А там что за цифра? Я даже не смог найти, откуда она взялась.
Если Вы гоняете генетическую оптимизацию, то никакие результаты из уже существующего кеша не используются для дальнейших расчётов. Они загружаются из кеша в список результатов оптимизации только для информационных целей. Потому что генетика сильно специфична и вместо десятков миллионов проходов для получения результата реально запускается две с половиной тысячи. И было бы глупо терять прошлые результаты.
Чтобы найти соответствующий форвардному результат из основного списка просто сделайте даблклик на строчке форвардного прохода. Этот трюк работает уже 10 лет.
Если Вы гоняете генетическую оптимизацию, то никакие результаты из уже существующего кеша не используются для дальнейших расчётов. Они загружаются из кеша в список результатов оптимизации только для информационных целей. Потому что генетика сильно специфична и вместо десятков миллионов проходов для получения результата реально запускается две с половиной тысячи. И было бы глупо терять прошлые результаты.
Зачем же тогда tester_no_cache?
стабильная версия 5 билд 2340 компиляция проходит с DatabaseImport
а выполнение сразу выдает сообщение MQL5 'DOMcopy.ex5' has newer unsupported version, please update your client terminal
Зачем же тогда tester_no_cache?
#property tester_no_cache означает, что при оптимизации не проверяется наличие в кеш-файле уже посчитанного ранее прохода с такими же параметрами.
При генетической оптимизации наличие в кеш-файле не проверяется всегда, независимо от отсутствия или наличия этого свойства.
В документации примерно это и написано
tester_no_cache
string
Тестер стратегий при выполнении оптимизации сохраняет все результаты выполненных проходов в кеш оптимизации, в котором для каждого набора входных параметров сохраняется результат тестирования. Это позволяет при повторной оптимизации на тех же параметрах брать готовые результаты без повторного вычисления и затрат времени.
Но для некоторых задач – например, при математических вычислениях – может потребоваться проводить расчеты независимо от наличия готовых результатов в кеше оптимизации. В этом случае в файл необходимо включить свойство tester_no_cache. При этом сами результаты тестирования все равно будут сохраняться в кеше, чтобы можно было в тестере стратегий посмотреть все данные по выполненным проходам.