Вопрос по генетической оптимизации

 

Решила начать оптимизацию ТС, но т.к. оптимизируемых параметров много - 13, а работа ТС расчитана на М1 и сделок происходит не более 10 в месяц, решила использовать генетический алгоритм и взять историю за 1 месяц.

При первом запуске расчетное время выдалось более 250 часов, а количество комбинаций более 83 миллиардов. В статье "Генетические алгоритмы в MetaTrader 4. Сравнение с прямым перебором оптимизатора" говорится, что ориентироваться на расчетное время не нужно, в генетической оптимизации оно не соответствует реальности, но статья написана давно, может в последних билдах МТ4 время уже соответствует? Так стоит ли мне ждать? При создании ТС надеялась, что проблем с оптимизацией не будет, а получается, что ТС вроде бы получилась не плохой, но настроить ее вручную - не реально, слишком много параметров и малое их изменение приводит к существенной перестройке работы системы.

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

 
Angela >>:

Решила начать оптимизацию ТС, но т.к. оптимизируемых параметров много - 13, а работа ТС расчитана на М1 и сделок происходит не более 10 в месяц, решила использовать генетический алгоритм и взять историю за 1 месяц.

При первом запуске расчетное время выдалось более 250 часов, а количество комбинаций более 83 миллиардов. В статье "Генетические алгоритмы в MetaTrader 4. Сравнение с прямым перебором оптимизатора" говорится, что ориентироваться на расчетное время не нужно, в генетической оптимизации оно не соответствует реальности, но статья написана давно, может в последних билдах МТ4 время уже соответствует? Так стоит ли мне ждать? При создании ТС надеялась, что проблем с оптимизацией не будет, а получается, что ТС вроде бы получилась не плохой, но настроить ее вручную - не реально, слишком много параметров и малое их изменение приводит к существенной перестройке работы системы.

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

При генетики цифры означают кол. прогнаных / кол.при генетике(кол. прямым перебором).

Ну такая себе самореклама мол какие мы МетаКвотеры крутые и сколько благодаря генетике времени вам экономим.

\оптимизируемых параметров много - 13\ советую параметры разбить на пары и тройки,

(тут уж прийдётся поломать голову что с чем паровать)и подбор делать ступенями.

Оно так и смотреть двумерный график оптимизации удобней.

Вообще генетика выхватывает разрозненные максимумы и всё равно потом лучше делать простым перебором.

Я лично генетикой ищу локальную область на которой уже делаю полный перебор.

 
Urain писал(а) >>

При генетики цифры означают кол. прогнаных / кол.при генетике(кол. прямым перебором).

Ну такая себе самореклама мол какие мы МетаКвотеры крутые и сколько благодаря генетике времени вам экономим.

\оптимизируемых параметров много - 13\ советую параметры разбить на пары и тройки,

(тут уж прийдётся поломать голову что с чем паровать)и подбор делать ступенями.

Оно так и смотреть двумерный график оптимизации удобней.

Вообще генетика выхватывает разрозненные максимумы и всё равно потом лучше делать простым перебором.

Я лично генетикой ищу локальную область на которой уже делаю полный перебор.

Проблема в том, что большинство параметров оптимизации связаны друг с другом обратными связями, и изменение одного приводит к перестройке некоторых других и картина меняется. Стратегия разрабатывалась так, что оптимум будет искаться во всей гиперплоскости используемых параметров. Так что придеться, по всей видимости, отказаться от этой стратегии, хотя конечно жалко, при прогоне на истории с 1.01.2007 по сегодня, даже без оптимизации ТС показала устойчивость,хотя бы не слила до нуля, хоты она расчитана на еженежельную переоптимизацию. За последние 2 года были цикличные спады и подъемы.

Пойду снимать стресс, и сажусь за разработку новой стратегии.

 
На открытии бара попробуй оптимизировать
 
