Вы написали советник, работающий на M1. Как вы думаете, за сколько лет следует протестировать его в тестере для определения его самых оптимальных параметров? Варианты ответа: - страница 7

 
Nikolai Semko:

Для этого, как минимум существует тестер. Заметьте, что это называется Тестер, а не Оптимизатор.

Хотя многие его используют типа для Оптимизации, прогоняя его многократно с различными параметрами и, таким образом, осуществляя подгон параметров.

А вообще я уже говорил про внутренний оптимизатор советника. У меня даже есть пример реализации внутреннего тестера, но я не хочу нарушать правила форума и давать ссылки на свои продукты из Маркета. :))

Ну, хорошо. Не будем тестер называть оптимизатором, но объясните если не трудно, когда мы запускаем тест в режиме "Fast genetic based algorithm" и получаем результат в виде таблицы многочисленных строк, то как из них выбрать ту комбинацию, который самый оптимальный.

 
Petros Shatakhtsyan:

Ну раз Nikolai так уверено знает что оптимизация это только подгонка, то сначала пусть послушаем и посмотрим что он знает. Он первый начал.  :)

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

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

Поэтому этот вид оптимизации в Тестере я называю самообманом.

И еще. Я говорил про 99%. Значит я все же допускаю, что могут существовать параметры, которые можно реально оптимизировать таким образом. Но их реально очень мало.

В основном же такой "оптимизации" подвергаются параметры типа Period какого-нибудь используемого индикатора, а это - 100% подгонка.

 
Petros Shatakhtsyan:

Ну, хорошо. Не будем тестер называть оптимизатором, но объясните если не трудно, когда мы запускаем тест в режиме "Fast genetic based algorithm" и получаем результат в виде таблицы многочисленных строк, то как из них выбрать ту комбинацию, который самый оптимальный.

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

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

 
Nikolai Semko:


Но вы так и не ответили, каким образом из этих полученных вариантов, выбрать тот, который наилучший.

 
Petros Shatakhtsyan:

Но вы так и не ответили, каким образом из этих полученных вариантов, выбрать тот, который наилучший.

как не ответил?
Я же говорил, что нахождение "оптимального" набора параметров на конкретном участке данных, абсолютно не гарантирует их "оптимальность" в будущем. 
А значит такая оптимальность самообман. 
Но вы реально сможете найти "оптимальный" набор, если у вас будет машина времени и вы скачаете будущие котировки и на них прогоните свою сову.

 
Petros Shatakhtsyan:

Но вы так и не ответили, каким образом из этих полученных вариантов, выбрать тот, который наилучший.

А еще я говорил, что советник не должен содержать параметров, которые отвечают за принятие решения на открытие и закрытие ордеров. Такие параметры должны находится внутри самого советника , т.е. иметь тип "private:" . И самонастраиваться с помощью оптимального алгоритма, а не морочить пользователю голову.

 
Nikolai Semko:

А еще я говорил, что советник не должен содержать параметров, которые отвечают за принятие решения на открытие и закрытие ордеров. Такие параметры должны находится внутри самого советника , т.е. иметь тип "private:" . И самонастраиваться с помощью оптимального алгоритма, а не морочить пользователю голову.

И вы умеете сделать такого алгоритма ?

 
Nikolai Semko:

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

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

А вы слышали что нибудь про ФОРВАРД ТЕСТЫ ? 

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

 
Dmitiry Ananiev:

А вы слышали что нибудь про ФОРВАРД ТЕСТЫ ? 

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

Форвард или бэк тесты, всё это условно и никак не гарантия.

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

Т.е в этих диапазонах советник не сильно зависит от входных параметров. 

 
Nikolai Semko:

как не ответил?
Я же говорил, что нахождение "оптимального" набора параметров на конкретном участке данных, абсолютно не гарантирует их "оптимальность" в будущем. 
А значит такая оптимальность самообман. 
Но вы реально сможете найти "оптимальный" набор, если у вас будет машина времени и вы скачаете будущие котировки и на них прогоните свою сову.

Задача, которую решает робот - это прогнозирование поведения цены на том предположении. что поведение рынка все таки повторяются. например ночью еврокроссы больше склонны к флету ем к тренду. Или в 15:30 повышенная волантильность, потому что выходят новости по Штатам. Иными словами выискивается и используется неэффективость рынка. 

Как пример - анекдот. Покупаем носки в Одессе по 1 рублю, продаем в Москве по 3 рубля. На эти 2% и живем !
Классическая арбитражная схема.