Оптимизация! Поделитесь опытом плз. - страница 3

 
solandr писал (а):
я дал ссылку на предложение Бакеева по сравнению результатов оптимиации на мартингале для понимания того насколько ваш алгоритм может быть заточен под случайную кривую (насколько идея алгоритма жизнеспособна). А дальше вы уже сами решайте станете вы этим заниматься или нет.

что-то Вы на Бакеева подсели:):):) по полной программе:)
мне кажется вполне хватает прогона в тестере на неоптимизируемом "куске" истории.
 
sashken:

что-то Вы на Бакеева подсели:):):) по полной программе:)
мне кажется вполне хватает прогона в тестере на неоптимизируемом "куске" истории.

Результаты прогона на неоптимизируемом участке истории (out-of-sample) могут оказаться случайными. Из-за чего существует 2 возможных проблемных ситуации:
1. Принятие на вооружение сливной стратегии, если она показала прибыль на неоптимизируемом участке истории.
2. Отказ от использования прибыльной стратегии, если она показала просадку на неоптимизируемом участке истории.

Вообще то говоря сама проблема борьбы с подгонкой является пожалуй самой сложной при построении МТС. И просто так дать совет что нужно оптимизировать так-то, а так то не нужно - это всё равно что ткнуть пальцем в небо поскольку точного ответа скорее всего не существует IMHO. Необходимо рассмотреть ВСЕ возможные варианты тестирования стратегии прежде чем она будет поставлена на реальные деньги. Указания на Бакеева я рассматриваю как один из дополнительных вариантов рассмотрения стратегии для использования в торговле. Сам пока что ещё не дошёл до его применения на практике, но запланировал его использование в обозримом будущем. Как говорится просто поделился мыслями с человеком, который пришёл в тупик, в которые заходят ВСЕ экспертописатели независимо от уровня подготовки и мировозрения, когда ставят тестер МТ4 на оптимизацию. Тем более что с появлением генетического алгоритма в тестере возможности подгонки под ЛЮБУЮ кривую только возросли!
 
Vita:
AndyGri:
Разве можно подогнать параметры по такое кол-во сделок и разве может рынок так сразу меняться? Подскажите, как быть а?

Самая простая проверка на "а нет ли подгонки под кривую?" - изменить один-другой параметр на 5-10% и получить плачевные результаты теста. Проверяли?

Нет, но проверю. Спсибо!
 
Reshetov:
AndyGri:
sashken:
А может Вы похвастаетесь? :) И выложите код советника?
Или хотя бы отчеты тестера. Возможно картина прояснится:)

Strategy Tester Report
chas_GBP_TP_TSnorm_SLlowHigh

Символ GBPUSD (Great Britain Pound vs US Dollar)
Период 1 Час (H1) 2006.01.01 23:00 - 2007.03.21 00:00 (2006.01.01 - 2007.03.21)
Модель Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого тика)
Параметры porog=1; MAmor=2; MAtrend=24; risk=0.1; CandleBar=0.55; TP=120; TS=70; SL=54; TimeCH=10; VolP=1.5; t=0; porogSL=10; candle=11; candleEX=17; MAporog=17; DellOrd=23;
Баров в истории 8494 Смоделировано тиков 1576481 Качество моделирования 57.67%
Начальный депозит 1000.00
Чистая прибыль 3745.64 Общая прибыль 7681.59 Общий убыток -3935.95
Прибыльность 1.95 Матожидание выигрыша 25.14
Абсолютная просадка 0.00 Максимальная просадка 384.68 (12.31%) Относительная просадка 12.31% (384.68)
Всего сделок 149 Короткие позиции (% выигравших) 60 (65.00%) Длинные позиции (% выигравших) 89 (75.28%)
Прибыльные сделки (% от всех) 106 (71.14%) Убыточные сделки (% от всех) 43 (28.86%)
Самая большая прибыльная сделка 120.00 убыточная сделка -263.31
Средняя прибыльная сделка 72.47 убыточная сделка -91.53
Максимальное количество непрерывных выигрышей (прибыль) 8 (547.11) непрерывных проигрышей (убыток) 3 (-249.45)
Максимальная непрерывная прибыль (число выигрышей) 635.18 (7) непрерывный убыток (число проигрышей) -263.31 (1)
Средний непрерывный выигрыш 3 непрерывный проигрыш 1

