Приоритетность параметров, при оптимизации советника

 

Здравствуйте, уважаемые форумчане.

В различных темах, не раз видел тезис: при оптимизации советника, параметров должно быть как можно меньше (много кто говорит, что в идеале вообще 2-4, не более), иначе вероятность т.н. "подгонки" (переоптимизации) - резко возрастает.

Если никак не получается "ужать" количество параметров до 2-4шт., предлагается их разделить по "степени важности", и оптимизировать группами, от большего к меньшему.

Но вот у меня несколько вопросов:

2-4 параметра - это же совсем простенький советник. Например у меня есть эксперт торгующий по четырем индикаторам, а именно:

а) Две скользящих средних (отслеживает пересечение)

б) RSI - как фильтр сигналов МА. У RSI, помимо периода, есть еще параметр "уровня" (выше/ниже какого значения подавать сигнал).

в) ATR - для расчета TP, SL, TS и сетки (расстояния) ордеров в одном из вариантов набора.

+ сами еще значения TP, SL, TS (вне зависимости считать их по ATR или выставлять фиксированными, ведь фиксированные значения тоже надо высчитать).

и вот получается, по самому минимуму - выходит ДЕВЯТЬ параметров (тип MA, период 1 МА, период 2 МА, период RSI, уровень RSI, период ATR, + собственно TP, SL, TS).

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

Допустим период ATR и RSI можно "усреднить" (не сильно важные параметры). Все равно еще семь остается. А если добавить переменный таймфрейм? А если вшить "неторговые" периоды (временные промежутки).


Значит вопрос №1: как разделять параметры по группам? Какие из них "более" важные, а какие "менее" важные?

Вопрос №2: Получается советник с "большим" набором параметров "обречен" на подгонку/переоптимизацию? или же можно выбрать какой-нибудь период на истории, чтобы хотя бы попытаться избежать подобного итога?

Заранее благодарю откликнувшихся...

 
Приветствую, перечисленные Вами индикаторы являются различным способом усреднения цены с постоянным периодом усреднения. Различие этих индикаторов заключается в способе представления информации, но по своей сути - это усреднение. А у движения цены размер её волн и интервал времени между волнами всегда меняется, то есть переменные. Подбирая линии усреднения, мы всё лучше описываем исследуемый участок, и полностью теряем возможность прогноза, потому что свойства движения цены меняются.

Усреднение - это характеристика цены с задержкой на свой период усреднения. Смысл ждать задержку, когда экстремумы цены видны сразу, без задержки? Да мы не знаем, это конечная точка экстремума или нет, но он уже есть и его можно сравнивать с предыдущими.
 
Можно разделить все параметры на две условные группы: главная - генератор сигнала, второстепенная - его фильтры. Генератор сигнала содержит небольшое количество параметров, но их изменение значительно влияет на прибыльность системы, фильтры - напротив содержат больше параметров с меньшим вкладом каждого в прибыльность системы. Например, если в Вашем случае пересечение 2х МА - это генератор сигнала, то в первую очередь нужно крутить их периоды, до выхода прибыльности советника на устойчивое "плоскогорье", при этом отключив фильтры, или при невозможности отключить, задать им постоянные вменяемые значения. Затем настраивать фильтры.
 
Aleksei Stepanenko #:
Можно разделить все параметры на две условные группы: главная - генератор сигнала, второстепенная - его фильтры. Генератор сигнала содержит небольшое количество параметров, но их изменение значительно влияет на прибыльность системы, фильтры - напротив содержат больше параметров с меньшим вкладом каждого в прибыльность системы. Например, если в Вашем случае пересечение 2х МА - это генератор сигнала, то в первую очередь нужно крутить их периоды, до выхода прибыльности советника на устойчивое "плоскогорье", при этом отключив фильтры, или при невозможности отключить, задать им постоянные вменяемые значения. Затем настраивать фильтры.

Примерно понятно. А группу TP, SL,TS - куда отнести? в "генераторы" или в "фильтры"?

Вроде бы с одной стороны - совсем их отключать (особенно SL) уж точно не вариант.

А с другой стороны "вменяемое значение" - оно какое? В отличие от условного RSI c его 7, 14, 28, тут разбег то поболее будет. В зависимости от пары, от таймфрейма, от сессии в конце концов...

А и даже если "угадал", и сумел вычислить "соптимизировать" значение SL "без фильтров", только с упором на 2MA, как знать, может с фильтрами и другое значение обеспечило бы кратно большую прибыль?...

Вот так и выходит, что каких-то однозначно "ненужных/неважных" параметров - нет.

Убираешь одно - оно тянет за собой другое, и влияет на третье...

и все вместе - донельзя искажает стратегию в целом... А если так - то можно ли доверять по итогу полученным результатам (и советнику в целом) больше, чем если бы оптимизировалось все и сразу?..

Вот и сижу в раздумьях..

 

Ну как сказать, тут перед нами многомерное "поле" из дискретных значений с проклятьем размерности. На этом (или в этом, не знаю как правильно) поле множество локальных максимумов и минимумов. И для каждого будет своя стратегия, свои параметры. И на исследование всего не хватит времени жизни. Мы можем принять что-то за данность усилием воли, чтобы оттолкнутся от неё. Конечно, это будет субъективностью.

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

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

А для стопа вменяемое значение  - это максимальный размер волны, в пределах которой Вы планируете взять прибыль. Профит старайтесь взять сами по условиям, а трейлинг не улучшает прибыльности, потому что валютный рынок зашумлён, и Вы возьмёте больше закрывая на пике, чем по тралу на откате.
 
