
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что-то вобще непонятно, как передать из оптимизируемого эксперта хотя бы какие-то данные.
В функции OnTesterInit() вызываю Print() - где это сообщение? По идее, эта функция в любом случае должна вызываться, еще до всяких ошибок... А значит, печать сообщения тоже должна быть... Где она?
c:\Users\USERNAME\AppData\Roaming\MetaQuotes\Tester ?
Что-то вобще непонятно, как передать из оптимизируемого эксперта хотя бы какие-то данные.
В функции OnTesterInit() вызываю Print() - где это сообщение? По идее, эта функция в любом случае должна вызываться, еще до всяких ошибок... А значит, печать сообщения тоже должна быть... Где она?
Сообщение будет выведено во вкладке экспертов клиентского терминала. Не в тестерных логах!
Так как копия эксперта с OnTesterInit, OnTesterPass, OnTesterDeinit при старте оптимизации запускается на вновь создаваемом графике в клиентском терминале
Сообщения из OnTesterInit() и OnTesterDeinit() во вкладке "Эксперты".
Сейчас попробовал создавать файл в общей папке из OnTesterDeinit() - работает.
Нифига не понял.
Написал класс, который в своем конструкторе создает файлы в локальной и общей папке. Чтобы файлы создавались при объявлении этих объектов.
Объявил объекты этого класса в функциях OnInit, OnDeinit, OnTesterInit, OnTesterDeinit - вполне ожидаемо при простом запуске появились файлы функций OnInit-Deinit, а при запуске оптимизации - OnTesterInit-OnTesterDeinit... и вместе с тем тут же появились и файлы обработанных данных фреймов... Да ведь не было же их !!!
Magic... не иначе... Ну, запустил "рабочую" оптимизацию... посмотрим, чем закончится.
Тут еще есть один момент - криптовалюты на разных счетах называются по-разному. В одном счету BTCUSD, а в другом BITCOIN. Тут тоже может быть засада, иногда я забываю скорректировать это название, и оптимизация вызывается с несуществующим символом, все аварийно завершается. у меня мелкое подозрение, что проблемы начинаются как раз после таких вот запусков...
Исследую ситуацию дальше.
Нифига не понял.
Написал класс, который в своем конструкторе создает файлы в локальной и общей папке.
Объявил объекты этого класса в функциях OnInit, OnDeinit, OnTesterInit, OnTesterDeinit - вполне ожидаемо при простом запуске появились файлы функций OnInit-Deinit, а при запуске оптимизации - OnTesterInit-OnTesterDeinit... и вместе с тем тут же появились и файлы обработанных данных фреймов... Да ведь не было же их !!!
Magic... не иначе... Ну, запустил "рабочую" оптимизацию... посмотрим, чем закончится.
Тут еще есть один момент - криптовалюты на разных счетах называются по-разному. В одном счету BTCUSD, а в другом BITCOIN. Тут тоже может быть засада, иногда я забываю скорректировать это название, и оптимизация вызывается с несуществующим символом, все аварийно завершается. у меня мелкое подозрение, что проблемы начинаются как раз после таких вот запусков...
Исследую ситуацию дальше.
пусть по разному
сделайте и то и то как два разных инструмента
пусть по разному
сделайте и то и то
Так и есть. При запуске эксперт определяет точное название символа, и использует именно его.
НО.
Для автоматического пакетного запуска MT необходим INI-файл, в котором будет указан символ, на котором надо запускать эксперта. То есть, заранее необходимо написать точное название символа, на котором будет тестироваться эксперт. Вот тут я иногда ошибаюсь, забывая исправить одно название на другое.
И... Ренат, ну не "выкай" мне - вроде ж мы тут коллеги...
Так и есть. При запуске эксперт определяет точное название символа, и использует именно его.
НО.
Для автоматического пакетного запуска MT необходим INI-файл, в котором будет указан символ, на котором надо запускать эксперта. То есть, заранее необходимо написать точное название символа, на котором будет тестироваться эксперт. Вот тут я иногда ошибаюсь, забывая исправить одно название на другое.
И... Ренат, ну не "выкай" мне - вроде ж мы тут коллеги...
каждый эксперт работает на одном же символе?
Взять Symbol() и найти в настройках, которые писаны в единый файл
только пробелы все нужно почикать, иначе не найдет такое слово/столбик.
каждый эксперт работает на одном же символе?
Взять Symbol() и найти в настройках, которые писаны в единый файл
только пробелы все нужно почикать, иначе не найдет такое слово.
Да, на одном. Смотри, какая ситуация.
Сперва формируется список экспертов на переоптимизацию. Одновременно формируются ini-файлы, которые будут переданы терминалу для запусков. Вот, в этих самых файлах и надо указать символ.
Эксперты для оптимизации универсальны для всех символов. Поэтому символ им нужно передавать в виде строки. И вот тут-то и засада. Ini-файлы формируются по результатам "боевых" счетов Лиги (МТ4). А эксперты для оптимизации - работают на других, демо-счетах (МТ5). И название криптовалют там разные. Пока что мне несложно просто вручную переправлять несколько названий в Ini-файлах. Забивать прямо в код принудительное изменение мне кажется неразумным - подозреваю, что скоро названия опять могут измениться.
Так что - пока так.
Ну а при запуске - любой эксперт просматривает список символов, и выбирает одно из двух названий для каждой криптовалюты, проблем тут не возникает.
Да, на одном. Смотри, какая ситуация.
Сперва формируется список экспертов на переоптимизацию. Одновременно формируются ini-файлы, которые будут переданы терминалу для запусков. Вот, в этих самых файлах и надо указать символ.
Эксперты для оптимизации универсальны для всех символов. Поэтому символ им нужно передавать в виде строки. И вот тут-то и засада. Ini-файлы формируются по результатам "боевых" счетов Лиги (МТ4). А эксперты для оптимизации - работают на других, демо-счетах (МТ5). И название криптовалют там разные. Пока что мне несложно просто вручную переправлять несколько названий в Ini-файлах. Забивать прямо в код принудительное изменение мне кажется неразумным - подозреваю, что скоро названия опять могут измениться.
Так что - пока так.
Ну а при запуске - любой эксперт просматривает список символов, и выбирает одно из двух названий для каждой криптовалюты, проблем тут не возникает.
название счета, не номера - название файла, чтобы торговые условия и тип счета учлись
тоже репку чесал над этим
хм...., долго ;)
Объявил объекты этого класса в функциях OnInit, OnDeinit, OnTesterInit, OnTesterDeinit - вполне ожидаемо при простом запуске появились файлы функций OnInit-Deinit, а при запуске оптимизации - OnTesterInit-OnTesterDeinit... и вместе с тем тут же появились и файлы обработанных данных фреймов... Да ведь не было же их !!!
Я и говорю - что-то с кэшированием/отложенной записью.