OnTesterDeinit отладить через дебагер не получится. Однако, фреймы после оптимизации должны быть доступны и из других программ. Поэтому можно часть подозрительного кода OnTesterDeinit поместить в OnStart другого скрипта и отладить по классике.
Вот, чувствую, так делать и придётся. Не думал, что фреймы доступны из других программ. Благодарю за быстрый ответ, fxsaber.
Чуть позже попробую.
Нет, похоже, всё не так просто...
Сразу после оптимизации сам оптимизируемый эксперт написал, что фреймы есть, верное количество - в функции OnTesterDeinit() фреймы подсчитываются через FrameFirst()-FrameNext().
Но после этого запуск скрипта, собирающего фреймы, показал совсем другое - функция FrameFirst() прошла безошибочно, а вот вызванная далее функция FrameNext() возвратила код ошибки 4000, который даже не описан в списке кодов!
после этого запуск скрипта, собирающего фреймы, показал совсем другое - функция FrameFirst() прошла безошибочно, а вот вызванная далее функция FrameNext() возвратила код ошибки 4000, который даже не описан в списке кодов!
Тогда после оптимизации перезагрузить Терминал - станет доступен для чтения mqd-файл фреймов. После чего получить фреймы через одноименную библиотеку, что выкладывал.
Тогда после оптимизации перезагрузить Терминал - станет доступен для чтения mqd-файл фреймов. После чего получить фреймы через одноименную библиотеку, что выкладывал.
Да, остаётся только прямое чтение mqd-файла... Эх... Сложную обработку в функции OnTesterDeinit() сделать невозможно...
Почему невозможно?
Возможно, просто вам нужно найти способ, как определить, где у Вас ошибка.
Если не получается под отладчиком, выводите данные в журнал.
Да, можно и так.
Все-таки непонятно, что за ошибка после вызова FrameNext() - код 4000 ?
Ау, админы, что это за ошибка?
В принципе, похоже на ошибку "больше фреймов нет". Но, хотелось бы четко это понимать.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всех приветствую.
У меня в функции OnTesterDeinit() собираются фреймы тестирования, и производится предварительный отбор параметров. Возникло подозрение, что у меня там может возникать ошибка. Хорошо бы пройтись под отладчиком. Как это сделать?
То есть, надо запустить, скажем, "полную оптимизацию" на десятке проходов, а потом - посмотреть, как собирается десять фреймов, и проверить возможность ошибки.
Такое ощущение, что я это когда-то делал, но сейчас не могу запустить... Даже функция OnTesterPass() не вызывается. Как пройти в отладчике сбор фреймов в функции OnTesterDeinit?