Усе ясно. Тестирование и оптимизация на часиках, а реальный трейдинг 2 раза в 3 дня, т.е. полное несоответствие таймфрейму между тестом и реалом. Ты бы на дневки тесты перевел, всеж ближе к истине. Или, если неудобно выходить по окончанию американки, тогда запускай своего советника в определенный час, но в код добавь:
...
// время запуска советника
extern int hour = 12;

...

int start() {
if (hour != TimeHour(Time[0])) return(0);
// код советника
...
}

И учти, что время заданное в переменной hour, соответствует времени твоего ДЦ, а не времени на твоем компьютере. А посему может быть смещение.

Спасибо за совет. В общем всё начиналось как раз с дневных свечей. .., но в последствии перевёл на часовки, так-как оттуда больше инфы черпается для анализа. В оющем... результаты стабильнее.
 
solandr:
AndyGri:
Выборка большая - под 160-200 выходов в рнынок, и 2 недели - не срок для больших перемен. Разве можно подогнать параметры по такое кол-во сделок и разве может рынок так сразу меняться? Подскажите, как быть а?
160-200 сделок - смеётесь? При наличии 5-7 оптимизируемых параметров легко подгоняются под кривую тысячи сделок (А у вас я так понял внешних параметров для оптимизации целых 16 штук!!! - десятки тысяч сделок будут грамотно подогнаны под ЛЮБУЮ кривую, если у вас есть достаточное количество времени и комп помощнее)! :o) Полюбуйтесь например вот здесь:
https://www.mql5.com/ru/forum/50458 solandr 18.03.06 20:11
Этим детством я занимался год назад. Та система потом успешно сливала в реале (я об этом в той же ветке сообщал позднее где-то в мае 2006г). Идея системы была условно говоря взята с потолка (ловля пиков в шуме). Так что вы не первый кто наступил на грабли подгонки.
В своём первом посте этой ветки solandr 23.03.2007 15:43 я дал ссылку на предложение Бакеева по сравнению результатов оптимиации на мартингале для понимания того насколько ваш алгоритм может быть заточен под случайную кривую (насколько идея алгоритма жизнеспособна). А дальше вы уже сами решайте станете вы этим заниматься или нет.

Спасибо, как раз это я боялся, но хотел услвшать! Интуитивно понимаю, что похоже как раз на этот случай. Но физически ни доказать ни опровергнуит не могу. Но наработанный опыт - лучшее доказательство. Ещё раз - спасибо!
 
Здравствуйте!
Растолкуйте пожалуйста кто может загадку генетического алгоритма.
Вот пример двух запусков оптимизатора:


В обоих случаях оптимизируются одни и те же 2 (два) параметра, в абсолютно одинаковых диапазонах
По первому параметру 11 шагов, по второму 21 шаг - 11х21 = 231.

Первый запуск с отключенным генетическим алгоритмом, второй раз я решил включить генетику.
Откуда взялась цифра 1280 проходов и время 53 прогона минуты?
 

Генетические алгоритмы целесообразно применять когда идёт речь о тысячах прогонах. В вашем же случае 231 - это весьма малое число для генетики. Поэтому может быть что-то сбойнуло при применениии генетического алгоритма для оптимизации при таких маленьких диапазонах прогонов? Более точно могут только сами разработчики ответить на этот вопрос.

 
solandr:

Генетические алгоритмы целесообразно применять когда идёт речь о тысячах прогонах. В вашем же случае 231 - это весьма малое число для генетики. Поэтому может быть что-то сбойнуло при применениии генетического алгоритма для оптимизации при таких маленьких диапазонах прогонов? Более точно могут только сами разработчики ответить на этот вопрос.