AltAndGen:

Если никак не получается "ужать" количество параметров до 2-4шт., предлагается их разделить по "степени важности", и оптимизировать группами, от большего к меньшему.

...

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

Оценка и выбор переменных для моделей машинного обучения
Оценка и выбор переменных для моделей машинного обучения
  • www.mql5.com
В статье будут рассмотрены особенности выбора, предподготовки и оценки входных переменных (предикторов) для использования в моделях машинного обучения. Будут рассмотрены новые подходы и возможности по глубокому анализу предикторов, их влияние на возможное переобучение моделей. От результата этого этапа работы во многом зависит общий результат использования моделей. Будут рассмотрены два пакета, предлагающие новый и оригинальный подход к выбору предикторов.
 
AltAndGen:

Вопрос №2: Получается советник с "большим" набором параметров "обречен" на подгонку/переоптимизацию? или же можно выбрать какой-нибудь период на истории, чтобы хотя бы попытаться избежать подобного итога?

Оптимизация = подгонка, не зависимо от количества оптимизируемых параметров.

Переоптимизация, термин из машинного обучения и вашему советнику никак не угрожает.

Поищите лучше темы про форвард период. Форвард проход, позволяет немного оценить робастость ТС.

Более мусорной темы, чем тема про МО, на форуме нет.

 
AltAndGen:

Здравствуйте, уважаемые форумчане.

В различных темах, не раз видел тезис: при оптимизации советника, параметров должно быть как можно меньше (много кто говорит, что в идеале вообще 2-4, не более), иначе вероятность т.н. "подгонки" (переоптимизации) - резко возрастает.

Если никак не получается "ужать" количество параметров до 2-4шт., предлагается их разделить по "степени важности", и оптимизировать группами, от большего к меньшему.

Но вот у меня несколько вопросов:

2-4 параметра - это же совсем простенький советник. Например у меня есть эксперт торгующий по четырем индикаторам, а именно:

а) Две скользящих средних (отслеживает пересечение)

б) RSI - как фильтр сигналов МА. У RSI, помимо периода, есть еще параметр "уровня" (выше/ниже какого значения подавать сигнал).

в) ATR - для расчета TP, SL, TS и сетки (расстояния) ордеров в одном из вариантов набора.

+ сами еще значения TP, SL, TS (вне зависимости считать их по ATR или выставлять фиксированными, ведь фиксированные значения тоже надо высчитать).

и вот получается, по самому минимуму - выходит ДЕВЯТЬ параметров (тип MA, период 1 МА, период 2 МА, период RSI, уровень RSI, период ATR, + собственно TP, SL, TS).

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

Допустим период ATR и RSI можно "усреднить" (не сильно важные параметры). Все равно еще семь остается. А если добавить переменный таймфрейм? А если вшить "неторговые" периоды (временные промежутки).


Значит вопрос №1: как разделять параметры по группам? Какие из них "более" важные, а какие "менее" важные?

Вопрос №2: Получается советник с "большим" набором параметров "обречен" на подгонку/переоптимизацию? или же можно выбрать какой-нибудь период на истории, чтобы хотя бы попытаться избежать подобного итога?

Заранее благодарю откликнувшихся...

Критерий важности параметра — насколько сильно он влияет на общую логику торговли.

Группировка параметров (от наиболее важных к наименее важным):

1. Ядро стратегии (главные фильтры входа/выхода)  
   - Периоды двух MA (если это основа стратегии)  
   - Уровень RSI (если он критичен для фильтрации сигналов)  
   - Тип MA (если сильно меняет характер сигналов)  

2. Управление рисками и размером позиции  
   - Способ расчёта SL/TP (фиксированный или через ATR)  
   - Коэффициент для ATR (если SL/TP = ATR * множитель)  
   - Размер лота или риск на сделку   

3. Дополнительные фильтры (те, без которых стратегия может работать, но с ними — лучше)  
   - Период RSI (если он второстепенный)  
   - Период ATR (если он не критичен, можно взять усреднённое значение)  
   - Временные фильтры (торговые часы)  

4. Технические настройки (не влияют на логику, но могут улучшить исполнение)  
   - Таймфрейм (если стратегия мультитаймфреймовая)  
   - Сдвиги индикаторов (если используются)  

 
AltAndGen:
Получается советник с "большим" набором параметров "обречен" на подгонку/переоптимизацию? или же можно выбрать какой-нибудь период на истории, чтобы хотя бы попытаться избежать подобного итога?

Как снизить риск переоптимизации?

  1. Оптимизация группами

    • Сначала оптимизируем только ядро (MA, RSI).

    • Затем добавляем управление рисками (ATR, SL/TP).

    • В последнюю очередь — дополнительные фильтры.

  2. Тест на разных участках истории

    • In-sample (оптимизация): 50-70% данных.

    • Out-of-sample (проверка): 30-50% данных (никогда не участвовали в оптимизации).

    • Форвард-тест (проверка в реальном времени): 1-3 месяца.

  3. Критерии устойчивости

    • Если после оптимизации на одном участке, стратегия проваливается на другом — это переоптимизация.

    • Если прибыльность сохраняется на OOS и форварде — параметры устойчивы.

  4. Упрощение модели

    • Можно зафиксировать менее важные параметры (например, период ATR = 14, RSI = 30/70).

    • Использовать менее чувствительные настройки (например, большие периоды MA).