Критерий автоматического отбора результатов оптимизации. - страница 4

 
LeoV >>:

Согласен. Усложнение не даёт гарантии улучшения результата.

Просто обозначил как вариант решения поставленной задачи, всего лишь.

А основная мысль заключалась в разделении критериев оптимизации на типичные классы (многокритериальная оптимизация) не используя при этом отсеивающих результаты фильтров, так как фильтры могут отсеить перспективные виды ТС. А тупиковые ветки так и так будут отброшены в конце оптимизации, так как будут выбраны только наиболее соответствующие каждому из классов.

 
joo писал(а) >>

Просто обозначил как вариант решения поставленной задачи, всего лишь.

А основная мысль заключалась в разделении критериев оптимизации на типичные классы (многокритериальная оптимизация) не используя при этом отсеивающих результаты фильтров, так как фильтры могут отсеить перспективные виды ТС. А тупиковые ветки так и так будут отброшены в конце оптимизации, так как будут выбраны только наиболее соответствующие каждому из классов.

Теоретически может быть, но практически..... не понятно как это может быть реализуемо на практике, чтобы ещё мозх не закипел при "многокритериальной оптимизации"....)))) и после этого, нужно чтоб ещё силы остались на торговлю.....))))

 
StatBars писал(а) >>...

joo писал(а) >>....

Как это не грустно, но Вы друзья совершенно правы. Простых решений тут нет и быть не может, грустно именно это, а не то что вы оба правы) Я и сам это понимаю, хотя "многокритериальная оптимизация" услышал впервые. Погуглил, да уж интересный темным лес), задача сама по себе сопоставимая с успешным трейдингом.

То что я пытаюсь вывести, это лишь некое приближение для практического повседневного использования, пусть и далекое от теоретического идеала, но все же лучше, чем пользуется подавляющее большинство пользователей тестера/оптимизатора. Корявенький критерий, приведенный мной выше, сочиненный на лету за пару секунд, показывается себя лучше общеиспользуемых критериев оптимизации. Помозговав коллективно можно вывести что-то более разумное. Идея линейного уравнения подкупает, засада с весами, зато критерий получается весьма гибкий, достаточно универсальный, чтобы подходить (при использовании разных весов) разным классам ТС, не так и их много..

Да и не сошелся свет клином на этом критерии, неполучится ничего путного - может, подумав, выработаем технику использования того что есть. Тоже неплохо.

Так что давайте подумаем над задачей с точки зрения практического применения. Нам же не Нобелевка нужна, а инструмент для работы. Задача-то всего ничего: отобрать хороший результат оптимизации), про лучший уже не заикаюсь, понял - не поднять). Можно пойти от противного, подумать над критерием отбраковки заведомо плохих результатов, хотя тож на то и выдет.

 
Figar0 >>:

Согласен, фактор не маловажный. Сможете показать как практически рассчитать, облечь в математическую форму это распределения имея полный результат теста?


Вариант 1 

результаты работы стратегии кумулятивная сумма последних N сделок, должна быть в идеале прямая, или линия очень похожая на нее . Прямую нарисовать просто, возмем линейную регрессию по углу наклона оценим прибыльность . дальше по идее стандарное отклонение как мера риска, имхо расчет дисперсии он правильный если имеем какую колоколобразную симметричную кривую распределения . В противно случае имеем гипотетическое распределение сделок 10,10,10,10,10 и тд . Кум сумма понятно, посчитайте дисперсию на этой прямой, она будет зависеть от угла наклона, длины выборки, а при ломанной еще и от степения рассеивания . Как раз то, что предлогает Шарп, имхо не совсем адекватно .

Я измеряю дисперсию как рассеивание случайной величины, в данном случае результатов сделки на от среднего, а от линии линейной регрессии . Тогда эта хитрая дисперсия на прямой равно 0. Соотв чем прямее кривая тем хитрая дисперсия меньше .

Разделив угол наклона лин регрессии на хитрую дисперсию получим некоторое число характерезующее ТС .

Сравниваемые ТС должны быть калеброваны на одинаковый лот и кол-во последних торговых сделок
Вариант 2

https://www.mql5.com/ru/forum/122464

 
Критерий = Сумма длин отрезков на которых ТС находилась в прибыли деленная на сумму длин отрезков на которых ТС находилась в просадке. Отрезки с прибылью и с просадкой могут пересекаться. Отрезки можно измерять в минутах или в количестве сделок.
 

Figar0, то что вы пытаетесь оценить это робастность и для ее оценки одного комплексного параметра не придумать. Для начала, нужно найти минимальный костяк системы, например сигнал на вход, выход и один фильтр. У всех м.б. параметры, оптимизируем костяк целиком. Он должен быть профитен при максимальном кол-ве сделок и в широком диапазоне параметров, желательно на разных инструментах. Далее идет добавление фильтров под конкретную пару и даже под конкретный кусок истории (возможно они будут переоптимизироваться). Анализируется отдельно изменение результатов в диапазоне изменения параметров для каждого фильтра. Принимается решение о полезности или бесполезности фильтра, по некоторым критериям. Это для сохранения стат. достоверности. Строится конечная система. Система собирается как матрешка, но ядро системы должно быть действительно весьма простым и эффективным с максимальным кол-вом сделок, чтобы была гарантия что оно действительно использует реальное свойство рынка, а не фантом.