83 миллиарда могут Вас не туда завести. Как я понял, тестер, если общее количество прогонов превышает какое то число (а Ваше точно превышает) при генетике делает не больше 10 тысяч прогонов. То есть, тестер может, получив где то на огромном пространстве вариантов положительные результаты, начать скрещиваться в отношении этих результатов, а действительно хорошие результаты может просто не успеть посмотреть... Вы попробуйте шаг параметров увеличить. Тогда вариантов станет меньше. А потом, после первого приближения, рассмотрите область, представляющую наибольший интерес, более подробно.
 
Angela >>:

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

Это вообще прекрасно. Значит через двумерный график оптимизации можно выявить связь и прописав её через коэф. в коде

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

Это значит что один параметр можно сделать зависимым в коде ( x2 = x1 + 3 )и оптимизировать только x1. Успехов.

 

Не стала дожидаться окончания оптимизации, выключила. Хотя ТС и устойчива, и на профитных участках показывает хорошие результаты, но ждать неделями оптимизацию - это слишком.

Вот, к примеру, участок из выше приведенного графика, но за последнии два месяца.

К тому же у меня отдельная оптимизация по Buy по Sell. Да и сделок слишком мало, из-за плохого интернета я рассчитывала на ночь отключать работу ТС, а при такой работе можно будет по 2-3 недели ждать пока совершиться хоть одно сделка.

Так что, вчера сняла стресс, и приступила к разработке новой ТС. Буду делать попроще,а то 390 строк кода одних логических условий - перебор, да и тормозит сильно, тестирование по ценам открытия с 2007 года шло 4.5 часа. К тому же через месяц я и сама уже не разберусь что там в этих логических условиях нашкодила.

 
Angela >>:

К тому же через месяц я и сама уже не разберусь что там в этих логических условиях нашкодила.

Комментарии подробные пишите. ;-). Раз ТС отброшена - её можно в назидание опубликовать в codebase, может удастся сделать рефакторинг.

 

Делаю новую версию ТС. Сделала один блок, и прежде чем продолжать работу, решила прооптимизировать некоторые параметры, чтобы дальше вести настройку с более или менее оптимальными начальными настройками. Оптимизируемых параметров 7, ориентировочное время оптимизации - 106 часов, хотя после запуска оптимизации понемногу увеличивается, количество комбинаций - 44 274 384, расчетное количество прогонов - 10 496. Первоначально задала историю за 1 месяц, оптимизация пошла, в окне "результаты оптимизации" начали появляться результаты прогонов. За месяц получалось 186 сделок. Решила сократить историю в два раза, чтобы ускоить оптимизацию, после запуска время стало 57 часов, но в окнах "результаты оптимизации" и "график оптимизации" ничего не стало выводиться, в чем проблема?

 
Angela >>:

Делаю новую версию ТС. Сделала один блок, и прежде чем продолжать работу, решила прооптимизировать некоторые параметры, чтобы дальше вести настройку с более или менее оптимальными начальными настройками. Оптимизируемых параметров 7, ориентировочное время оптимизации - 106 часов, хотя после запуска оптимизации понемногу увеличивается, количество комбинаций - 44 274 384, расчетное количество прогонов - 10 496. Первоначально задала историю за 1 месяц, оптимизация пошла, в окне "результаты оптимизации" начали появляться результаты прогонов. За месяц получалось 186 сделок. Решила сократить историю в два раза, чтобы ускоить оптимизацию, после запуска время стало 57 часов, но в окнах "результаты оптимизации" и "график оптимизации" ничего не стало выводиться, в чем проблема?

1 Видимо в окне "Оптимизация" в ограничениях выставлены параметры которые не один прогон не преодолел,

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

и если хоть один прогон преодолеет барьер и даст хоть какуюто прибыль он будет отображен.


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

А затем уже видя результат (в поле каких значений) запустите с меньшим шагом.

Например : Пер.{ нач.зн., шаг, кон.зн.}

x1 {10,10,100} в результате на графике видим тёмное скопление по параметру x1 от 60 до 80.

Делаем второй прогон с параметрами x1 {60,1,80} и находим оптимальный.

(Говоря о графике я имею в виду думерный)

 
Angela >>:

.. в чем проблема?

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

Причина обращения: