Как правильно оптимизировать советник? - вопрос на который не существует пока точного ответа. Здесь я расскажу как я это делаю в metatrader 4. В статье я предполагаю что Вы уже знаете Как установить советник в metatrader 4
Для начала разберёмся с техническими тонкостями оптимизации. Оптимизация это подбор наилучших параметров работы советника. "Наилучших" - понятие расплывчатое, кто то скажет риск должен быть минимален, для кого то важнее прибыль в процентах, для других высокий профит фактор. Наилучшие параметры это уже вопрос больше религии, кто во что больше верит. Лично я верю что можно подобрать оптимум(самые наивыгоднейшие параметры) по множеству критериев сразу. Но платформа MT4 пока что в этом плане ограничена и позволяет оптимизировать только по одному критерию, т.е. если мы ставим оптимизировать чистую прибыль, то генетический алгоритм пытается подобрать такие параметры при которых прибыль максимально, не глядя на просадку, и прочие показатели. Это очень похоже на джина, который вроде формально выполняет желание, но всегда криво и не так как нужно. В оптимизации советников очень важно экспериментировать и набираться опыта, оптимизировать как можно больше систем, на разных интервалах, следить что меняется, как меняются лучшие параметры. Тогда с опытом Вы будете лучше разбираться в работоспособности и живучести советников.
Вся информация о советниках для мт4 которые можно скачать бесплатно.
Как оптимизировать советник в Metatrader 4
- 1. Естественно депозит. На этапе оптимизации депозит ставят максимально большим, чтобы депозит не стал ограничением в работе советника, пускай и убыточного, работу над ошибками в системе делают именно так.
- 2. Long/Short - параметр который разрешает открывать и BUY и SELL ордера. МТ4 позволяет запретить открытие любого из типов ордеров. Не рекомендую использовать этот параметр, т.к. в эксперте могут возникнуть логические ошибки. В любом эксперте!
- 3. Оптимизируемый показатель - то о чём я говорил выше. Если выставить balance то генетический алгоритм будет пытаться максимизировать баланс, не смотря на другие показатели. Из всех представленных показателей оптимизации я рекомендую использовать ProfitFactor, он наиболее оптимально для большинства систем подберёт параметры.
- 4. Вкл/выкл Генетический алгоритм. Генетический алгоритм ОЧЕНЬ существенно ускоряет поиск оптимальных параметров. Существует целый раздел в Машинном обучении, который поможет Вам подробно разобраться что же такое генетический алгоритм. Я лишь скажу что без него идёт прямой перебор параметров, который может затягиваться на года, в то время как генетический алогиртм ищет оптимальные параметры за 1-2 дня максимум.
Поехали дальше, вторая вкладка
Вы должны точно знать обозначения параметров и за что они отвечают в системе, только тогда Вы сможете корректно настроить эту вкладку для оптимизации.
- 1. Старт - с этого значения параметр начинает свой перебор в сочетании с другими параметрами. Т.е. если здесь напротив TP_1 выставить 100 то при оптимизации занчение TP_1=100 будет минимальным, никогда советник не выставит ниже 100 пунктов TP_1. Аналогично и для других параметров.
- 2. Шаг перебора параметра. Если напротив TP_1 шаг установить 20, то генетический алгоритм будет перебирать поочерёдно значения 100, затем 120, затем 140, затем 160, НО никогда не будет перебирать 145 или 167, шаг не позволит столь детализироваться в подборе параметров.
- 3. Стоп- это максимальное значение параметра в переборе. Если напротив TP_1 выставить 1000 то в переборах параметров TP_1 никогда не будет больше 1000, только меньше.
- 4. Ну и последнее - Должна стоять галочка(где показано стрелкой) чтобы этот параметр подбирался. Если галочка у параметра не стоит то параметр приравнивается к колонке "Значение"
Ну и наконец третья вкладка
Ограничения при которых останавливается текущий проход при оптимизации. Ведь при оптимизации генетический алгоритм проходит тысячи, если не десятки тысяч различных комбинаций параметров. Так вот если напротив ограничения поставить галочку и в значении выставить такое значение превышение или ниже которого Вас система уже не интересует, то проход будет остановлен как только будет превышено ограничение. Это позволяет сильно сократить время оптимизации, но на этапе разработки системы будет только мешать и скорее всего не даст увидеть слабые места системы.