Т.е. я думаю, что основа в правильном синтезе ТС и поэтапной оценке (на каждом этапе свои приоритеты и параметры оценки), а не в выборе глобального комплексного параметра оценки ТС в конечной сборке. Для него просто недостаточно информации чтобы он оценил робастность. имхо

 

Я использую один презабавный критерий для оценки результатов эксперта в первом приближении - для отбора среди других вариантов. Помнится, про что-то такое я читал в одном из интервью после какого-то из чемпионатов. Я называю его "качеством эквити" (оценкой "гладкости", если другими словами) - это отношение полученной прибыли (ровным лотом, ессно) к максимальной просадке. Есть не совсем очевидный нюанс - имеет смысл сравнивать только проходы с примерно одинаковым числом сделок, так что "в автомате" его много не наиспользуешь.

Я ещё тут сейчас читаю интересную книжку mehanizator-а (у него в ЖЖ выложен электронный вариант) про создание МТС. Вроде вещи очевидные, но расставляет всё по полочкам. Правда, половина книги - специфика фондового рынка. В эти выходные собираюсь несколько "обточить напильником" одну системку, из последней серии своих экспериментальных экспертов (я их периодически стираю и начинаю отсчёт по новому :) ) - в первую очередь с целью учёбы. Так что я вот подумал, чтобы надо бы предложить народу для более конструктивного обсуждения темы. Система предназначена для EURUSD на D1.

Собственно, предлагаю темы для обсуждения:

1.Является ли она устойчивой (попробуйте погонять - параметры медленно плавают, но продолжают работать из года в год!); 2.Можно ли её заставить работать на кросах и других парах, не являющимися сильно корректированными с EURUSD. (Опять же - является ли она устойчивой, если нет?)

Файлы:
ea19.mq4  3 kb
 
Figar0 >>:

Как это не грустно, но Вы друзья совершенно правы. Простых решений тут нет и быть не может, грустно именно это, а не то что вы оба правы) Я и сам это понимаю, хотя "многокритериальная оптимизация" услышал впервые. Погуглил, да уж интересный темным лес), задача сама по себе сопоставимая с успешным трейдингом.

То что я пытаюсь вывести, это лишь некое приближение для практического повседневного использования, пусть и далекое от теоретического идеала, но все же лучше, чем пользуется подавляющее большинство пользователей тестера/оптимизатора. Корявенький критерий, приведенный мной выше, сочиненный на лету за пару секунд, показывается себя лучше общеиспользуемых критериев оптимизации. Помозговав коллективно можно вывести что-то более разумное. Идея линейного уравнения подкупает, засада с весами, зато критерий получается весьма гибкий, достаточно универсальный, чтобы подходить (при использовании разных весов) разным классам ТС, не так и их много..

Да и не сошелся свет клином на этом критерии, неполучится ничего путного - может, подумав, выработаем технику использования того что есть. Тоже неплохо.

Так что давайте подумаем над задачей с точки зрения практического применения. Нам же не Нобелевка нужна, а инструмент для работы. Задача-то всего ничего: отобрать хороший результат оптимизации), про лучший уже не заикаюсь, понял - не поднять). Можно пойти от противного, подумать над критерием отбраковки заведомо плохих результатов, хотя тож на то и выдет.

Если хотите что попроще, но лучше того что имеется используйте лин.уравнение с весами для критериев оценки.

Забыл ещё один критерий подсказать - симметричность системы, чтобы под тренды не подгоняться можно ввести несколько таких критериев, конечно лучше один вывести. Просто разница между сделками на BUY и SELL делённая на общее количество сделок - критерий нужно минимизировать (делить на самом деле не обязательно). Этот критерий может не для всех систем подойти, тк видел системы только продающие, но успешно работающие.

Кстати, я смотрю, народ не совсем понимает, что основная сложность не оценочные параметры придумать(их как раз очень много), а в том, чтобы придумать способ как их свести вместе, т.е. имеется 1000 проходов, мы имеем на каждый проход несколько показателей, как по этим нескольким показателям выбрать лучшую стратегию? или 5 лучших стратегий?

 

Azzx,

Интересно, сколько ордеров на самом деле будут закрыты с профитом на реале?

      if(OrderProfit() > 0)
close_order(OrderTicket());
 
StatBars >>:

т.е. имеется 1000 проходов, мы имеем на каждый проход несколько показателей, как по этим нескольким показателям выбрать лучшую стратегию? или 5 лучших стратегий?

Можно эти несколько показателей нормировать, и подать на вход НС или комитету НС. На выход –прибыль на OOS.

Причина обращения: