
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Vita, дельное замечание. Но я бы сказал, что способность к генерализации - это свойство не только советника, но и алгоритма обучения, который эту способность должен правильно выявлять. Алгоритм метаквотов такую способность не выявляет, а губит на корню переоптимизацией.
Алгоритм метаквотов такую способность не выявляет, а губит на корню переоптимизацией. -- Хотел бы увидеть пример.
Примеров хоть отбавляй. Я нечетко выразился. Имелось в виду, что необдуманное применение оптимизатора а ля "раз, два, три!" приводит к излишнему и необоснованному оптимизму граалеписателей. Например, из последних - 'Forex движется против нас? Или я что-то не понимаю' . Или 'Трендовый советник (эксперт). Жду отзывов.' . Это же всё подгонки.
Насчет "губит на корню": вероятность того, что предельный курвафиттинг на одном отрезке данных приведет к устойчивой прибыльности на реале, на отрезке out-of-sample, чрезвычайно низка. Оптимум - где-то посередине между сверхприбыльностью и безубыточностью, что и заложено в алгоритме обучения НС.
Скажи, пожалуйста, Vita, дает ли наш генетический оптимизатор в чистом виде хоть какие-то гарантии прибыльности советника в будущем - даже при суперпуперприбыльности на участке тестирования/оптимизации? Я не говорю о тестере, тестер-то как раз хорош.
P.S. Наконец-то нашел одно из самых первых упоминаний MQ о генетическом оптимизаторе: https://www.mql5.com/ru/forum/50805 . См. сообщение Filin и ответ Slawa. Из ответа видно, что оптимизатор полезен только для грубой оценки возможностей советника и не более того. Большинство же граалеписателей используют его в качестве первого и единственного инструмента "полного" тестирования советников. Вот это и есть дилетантский подход к делу, благодаря которому и появляются ложные иллюзии. На самом деле подобный инструмент, предназначенный только для грубой оценки, по закону подлости, годится только для отбраковки явно плохих советнечгов в случае явно негативного результата - но не для позитивного вывода о ценности советника...
Mathemat писал (а):
Примеров хоть отбавляй. Я нечетко выразился. Имелось в виду, что необдуманное применение оптимизатора а ля "раз, два, три!" приводит к излишнему и необоснованному оптимизму граалеписателей. Например, из последних - 'Forex движется против нас? Или я что-то не понимаю' . Или 'Трендовый советник (эксперт). Жду отзывов.' . Это же всё подгонки.
--> Посудите сами, представим, что создан "умный" оптимизатор, который может точно сказать: "Вот вам оптимальный набор рабочих параметров. Зуб даю, никакой подгонки!" или "Не, ребята, для этого советника подобрать рабочие параметры, а не просто подогнать под кривую, я никак не могу." Вот бы времена настали! Оптимизатор сертифицирующий стратегии заложенные в советниках! В свободном доступе от метаквотов! Класс! Очень хочу.
--> "Оптимум - где-то посередине" - интуитивное понимание, являющееся следствием того, что "граали" заоптимизированные до упора гарантировано сливают в будущем, поэтому оптимизировать до упора не стоит, или что "истина где-то рядом", или типа того. Это чувство никак не соотносится с реальностью. Закономерность может быть заоптимизирована до самого предела и только там она проявит себя во всей красе. Отсутствие закономерности сколько ни крути - толку не будет, а вот чувство, что оптимум где-то посередине, при этом развить можно.
--> нет, и требовать таких гарнатий от результатов оптимизатора, считаю неуместным. См. выше про "умный", дающий гарантии, оптимизатор.
P.S. Наконец-то нашел одно из самых первых упоминаний MQ о генетическом оптимизаторе:
https://www.mql5.com/ru/forum/50805
. См. сообщение Filin и ответ Slawa. Из ответа видно, что оптимизатор полезен только для грубой оценки возможностей советника и не более того. Большинство же граалеписателей используют его в качестве первого и единственного инструмента "полного" тестирования советников. Вот это и есть дилетантский подход к делу, благодаря которому и появляются ложные иллюзии. На самом деле подобный инструмент, предназначенный только для грубой оценки, по закону подлости, годится только для отбраковки явно плохих советнечгов в случае явно негативного результата - но не для позитивного вывода о ценности советника...
-->"оптимизатор полезен только для грубой оценки возможностей советника" - снова претензии к оптимизатору, неспособному точно оценивать возможности советника, а по сути сертифицировать стратегии, заложенные в советниках. Останется только создать робота, генерирующего стратегии, подавать их на вход оптимизатору, получать заключение о пригодности, и вперед, к гарантированному кошению бабок. Как тебе эта иллюзия?
Иллюзия - супер, но только иллюзия. Но кардинально улучшить применение того, что имеем (тестера/оптимизатора), вполне возможно имеющимися средствами MQL4. Иначе так и будем раз в три дня видеть суперрубщики с одними только результатами подгонки, выдаваемыми за нормальное тестирование...
А претензий к метаквотам у меня нет: оптимизатор делает в точности то, для чего и был заявлен, т.е. именно генетическую оптимизацию в пространстве параметров советника, а фактически - curve fitting.
Есть пожелание к тестеру: неплохо бы иметь штатную функцию вроде test(), в которой явно указывались бы все нужные параметры, включая и имя файла истории, на котором все тестируется. Жесткая привязка имени файла к его содержимому - недостаточно гибкое решение.
Добрый день всем.
После оптимизации советника нам приходится зачастую занудливо прогонять вне выборки не один десяток предложенных оптимизатором наборов параметров.
Появилась мысль по оптимизации экспертов вне выборки. Предположим, мы "зарядили" советника на оптимизацию по ряду параметров. Задали дату. Например с 1 янв. 2006 по первое января 2007г.
Получили несколько тысяч выриантов. После чего, сохраняем страничку РЕЗУЛЬТАТЫ ОПТИМИЗАЦИИ в виде отдельного файла. Далее задаем для оптимизации след. период истории, т.е. прибавляем месяц или два или сколько надо.
Т.е. в нашем случае, ставим например с 1 янв. 2007г. по 1 июня 2007г. И опять включаем оптимизацию. Точнее это будет не совсем оптимизация. Оптимизатор должен брать параметры не в СВОЙСТВАХ ЭКСПЕРТА, а ПЕРЕбрать по очереди наборы параметров из того файла, что мы сохранили после первой оптимизации. После этой второй оптимизации у нас остаются лишь те вАрианты, которые дали прибыль вне выборки!
В результате, в идеале, мы получаем "идеальные параметры" для последующей работы и тестирования в онлайне!
Думаю, что это будет полезная добавка к тестеру мт4. Возможно, и скорее всего, где-то кем-то такое уже реализовано. Если кто знает, - прошу поделиться ссылкой!
Я же в силу скромных знаний пока не соображу, - как подойти к практической реализации идеи.
Наверняка, уже есть практическое воплощение данного алгоритма... На форуме нашел только его производные... Например, 'Как реализовать свой критерий оптимизации'...
Хочу поделится своим решением данной задачи....
Подготовим советник... Допишем внешние параметры...
В функцию init() вставим следующий блок....
Parametr1, Parametr2, Parametr3 - внешние параметры советника, которые необходимо оптимизировать....
Вот собственно и все...
Наверняка, уже есть практическое воплощение данного алгоритма... На форуме нашел только его производные... Например, 'Как реализовать свой критерий оптимизации'...
Хочу поделится своим решением данной задачи....
Посмотри статьи Николая Косицина, например эту 'Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Продолжение)'
Как это работает?
На временном промежутке А проводим обычную оптимизацию параметров (Counter=0)...
Полученные результаты перебрасывваем в эксель...Теперь наша задача сформировать файл с оптимизируемыми параметрами и записать его в каталог ...\tester\files
В экселе выделяем столбцы с нашими параметрами, копируем и перебрасываем в Ворд или блокнот как неформатируемый текст...
В Ворде или блокноте каждую строчку приводим к виду: значение1;значение2;значение3
Запоминаем в каталог ...\tester\files
Если кому не лень, напишите макрос чтобы проделывать вышеперечисленные операции на автомате...
Теперь можно запустить оптимизацию на временном промежутке В... Теперь парметром оптимизациии станет Counter... Укажите максимальное значение(количество строк в списке)...
Все, задача решена... Успехов...
Посмотри статьи Николая Косицина, например эту 'Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Продолжение)'
Я читал эту статью... Мне кажется мой вариант более простой и удобный.... а главное универсальный...
Вышеприведенная реализация полностью совпадает с пожеланием автора ветки...
Благодарю, kharko за решение. Попробую использовать!