Какие есть идеи по поводу автоматического выбора диапазона параметров и шага для оптимизации советника.
Какие есть идеи по поводу автоматического выбора диапазона параметров и шага для оптимизации советника ...
Как я понимаю, это всё должно решаться в процессе той же оптимизации. Поскольку о параметрах тебе ничего не известно, то изначально предполагаешь их диапазон максимально возможный для каждого типа переменной. А потом по ходу пьесы определяешь наиболее эффективные их границы, соответственно сужая коридор поиска. Т.е. по сути нет смысла ставить отдельную задачу нахождения диапазона. Просто сам алгоритм оптимизации должен быть продвинутым, исследовать влияние каждого параметра и подстраиваться под это. Ну это так, общий рецепт.
Какие есть идеи по поводу автоматического выбора диапазона параметров и шага для оптимизации советника. Предположим, что нам не известен принцип работы советника, как можно в автоматическом режиме выбрать диапазоны параметров для оптимизации советника. Интересует не сам способ реализации в терминале, а только алгоритм/принцип.
Основные особенности и ограничения задачи:
- есть параметры, при которых алгоритм анализа рынка в советнике выдаёт один и тот же ответ на протяжении всей истории, например, всегда отвечает утвердительно на вопрос, входить в рынок или нет;
- тейкпрофит или стоплосс может быть очень большим, что практически аналогично отсутствию их, или вообще не реагировать на изменение параметров;
- целые числа используются пока только в качестве индекса таймсерии при доступе к значениям индикаторов, максимальный "взгляд" в историю ограничен, поэтому тут всё понятно с диапазонами и шагом;
Или можно представить задачу в более расширенном виде. Стратегия в советнике состоит из определённых функций, которые между собой связаны, имеется доступ ко всем функциям и информации о связях между ними. Функции могут связываться с другими функциями, индикаторами и константами. Константы являются оптимизируемые параметры. Вопрос тот же, как определить в автоматическом режиме диапазон и шаг оптимизации параметров.
Напоминаю, интересуют идеи по поводу алгоритма решения задачи поиска диапазона и шага без конкретной реализации этого в терминале и подобных ему.
Жду интересные идеи, возможно они помогут взглянуть на задачу под другим углом, что может упростить её).
есть ещё нюанс на который многие(да почти все) наступают - величина периода оптимизации/тестирования. Чтобы получать более-менее достоверные результаты он должен быть не менее 10*произведение макс.периодов идикаторов. Это весьма большая величина, например если эксперт на минутках использует только Awessome Oscillator и CCI со стандартным периодом 13, выйдет 10*5*34*13=22100 минуток то есть почти месяц. И это всего два краткопериодных. Если добавите трендовую SMA с периодом 200, то дай бог чтобы хватило закаченной истории для прогонов :-)
Какие есть идеи по поводу автоматического выбора диапазона параметров и шага для оптимизации советника. Предположим, что нам не известен принцип работы советника, как можно в автоматическом режиме выбрать диапазоны параметров для оптимизации советника. Интересует не сам способ реализации в терминале, а только алгоритм/принцип.
Основные особенности и ограничения задачи:
- есть параметры, при которых алгоритм анализа рынка в советнике выдаёт один и тот же ответ на протяжении всей истории, например, всегда отвечает утвердительно на вопрос, входить в рынок или нет;
- тейкпрофит или стоплосс может быть очень большим, что практически аналогично отсутствию их, или вообще не реагировать на изменение параметров;
- целые числа используются пока только в качестве индекса таймсерии при доступе к значениям индикаторов, максимальный "взгляд" в историю ограничен, поэтому тут всё понятно с диапазонами и шагом;
Или можно представить задачу в более расширенном виде. Стратегия в советнике состоит из определённых функций, которые между собой связаны, имеется доступ ко всем функциям и информации о связях между ними. Функции могут связываться с другими функциями, индикаторами и константами. Константы являются оптимизируемые параметры. Вопрос тот же, как определить в автоматическом режиме диапазон и шаг оптимизации параметров.
Напоминаю, интересуют идеи по поводу алгоритма решения задачи поиска диапазона и шага без конкретной реализации этого в терминале и подобных ему.
Жду интересные идеи, возможно они помогут взглянуть на задачу под другим углом, что может упростить её).
Мне кажется искомые диапазоны можно найти многомерной оптимизацией.
Допустим нужно найти максимальный профит при параметрах х1, х2, х3, ...хn.
Применяем метод координатного спуска. Сначало диапазоны максимальны. Ищем максимум поочередно.
Сначало ищем значение х1 при котором профит максимален, а остальные параметры зафиксированы = константе . Получается задача поиска максимума функции с одной переменной, которую можно решить методом поразрядного приближения уменьшая шаг по мере приближения к решению.
Затем ищем значения х2, подставляя найденный х1 и фиксированные хn и т.д
Мы нашли значения х1,х2,...хn . Вот относительно их и можно задавать диапазоны . При этом могут помочь выявленные в ходе многомерной и одномерной оптимизации наиболее эффективные диапазоны и шаги приближения к решению по каждому параметру.
Если значения напоминают гауссово по распределению, то находим область, близкую к вершине и постепенно отбрасываем невстречающиеся минимумы до какого-то предела, одновременно увеличивая шаг или даже осталяя его прежним, т.о. уменьшая общее количество проходов.
Мне кажется искомые диапазоны можно найти многомерной оптимизацией.
Допустим нужно найти максимальный профит при параметрах х1, х2, х3, ...хn.
Применяем метод координатного спуска. Сначало диапазоны максимальны. Ищем максимум поочередно.
Сначало ищем значение х1 при котором профит максимален, а остальные параметры зафиксированы = константе . Получается задача поиска максимума функции с одной переменной, которую можно решить методом поразрядного приближения уменьшая шаг по мере приближения к решению.
Затем ищем значения х2, подставляя найденный х1 и фиксированные хn и т.д
Мы нашли значения х1,х2,...хn . Вот относительно их и можно задавать диапазоны . При этом могут помочь выявленные в ходе многомерной и одномерной оптимизации наиболее эффективные диапазоны и шаги приближения к решению по каждому параметру.
Как я понимаю, это всё должно решаться в процессе той же оптимизации. Поскольку о параметрах тебе ничего не известно, то изначально предполагаешь их диапазон максимально возможный для каждого типа переменной. А потом по ходу пьесы определяешь наиболее эффективные их границы, соответственно сужая коридор поиска. Т.е. по сути нет смысла ставить отдельную задачу нахождения диапазона. Просто сам алгоритм оптимизации должен быть продвинутым, исследовать влияние каждого параметра и подстраиваться под это. Ну это так, общий рецепт.
есть ещё нюанс на который многие(да почти все) наступают - величина периода оптимизации/тестирования. Чтобы получать более-менее достоверные результаты он должен быть не менее 10*произведение макс.периодов идикаторов. Это весьма большая величина, например если эксперт на минутках использует только Awessome Oscillator и CCI со стандартным периодом 13, выйдет 10*5*34*13=22100 минуток то есть почти месяц. И это всего два краткопериодных. Если добавите трендовую SMA с периодом 200, то дай бог чтобы хватило закаченной истории для прогонов :-)
может (и будет) сбоить если оптимумов больше 1-го. При большом числе параметров и их макс.диапазонах это почти всегда. Тут первым шагом или полностью строить DecisionCube (то есть пройти по всем параметрам с шагом скажем 1/10) или методы МонтеКарло, то есть более-менее лоцировать области в которые потом спускаться.
L Да можно хоть полным перебором , если ресурсы и время позволяет. Просто по координатному спуску можно ранжировать по очереди параметры и скорость на порядки больше. Да и тут есть возможные подвохи. Можно пропустиь какой то локальный оптимум по какой то переменной.
Но топикстартер, как я понял, ставит задачу поиска диапазона не зондируя почву, или взяв пробы на ограниченном участке.
Можно обойтись и без математики, а обычным генетическим алгоритмом. В качестве целевой функции берём максимум/минимум какого-то параметра. Итого нужно будет провести 2xN таких оптимизаций (где N - количество параметров)
можно, но (по крайней мере) на 4-ке генетика как-то неравномерно по периоду работает..подгоняет к началу/концу и потом при тесте это на графике видно - рост,плато/просадка, снова рост..и отсюда приходится гонять back/forward чтобы проверить её результаты
PS/ получилось ответить на едва мелькнушее и сразу удалённое сообщение :-)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Какие есть идеи по поводу автоматического выбора диапазона параметров и шага для оптимизации советника. Предположим, что нам не известен принцип работы советника, как можно в автоматическом режиме выбрать диапазоны параметров для оптимизации советника. Интересует не сам способ реализации в терминале, а только алгоритм/принцип.
Основные особенности и ограничения задачи:
Или можно представить задачу в более расширенном виде. Стратегия в советнике состоит из определённых функций, которые между собой связаны, имеется доступ ко всем функциям и информации о связях между ними. Функции могут связываться с другими функциями, индикаторами и константами. Константы являются оптимизируемые параметры. Вопрос тот же, как определить в автоматическом режиме диапазон и шаг оптимизации параметров.
Напоминаю, интересуют идеи по поводу алгоритма решения задачи поиска диапазона и шага без конкретной реализации этого в терминале и подобных ему.
Жду интересные идеи, возможно они помогут взглянуть на задачу под другим углом, что может упростить её).