Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот какие первичные результаты:
- я взял наилучшие результаты от 401 прогона и прогнал тест в МТ4 с теми же параметрами
- далее я запустил перебор параметров с генетикой в МТ4 и получил вот такие результаты:
- почему МТ4 вытянул профит на 3600, а TSGO в два раза меньше 1800 ?
Выводы:Что получилось (полные отчеты в приаттаченном архиве StrategyTester_Mak. zip):
Есть серьезные расхождения в сделках - это отдельная тема. Но чистая прибыль $1664 в МТ4 более или менее похожа на чистую прибыль $1884 в Омеге.
Вот какой список результатов (заархивированный отчет в файле OptimizationReport.zip):
МТ4 прошел перерасчет за 3 мин 34 сек, перебрав 15 616 вариантов из 35 млрд возможных:
Должен уточнить, что из 15616 вариантов было 9291 повторяющихся (при скрешивании можно получить повторения) последовательностей, а из оставшихся 6325 было отброшено как бесполезные 1027 проходов. Повторяющиеся последовательности не занимают ресурсов и не требуют повторных перерасчетов, так как берутся из временного кеша. Финальные записи из логов:
2006.10.16 23:40:12 There were 6325 passes done during optimization, 1027 results have been discarded as insignificant
2006.10.16 23:40:12 MACD Sample: optimization stopped, 9291 cache records were used, 9291 cache records rejected
Я думаю, это прямое следствие сверхэкономичного подхода к оптимизации в TSGO, когда во главу угла поставлено снижение проходов. Все очень просто - TSGO провел 1000 проходов, а МТ4 - чистых 6000 (9000 из 15000 были повторными и были пропущены). Кроме того, в отчете TSGO меня сильно заинтересовал оптимизируемый параметр MATrendPeriod, где в 100 лучших вариантах этот параметр намертво залег на значении 100 (несколько раз проскальзывает 97, но это мелочи). Видно, как генетический оптимизатор попал в локальный экстремум и банально не смог оттуда вылезти. Это обычная ситуация в генетическом переборе и прямое следствие загрубления области поиска.
А МТ4 был в тех краях, где обитают такие значения? Да, многократно был и ничего особенного там не нашел:
Кроме математических результатов и отчетов, всегда хочется своими глазами увидеть картину распределения лучших результатов. И МетаТрейдер легко это демонстрирует при режиме визуализации "Двумерная поверхность", где по осям можно выбрать любые оптимизируемые параметры. Например, тут видно, что значение MATrendPeriod в области значений 100 явно хуже, чем значения в 12-14.
- Надо обязательно думать об локальных экстремумах и не делать излишне грубых вариантов поиска. Особенно, когда предоставляете инструмент для неискушенных пользователей, которые не в состоянии детально разобраться в процессах и могут результаты генетического тестера принять за чистую монету.
- На фоне показанного завала в локальный экстремум при 1000 проходах, мысль о 100-200 оценочных прогонах никак не может приниматься серьезно.
- Когда мы выбирали механизм достаточного перебора для своей генетики, то проводили исследования и остановились на такой простой формуле: всегда делаем 30 полных прогонов популяций, а потом в течение последующих 10 полных прогонов популяций дожидаемся гарантированного затухания приращения целевой функции. То есть, если начальная популяция 256, то первый этап - это 256 * 30 = 7680 проходов, затем еще как минимум 256 * 10 = 2560 уточнений и потом уже дополнительно до затухания. Такой избыточный механизм позволяет нам в большинстве случае вылезать из локальных экстремумов.
Возможно, мы делаем переборов чуть больше чем надо, но для обычных пользователей это более или менее гарантированный вариант работы.Спасибо Юрию (Mak) за поднятую тему - очень интересно ее обсуждать + мы ошибки у себя поправили.
Прошу комментировать.
Приведите их, и я проверю в Омеге какие результаты там получатся.
Подозреваю, что есть большая разница в том, что получается при тестировании в двух платформах.
А пока запущу тест в Омеге на много больше 1000 прогонов.
Извините, не указал параметров. Вот они:
TakeProfit=819; Lots=0.6; TrailingStop=248; MACDOpenLevel=8; MACDCloseLevel=8; MATrendPeriod=12;
Параметры можно увидеть во всплывающей подсказке у номера прохода в отчете тестера:Сделал в TSGO 7000 прогонов.
Картинка ниже.
Обратите внимание, на номера прогонов, которые находятся в верхней части популяции.
Лучшим за 7000 прогонов оказался прогон № 618 (т.е. после 700 прогонов уже небыло никаких улучшений)
Прогнал в Омеге ваши лучшие найденные параметры.
Получилось вот что :((
Видимо есть существенная разница в работе систем или тестеров или в данных.
Возможно я не совсем корректно перенес систему в Омегу ...
Тут нельзя перенести один в один, Омега работает по другому.
Но в любом случае ваш выводы о том,
что TSGO не нашел в два раза лучшее решение и застрял в локальном максимуме неверны.
TSGO и не мог найти такую систему, поскольку она в моем тесте с Омегой убыточна.
IBM я взял с яху, мне пришлось самостоятельно просплитовать 4 или 5 раз дробление акций, чтобы получить нормализованные данные. Они полностью совпали с Вашей историей.
Видимо, надо начинать заново.
Да, я заметил, что у Вас позиции открываются там, где им не нужно открываться. Проверьте вручную пять первых сделок - сразу заметите.
IBM я взял с яху, мне пришлось самостоятельно просплитовать 4 или 5 раз дробление акций, чтобы получить нормализованные данные. Они полностью совпали с Вашей историей.
Видимо, надо начинать заново.
Разные тестеры и в общем разные системы ..
Любой генетический алгоритм - это случайный поиск.
От просто случайного поиска генетика отличается тем,
что функция распределения параметров равномерная в простом случайном поиске
в генетике является неравномерной и меняющейся по мере поиска.
Это значительно увеличивает скорость поиска в генетике по сравнению с просто случайным поиском.
В этом смысле все генетические оптимизаторы одинаковы.
Прошу прощения за off-topic, но от непонятных терминов у меня начинается сильная зевота и головная боль. Не могли бы Вы, Renat, в двух словах пояснить, что такое конь в сферическом вакууме и за что его туда посадили?
Тема крайне интересна для меня, так как и сам недавно начал юзать GO для оптимизации собственного эксперта и очень желаю понять пределы применения GO. Только у меня не совсем MACD, а просто два мувинга на основе Zero Lag MA и с двумя гистерезисами ("люфтами" по терминологии статьи 'Генетические алгоритмы в MetaTrader 4. Сравнение с прямым перебором оптимизатора') на вход и выход из позиции. Пока результаты не слишком вдохновляют, но надежда есть. Думаю вскоре дополнить своего эксперта новыми фильтрами. Ну а пока оптимизатор мне нравится...
... что такое конь в сферическом вакууме и за что его туда посадили?
Да, не следует забывать что конь/лошадь в результате эксперимента естественно дохнет. Увы нет ничего идеального в этом мире. :)
P.S. Ну а посадили естественно ради эксперимента. Цель эксперимента не раскрывается, так сказать ноу-хау. :)
"Сферический конь в вакууме" - это идиома, возникшая в сети ФИДО в 90-е годы прошлого столетия. Обозначает труднодостижимые идеальные условия эксперимента или эксплуатации.
Был такой старый анекдот, как одному физику заказали разработать модель скачек, чтобы можно было прогнозировать выигрыш того или иного коня.
А знаете ли вы, что...