Советник PuriaM2
#526
Отправлено 11 February 2012 - 21:25
 
#527
Отправлено 12 February 2012 - 15:53
Но самая главная проблема которая возникает при таких изменениях это то, что в советние анализ ситуации на рынке и принятие решение об открытии позиции принимается исходя из взаимного положения MA1, MA2 и MA3, что приводит как раз к неверному открытию сделок, т.е. задача в том, чтобы советник анализировал MA не по их порядковому номеру а по значению периода, тогда по сути открывается огромный потенциал для оптимизации, достаточно будет выставить одно максимальное значение для всех MA !!!
Не всё так просто.
Идея Пуриа (хотя автор сам то её излагает совсем как импирику, вручную найденную) состоит в том, что сравниваются средние с длинным усреднением (MA1) и короткая, быстрая (MA3):
- ловится их пересечение именно пересечение, а не "взаимное положение", как вы назвали ... и на это поймались многие написавшие советники по Пуриа, которые я видел: ловят по принципу больше-меньше, а нужно - пересекает, пересекает - это смена тенденции: старая, инерционная - ещё в одну сторону, а новая - в другую...
- третья средняя MA2 там - лишняя, она как "зайцу стоп сигнал" - это я проверял экспериментально (если MA2 вообще выбросить из алгоритма, то поведение на тестах изменится, но ... еле заметно!)... но она используется для подтверждения ситуации по MA1.
- для оптимизации это всё не накладывает ограничений, я делал так: "придумываю" границу между быстрой областью и медленной, условно скажем M1, для MA3 задаю в параметрах оптимизации диапазон, скажем: 4-M1, а для MA1/MA2 - M1-200 ... и замечательно выражены оптимумы.
#528
Отправлено 12 February 2012 - 21:56
- ловится их пересечение именно пересечение, а не "взаимное положение", как вы назвали ... и на это поймались многие написавшие советники по Пуриа, которые я видел: ловят по принципу больше-меньше, а нужно - пересекает, пересекает - это смена тенденции: старая, инерционная - ещё в одну сторону, а новая - в другую...
То что пересечение это понятно, я говорил о несколько другом, имел в виду что в коде есть определение взаимного расположения МА:
if( Begin ) { // фиксация начальных состояний MA
if( ma1 > ma2 && ma1 > ma3 ) {
BuyOne = false; SellOne = true; Begin = false;
}
if( ma1 < ma2 && ma1 < ma3 ) {
SellOne = false; BuyOne = true; Begin = false;
}
return;
}:
- третья средняя MA2 там - лишняя, она как "зайцу стоп сигнал" - это я проверял экспериментально (если MA2 вообще выбросить из алгоритма, то поведение на тестах изменится, но ... еле заметно!)... но она используется для подтверждения ситуации по MA1.
MA2 - это фильтр и как правило используется всегда в системах построенных на МА
- для оптимизации это всё не накладывает ограничений, я делал так: "придумываю" границу между быстрой областью и медленной, условно скажем M1, для MA3 задаю в параметрах оптимизации диапазон, скажем: 4-M1, а для MA1/MA2 - M1-200 ... и замечательно выражены оптимумы.
Лично я пришел к выводу что MA1 - EMA нужно загонят в пределы 10 и там оптить, больше не имеет смысла, так как сигналы будут запаздывать. А вот с МА2 и МА3 сложнее, последнее время их оптимизирую в пределах от 1 до 250 каждую и на мой взгляд результаты более интересные, а искуственно создавать диапазоны, делить их на медленные и быстрые мне кажется не совсем верное, для разных рынков эти границы могут рознится. Единственное за чем следует следить при таком подходе это за тем чтобы было МА2<МА3, иначе начнутся проблемы направление ордеров в советнике.
Но есть вопрос который мне не даёт покоя по настоящему:
Скажем мы используем USDCAD M15, после оптимизации в тестере где-то сдело 50, естественно большая часть из них отрицательные, но это согласно стратегиии, но вот в чём вопрос - советник заключает сделки, скажем 5 штук за неделю и все они оказыватся минусовыми, после чего в субботу происходит оптимизация советника, параметры, пусть может и не значительно, но все же меняются, после чего советник продолжает работу. Так вот, не может ли привести переоптимизация советника к тому что череда убыточных сделок будет продолжатся, хотя если бы мы не оптимизировали советник, то на второй неделе была бы прибыльная сделка, т.е. может ли как Вам кажется еженедельная оптимизация привести смыванию положительных сделок!!!
#529
Отправлено 13 February 2012 - 08:33
Не всё так просто.
Идея Пуриа (хотя автор сам то её излагает совсем как импирику, вручную найденную) состоит в том, что сравниваются средние с длинным усреднением (MA1) и короткая, быстрая (MA3):
- ловится их пересечение именно пересечение, а не "взаимное положение", как вы назвали ... и на это поймались многие написавшие советники по Пуриа, которые я видел: ловят по принципу больше-меньше, а нужно - пересекает, пересекает - это смена тенденции: старая, инерционная - ещё в одну сторону, а новая - в другую...
- третья средняя MA2 там - лишняя, она как "зайцу стоп сигнал" - это я проверял экспериментально (если MA2 вообще выбросить из алгоритма, то поведение на тестах изменится, но ... еле заметно!)... но она используется для подтверждения ситуации по MA1.
- для оптимизации это всё не накладывает ограничений, я делал так: "придумываю" границу между быстрой областью и медленной, условно скажем M1, для MA3 задаю в параметрах оптимизации диапазон, скажем: 4-M1, а для MA1/MA2 - M1-200 ... и замечательно выражены оптимумы.
Я ошибся в этом посте ... с номерами, и вас сбил с толку
Как раз M1 - это быстрый, короткий мувинг, вот цифры раньше кто-то в теме оптимизировал, как пример:
M1 обычно около 10 или чуть больше - ставьте ей пределы оптимизации 4-19MovingPeriod1=13
MovingPeriod2=70
MovingPeriod3=400
а для M2 и M3 - от 20 и выше...
и они никогда не перекроются при оптимизации.
#530
Отправлено 13 February 2012 - 08:40
Но есть вопрос который мне не даёт покоя по настоящему:
Скажем мы используем USDCAD M15, после оптимизации в тестере где-то сдело 50, естественно большая часть из них отрицательные, но это согласно стратегиии, но вот в чём вопрос - советник заключает сделки, скажем 5 штук за неделю и все они оказыватся минусовыми, после чего в субботу происходит оптимизация советника, параметры, пусть может и не значительно, но все же меняются, после чего советник продолжает работу. Так вот, не может ли привести переоптимизация советника к тому что череда убыточных сделок будет продолжатся, хотя если бы мы не оптимизировали советник, то на второй неделе была бы прибыльная сделка, т.е. может ли как Вам кажется еженедельная оптимизация привести смыванию положительных сделок!!!
Здесь вопрос в том, за какой предыдущий период вы станете (до-) оптимизировать параметры в субботу.
Я так надеюсь, что не на интервале предыдущей недели?
Я так предполагаю, что вы должны взять фиксированный период тестирования-оптимизации, скажем, к примеру: 2 месяца предшествующих дню оптимизации (мне кажется, что даже 1 месяц это малый период для статистически устойчивых результатов). И тогда каждую неделю у вас и начало и конец периода оптимизации будут сдвигаться ровно не неделю.
Получается такая адаптивная оптимизация.
Не исключено, что в этом есть смысл.
Но дальше нужно только пробовать.
#531
Отправлено 13 February 2012 - 08:48
Я так предполагаю, что вы должны взять фиксированный период тестирования-оптимизации, скажем, к примеру: 2 месяца предшествующих дню оптимизации (мне кажется, что даже 1 месяц это малый период для статистически устойчивых результатов). И тогда каждую неделю у вас и начало и конец периода оптимизации будут сдвигаться ровно не неделю.
Получается такая адаптивная оптимизация.
Не исключено, что в этом есть смысл.
Но дальше нужно только пробовать.
Вообще делаю так беру M15, за предыдущие до дня оптимизации 3 месяца, мне кажется столько достаточно, больше думаю смысла нет, так как параметры становятся слишком сглаженными, хотя возможно я и не прав.
А вот с оптимизацией стоп-лосса и особенно тейк-профита, не всё так однозначно, мне кажется эти значения нужно искусственно занижать, т.к. движения по 200-300 пунктов это достаточно редкое событие, лучше больше 150 предел для тейка не делать, а стоп загнать в пуктов 20, т.к. сделок отрицательных достаточно много.
#532
Отправлено 13 February 2012 - 10:01
Что бы еще упростить поиск))стр.22 этого обсуждения, это 29 апреля 2011г.
версия советника 10
+/- несколько страниц вокруг - активного обсуждения как оптимизировать параметры советника.
http://fxgeneral.com...indpost&p=26980
#533
Отправлено 15 February 2012 - 06:24
И Вы правы, MA3 по сути не нужна, почистил от неё советник, на мой взгляд он стал стабильней от этого.
#534
Отправлено 18 February 2012 - 08:17
#535
Отправлено 18 February 2012 - 16:56
Вы как-то говорили что выносили параметры MACD на оптимизацию, подскажите как и где поправить в советнике чтобы можно было это делать, я не знаком к сожалению с языком, так бы сам сделал.
Оптимизация MACD практически ничего не изменяет (потому и была обратно убрана).
Кроить программный код без детального понимания что делается - невозможно, к сожалению. Мало того, что можно просто записать ошибку (не то что хотел), но даже при внесении самых незначительных правильных изменений (например, убрать тот же MA3) поведение советника на тех же интервалах тестирования - меняется. Объяснять такие изменения практически невозможно, их нужно или принимать (и тогда оставлять изменения в коде советника), либо не принимать (выбрасывать изменения и восстанавливать как было).
Меня очень удивило такое тонкое поведение советников (не только этого) на малейшие изменения (вообще то, это называется: "слабая устойчивость" или "высокая чувствительность"). Это необычно в сравнении с большинством задач программирования в других областях. Но связано это с большим объёмом данных и их большим разнообразием при тестовых прогонах: всегда найдётся конкретный участок, где изменение "сработает".
Поэтому самое небольшое изменение должно считаться не изменением (улучшением) советника, а делает совершенно новый советник.
Я бы не советовал делать изменения "по быстреньклму"!
И главная причина вот в чём:
- после изменения обычно проверяют: не улучшилось ли то место (по валютной паре, дате-времени) которое вызывало сомнения?
- а это в корне неправильно: самое малое изменение должно проверяться на полном объёме всех тестовых данных, на которых отрабатывался исходный советник...
- потому, что улучшение в одном локальном месте (где вы его добиваетесь) в большинстве случаев ведёт к ухудшению в десятках других мест.
Итог: если делаете минимальное изменение (запятую лишнюю добавили ) - начинайте полный цикл тестирования. А это, если считать по непрерывному времени выполнения тестирования, десятки или даже сотни часов выполнения тестов. Только после этого можно говорить, что "получилось хорошо".
#536
Отправлено 18 February 2012 - 22:25
Оптимизация MACD практически ничего не изменяет (потому и была обратно убрана).
Немного не соглашусь с Вами Олег, MACD в этой системе является фильтром который отсекает ложные сигналы, точнее выдерживает паузу для более обоснованного решения о сделке и на сколько быстро или медленно он будет это делать зависит будет ли сделка убыточной или нет. В частности, заметил что в результате многих прогонов на разных валютах, сигнал подтверждения от MACD поступает часто с большим запозданием, иногда на третье или даже четвёртой свече после пересечения, что часто приводит к тому что во время заключения сделки советником потенциал движения в нужном направлении уже исчерпан. Это особенно проявляется на высоковолатильных валютах, что по сути превращает советник в "сливатор", несмотря на то что базовые параметры оптимальны. MACD состоит из двух EMA, т.е. двух медленных средних по определению и они не могут просто по своей природе быть универсальными для любого рынка. Даже в Вашей версии советника параметры MACD 14, 40,1, хотя изначально в методе Пурия параметры MACD 15, 26,1, что означает одно, что статичными эти параметры быть вряд ли могут, на длительном промежутке времени. Даже простое изменение параметров MACD приводит, при прочих равных, в тестере к резко отличающимся результатам и, мне кажется, что такое игнорировать нельзя. По сути речь идёт о корректности определения точки входа, а это вообщем базовая вещь в системе, это хоть математическая модель, но всё же это торговая система и коректное заключение сделок здесь имеет значение не меньшее чем оптимальность параметров.
Вы вот как-то говорили что советник заключает больше убыточных сделок чем прибыльных, и при умелой системе ММ это всё компенсируется редкими но прибыльными сделками. Так вот такое поведение трендовика меня сразу удивило, как только я познакомился с этой системой, трендовик по своей сути подразумевает что сделки редки но тщательно выверенны и от этого большей частью положительны. Отсюда вопрос что мешает Пуриа заключать больше положительных сделок чем отрицательных. Моё мнение к которому я пришел недавно вот причины:
1. Временная структура - на низкой временной структуре он обречён на слив, вывод брать интервала H4 или даже D1, в частности при D1 теоретически, на не сильно волатильной валюте уровень шумов составляет всего около 2%, что легко отсечётся оптимизацией.
2. ma3, человек это человек, машина есть машина, советник не очень хорошо ведет себя во время бокового движения, "перепутывание" ma разных периодов ведёт к ложным сигналам, а такое движение не редко на рынке, поэтому исключение ma3 ведет к тому что у советника остается всего два варианта для формирования первого сигнала что очень даже не плохо. Подтверждение сигнала соответственно будет по MACD.
3. Вот собственно почему MACD так и важен, точнее его оптимальное состояние, он связующее звено между сигналом и принятием решения о сделке, по сути как хирург, определяющий юудет пациент жить или умрет от промедления, он не должен спешить, но и медлить тоже не имеет право, но вот найти то оптимальное время для принятия решения это задача как раз оптимизации EMA из состава MACD. Поэтому мне бы было интересно протестировать оптимизацию MACD.
Олег простой пример, для себя, удалите ma3 и протестируйте советник на H4 скажем на USDCAD и Вы увидете что убыточные сделки за редким исключением подряд две не бывают, вот так и должен работать трендовик.
На мой взгляд Вы хотите построить чёткую математическую модель, систему которая работает по чётким правилам, но это рынок, и Вы не учитываете и не сможете учесть всех факторов влияющих на систему, потомучто их тысячи и они не только математические. а ещё экономические, политические и прочие. Поэтому задача сводится к простой подгонке и её периодическому пересмотрению и всё. По сути смоделировать то как бы вел себя человек смотря на график с индикаторами, но при этом был бы напроч лишен нервной системы.
#537
Отправлено 19 February 2012 - 03:50
Я только сказал, что пробовал делать оптимизацию по MACD но не увидел более-менее выраженных оптимумов.Немного не соглашусь с Вами Олег, MACD в этой системе является фильтром который отсекает ложные сигналы, точнее выдерживает паузу для более обоснованного решения о сделке и на сколько быстро или медленно он будет это делать зависит будет ли сделка убыточной или нет. В частности, заметил что в результате многих прогонов на разных валютах, сигнал подтверждения от MACD поступает часто с большим запозданием, иногда на третье или даже четвёртой свече после пересечения, что часто приводит к тому что во время заключения сделки советником потенциал движения в нужном направлении уже исчерпан. Это особенно проявляется на высоковолатильных валютах, что по сути превращает советник в "сливатор", несмотря на то что базовые параметры оптимальны. MACD состоит из двух EMA, т.е. двух медленных средних по определению и они не могут просто по своей природе быть универсальными для любого рынка. Даже в Вашей версии советника параметры MACD 14, 40,1, хотя изначально в методе Пурия параметры MACD 15, 26,1, что означает одно, что статичными эти параметры быть вряд ли могут, на длительном промежутке времени. Даже простое изменение параметров MACD приводит, при прочих равных, в тестере к резко отличающимся результатам и, мне кажется, что такое игнорировать нельзя. По сути речь идёт о корректности определения точки входа, а это вообщем базовая вещь в системе, это хоть математическая модель, но всё же это торговая система и коректное заключение сделок здесь имеет значение не меньшее чем оптимальность параметров.
MACD 14, 40,1 - это и есть результат той оптимизации.
Ладно, я сделаю (по свободе, вскорости) оптимизацию MACD.
Оптимизация по 2-м периодам (14,40)?
#538
Отправлено 19 February 2012 - 08:02
#539
Отправлено 19 February 2012 - 13:33
Думаю да, SMA должно быть =1 для однозначности сигнала так сказать. Олег, Вы не могли бы дать ту часть кода которая отвечает за оптимизацию MACD, хотелось бы тоже по экспериментировать. Почувствовать себя программистом . У Вас же наверное он уже есть раз Вы делали оптимизацию.
Нет, у меня его готового нет, по-ходу было великое множество проб и вариантов, я все не сохраняю.
Но там делать особенно нечего, я сделаю и сюда в обсуждения выброшу.
#540
Отправлено 19 February 2012 - 13:34
Хорошо, спасибо!!Нет, у меня его готового нет, по-ходу было великое множество проб и вариантов, я все не сохраняю.
Но там делать особенно нечего, я сделаю и сюда в обсуждения выброшу.