
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MultiTester
fxsaber, 2019.11.13 16:00
Он не позволяет ГА уходить в сторону слабых стат. результатов. Тем самым повышается качество результата и скорость его достижения. А для Validate еще и фильтр от слабых по стат. значимости проходов.
Например, когда перенастройку делаю на основе расчетов за три месяца, то минимальное количество трейдов ставлю > 100. Иначе выше вероятность в ГА нарваться на проход, который дает больше всех профита за счет малого количества удачных (случайных) сделок. Понятно, что такой проход ничего общего не должен иметь с выбором его для дальнейшей торговли.
Возможно, такой метод не очень понравится авторам роботов в Маркете, но это честно. В Validate-методе нет ничего нового, это бородатый walk-forward. Новье - доступность для массового пользователя проверки любого Маркет-советника. Бесплатно - до покупки.
Написать прибыльный советник под Маркет гораздо сложнее, чем конвертировать его под MT4/5 на текущий момент.
Поэтому отсутствие версии советника под одну из платформ косвенно указывает на низкий уровень торговой логики робота.
При рассмотрении Маркет-советника под MT4 должна быть его тезка под MT5. А эту версию можно проверять по реальным тикам через Validate. Поэтому инструментарий в какой-то мере касается и MT4-части Маркета.
Работа эксперта завершилась критической ошибкой на этапе склейки одиночных прогонов.
Без подробностей это бессмысленное сообщение. Вся информация содержится в песочнице в виде файлов в подпапках. Если их передать, то возможно воспроизведение.
Нашлись ошибки в трех файлах ValidateTasks, ValidatePortfolio и ValidateExe.
Там нет ошибок. Соблюдайте инструкцию для компиляции.
И очень неплохо было бы иметь возможность выбирать режим одиночных прогонов, если советник работает только в момент рождения нового бара, нет смысла гонять его по всем тикам. Заранее спасибо.
Одиночные проходы - это очень дешевые по вычислению действия, если сравнивать с Оптимизацией. Пока не вижу необходимости в таком расширении функционала.
На картинке "зарождение" рыночной закономерности.
В кавычках, потому что если строго, то определенная ТС ухватила стабильно что-то на рынке. Возможно, это что-то было и раньше, но конкретная ТС не могла с этим справиться.
Через Validate несколько раз видел, как рождалась закономерность ровно в Новый год, как будто кто-то рубильник включил.
Заставляет задуматься на тему, а стоит ли создавать ТС на "все времена"...
Интерес представляют картинки выключения закономерностей. Из-за вычислительной сложности Validate (много времени уходит) пока даже не искал такие случаи.
Было б здорово видеть по оси X даты, хотя бы опционально.
В каком месте даты? В конце работы, когда все одиночные объединяются, даты видны на штатном графике Тестера. Но лучше всего их рассматривать в HTML-отчете, т.к. там масштабирование через мышку работает.
График, что обновляется во время расчетов - там по абсциссе номера сделок. Не изучал Graphics-библиотеку, поэтому очень примитивно ее использую.
Сейчас, когда нужно посмотреть какой-то участок графика, лезу в песочницу и через IrfanView смотрю все сохраненные графики. Когда нахожу нужный, смотрю на название файла - содержит даты.
В каком месте даты? В конце работы, когда все одиночные объединяются, даты видны на штатном графике Тестера. Но лучше всего их рассматривать в HTML-отчете, т.к. там масштабирование через мышку работает.
На приведенном выше графике общего (склеенного) форвард-теста, вместо номеров (или вместе с ними). Я думал, это и есть из HTML, но раз там есть даты, то вопрос снимается. А можно как-то подсветить границы между шагами?
На приведенном выше графике общего (склеенного) форвард-теста, вместо номеров (или вместе с ними). Я думал, это и есть из HTML, но раз там есть даты, то вопрос снимается. А можно как-то подсветить границы между шагами?
Я в графике полный ноль. Подготовка данных для визуализации - чтение tst-файлов в соответствующей папке. А потом сортировка всего скопа сделок по времени.
Т.е. этот модуль универсальный, не рассчитан специально на то, что tst-файлы не пересекаются по времени.
Наверное, как-то можно обозначить визуально через TesterDeposit/TesterWithdrawal, не возьмусь пока. Все же штука нишевая, исследовательская. Больше в полученных файлах песочницы вожусь, там много и текстовой инфы, плюс импорт opt/tst, чтобы лучше понимать.
Пока не могу сказать, что получил какую-то пользу для себя от результата прогона своих ТС. Нужно анализировать.
Советник во время своей работы подхватывает данные из кешей Тестера - opt-файлы.
В случае, если кеш не обновился, подхват не произойдет. Кеш может не обновиться в случае, если выбран режим полного перебора и все проходы были ранее посчитаны уже.
Поэтому если запускать Validate в режиме полного перебора, то лучше в начале почистить кеш Тестера - удалить [папка Терминала]\Tester\cache\*.opt.
При генетике такой проблемы возникать не должно.
1. Вы пишете, «что исследуемый советник будет Оптимизироваться 28 дней, после чего на лучших настройках торговать 14 дней.» Вопрос: по какому критерию выбираются лучшие настройки?
По критерию, который задан в настройках Тестера.
2.Можно ли критерий лучшие настройки выбрать пользователю?
Критерий выбора возможно задать внутри исходника Validate. Но в общем случае это не будет критерием Оптимизации, который является фитнесс-функцией для Оптимизатора. А вот выбрать из уже имеющихся на основе своего критерия возможно.
Поскольку сохраняются все результаты Оптимизаций, то можно экспериментировать с критериями выбора лучшего прохода без повторных вычислений. Но для этого потребуется несколько дописать Validate. Т.е. техническая реализация возможна.
3.Возможно ли выбрать для теста не одни лучшие настройки, а несколько разных, так сказать получиться срез по роботу. (Есть большая вероятность что ГА находит пик и этот пик в большинстве случаев бывает не устойчив, а если брать срез из нескольких разных настроек, то будет более полная картина по роботу).
Здесь, как написал выше, все сводится к фантазии исследователя. Код не потребует серьезных правок. Сам я запускаю Оптимизацию своих ТС по кастомному критерию (выбираю в Тестере), в котором идет расчет на некоторую стат. значимость.
ЗЫ К сожалению, сам MT5-Тестер не позволяет прописывать кастомный критерий Оптимизации (не выбора) вне исходного кода советников. Хотя нет никаких архитектурных препятствий для этого.