Понятно, спасибо!
Я так и подумал, что это какой-то глюк...впрочем легко воспроизводимый.

Теперь, что касается опыта оптимизации.
Оптимизировать сразу все параметры никогда не пытался. Думаю это излишняя трата ресурсов компьютера.
Лучше потратить время, на изучение взаимосвязи параметров и оптимизировать их небольшими связными группами.
У меня их две: одна связана со входом в торги и постановкой ордеров, вторая с выходом из торгов.
Для начала оптимизирую вход, потом выход. Максимальный период оптимизации последние полгода.
После оптимизации прогоняю тест по всему массиву - если криминала нет пускаю параметры в работу.
Если большая просадка на каком-то близком куске - оптимизирую именно на этом периоде (опять же не более полугода).
Опять повторяю прогон по всей базе. И так каждые 2-3 месяца, или чаще, если не нравятся результаты последних торгов.

Не вижу смысла проводить оптимизацию начиная с 19.. года, тогдашний рынок и теперешний - это, как говорится, две большие разницы!

Все сказанное только ИМХО.
 
AndyGri:
Господа, уже начинаю терять веру в советники, или в себя :(. Написал кучу вариантов. В основном по фунту на часовках. Использую мувинги, стохастику и часовой анализ. Использую годовую историю для написания и оптимизации. Советник выходит в рынок в среднем 2 раза за 3 дня. На тестах всё круто. Но!!!... в реале за 2 следующие недели слив... и всё не так :(. Говорить о том, что подогнаны параметры на годовой период, а рынок постоянно и быстро меняется...? да как-то не верится. Выборка большая - под 160-200 выходов в рнынок, и 2 недели - не срок для больших перемен. Разве можно подогнать параметры по такое кол-во сделок и разве может рынок так сразу меняться? Подскажите, как быть а?. Похвастайтесь, если у кого что-то работает - вселите веру. А то совсем уж надежду потерял.

Скажите а результаты на реале и на истории за последние 2 сливных недели совпадают ?  я имею ввиду советник открывает сделки там же где и на историческихз данных ?
 
PSmith:
solandr:

Генетические алгоритмы целесообразно применять когда идёт речь о тысячах прогонах. В вашем же случае 231 - это весьма малое число для генетики. Поэтому может быть что-то сбойнуло при применениии генетического алгоритма для оптимизации при таких маленьких диапазонах прогонов? Более точно могут только сами разработчики ответить на этот вопрос.


Понятно, спасибо!
Я так и подумал, что это какой-то глюк...впрочем легко воспроизводимый.

Теперь, что касается опыта оптимизации.
Оптимизировать сразу все параметры никогда не пытался. Думаю это излишняя трата ресурсов компьютера.
Лучше потратить время, на изучение взаимосвязи параметров и оптимизировать их небольшими связными группами.
У меня их две: одна связана со входом в торги и постановкой ордеров, вторая с выходом из торгов.
Для начала оптимизирую вход, потом выход. Максимальный период оптимизации последние полгода.
После оптимизации прогоняю тест по всему массиву - если криминала нет пускаю параметры в работу.
Если большая просадка на каком-то близком куске - оптимизирую именно на этом периоде (опять же не более полугода).
Опять повторяю прогон по всей базе. И так каждые 2-3 месяца, или чаще, если не нравятся результаты последних торгов.

Не вижу смысла проводить оптимизацию начиная с 19.. года, тогдашний рынок и теперешний - это, как говорится, две большие разницы!

Все сказанное только ИМХО.
Вы говорите о часовом периоде советника? О каком промежутке времени идёт речь, когда упоминаете весь массив? Как ведёт себя советник в разные годы, например в 2004, 2005,2006? Мой советник чередует динамику. То стоит около 0-й прибыли, то зарабатывает (говорю о тестировании на истории). Заранее спасибо за ответ! :)
Причина обращения: