Перейти к содержимому

Theme© by Fisana
 

Фотография
* * * * * 4 Голосов

Советник PuriaM2


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 593

#526 Eugene8888

Eugene8888

    Расстрелял целый магазин

  • Пользователи
  • PipPipPipPip
  • 45 сообщений

Отправлено 11 February 2012 - 21:25

 Олег, касательно тестирования, по большому счёту, пределы в которые загнаны периоды MA сильно ограничивает тестирования советника. Моё предложение заключается в том чтобы MA1 сделать тоже WMLA, т.к. сигналы EMA обычно отстают от рынка. Профит думаю для M30 должен быть не более 150, даже лучше 100, потому что при больших значениях профита тестер подгоняет параметры под очень большие тренды, что на практике встречается не так часто и в конечном итоге приводит что тот небольшой процент профитных сделок сводится фактически к нулю. В реальности, для не очень волатильных валют профит 60-70 пунктов это довольно обычное явление и именно такие тренды и должен ловить советник на мой взгляд. Стоп-лосс думаю в 20 пунктов вполне достаточно. Но самая главная проблема которая возникает при таких изменениях это то, что в советние анализ ситуации на рынке и принятие решение об открытии позиции принимается исходя из взаимного положения MA1, MA2 и MA3, что приводит как раз к неверному открытию сделок, т.е. задача в том, чтобы советник анализировал MA не по их порядковому номеру а по значению периода, тогда по сути открывается огромный потенциал для оптимизации, достаточно будет выставить одно максимальное значение для всех MA !!! 

 
 

#527 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 12 February 2012 - 15:53

Но самая главная проблема которая возникает при таких изменениях это то, что в советние анализ ситуации на рынке и принятие решение об открытии позиции принимается исходя из взаимного положения MA1, MA2 и MA3, что приводит как раз к неверному открытию сделок, т.е. задача в том, чтобы советник анализировал MA не по их порядковому номеру а по значению периода, тогда по сути открывается огромный потенциал для оптимизации, достаточно будет выставить одно максимальное значение для всех MA !!!


Не всё так просто.
Идея Пуриа (хотя автор сам то её излагает совсем как импирику, вручную найденную) состоит в том, что сравниваются средние с длинным усреднением (MA1) и короткая, быстрая (MA3):

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

- третья средняя MA2 там - лишняя, она как "зайцу стоп сигнал" - это я проверял экспериментально (если MA2 вообще выбросить из алгоритма, то поведение на тестах изменится, но ... еле заметно!)... но она используется для подтверждения ситуации по MA1.

- для оптимизации это всё не накладывает ограничений, я делал так: "придумываю" границу между быстрой областью и медленной, условно скажем M1, для MA3 задаю в параметрах оптимизации диапазон, скажем: 4-M1, а для MA1/MA2 - M1-200 ... и замечательно выражены оптимумы.

#528 Eugene8888

Eugene8888

    Расстрелял целый магазин

  • Пользователи
  • PipPipPipPip
  • 45 сообщений

Отправлено 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 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 13 February 2012 - 08:33

Не всё так просто.
Идея Пуриа (хотя автор сам то её излагает совсем как импирику, вручную найденную) состоит в том, что сравниваются средние с длинным усреднением (MA1) и короткая, быстрая (MA3):

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

- третья средняя MA2 там - лишняя, она как "зайцу стоп сигнал" - это я проверял экспериментально (если MA2 вообще выбросить из алгоритма, то поведение на тестах изменится, но ... еле заметно!)... но она используется для подтверждения ситуации по MA1.

- для оптимизации это всё не накладывает ограничений, я делал так: "придумываю" границу между быстрой областью и медленной, условно скажем M1, для MA3 задаю в параметрах оптимизации диапазон, скажем: 4-M1, а для MA1/MA2 - M1-200 ... и замечательно выражены оптимумы.


Я ошибся в этом посте ... с номерами, и вас сбил с толку Изображение
Как раз M1 - это быстрый, короткий мувинг, вот цифры раньше кто-то в теме оптимизировал, как пример:

MovingPeriod1=13
MovingPeriod2=70
MovingPeriod3=400

M1 обычно около 10 или чуть больше - ставьте ей пределы оптимизации 4-19
а для M2 и M3 - от 20 и выше...
и они никогда не перекроются при оптимизации.

#530 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 13 February 2012 - 08:40

Но есть вопрос который мне не даёт покоя по настоящему:

Скажем мы используем USDCAD M15, после оптимизации в тестере где-то сдело 50, естественно большая часть из них отрицательные, но это согласно стратегиии, но вот в чём вопрос - советник заключает сделки, скажем 5 штук за неделю и все они оказыватся минусовыми, после чего в субботу происходит оптимизация советника, параметры, пусть может и не значительно, но все же меняются, после чего советник продолжает работу. Так вот, не может ли привести переоптимизация советника к тому что череда убыточных сделок будет продолжатся, хотя если бы мы не оптимизировали советник, то на второй неделе была бы прибыльная сделка, т.е. может ли как Вам кажется еженедельная оптимизация привести смыванию положительных сделок!!!


Здесь вопрос в том, за какой предыдущий период вы станете (до-) оптимизировать параметры в субботу.
Я так надеюсь, что не на интервале предыдущей недели?

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





#531 Eugene8888

Eugene8888

    Расстрелял целый магазин

  • Пользователи
  • PipPipPipPip
  • 45 сообщений

Отправлено 13 February 2012 - 08:48

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


Вообще делаю так беру M15, за предыдущие до дня оптимизации 3 месяца, мне кажется столько достаточно, больше думаю смысла нет, так как параметры становятся слишком сглаженными, хотя возможно я и не прав.

А вот с оптимизацией стоп-лосса и особенно тейк-профита, не всё так однозначно, мне кажется эти значения нужно искусственно занижать, т.к. движения по 200-300 пунктов это достаточно редкое событие, лучше больше 150 предел для тейка не делать, а стоп загнать в пуктов 20, т.к. сделок отрицательных достаточно много.




#532 nagley-mamont

nagley-mamont

    Выпустил первую очередь

  • Пользователи
  • PipPipPip
  • 14 сообщений

Отправлено 13 February 2012 - 10:01

стр.22 этого обсуждения, это 29 апреля 2011г.
версия советника 10
+/- несколько страниц вокруг - активного обсуждения как оптимизировать параметры советника.

Что бы еще упростить поиск))
http://fxgeneral.com...indpost&p=26980

#533 Eugene8888

Eugene8888

    Расстрелял целый магазин

  • Пользователи
  • PipPipPipPip
  • 45 сообщений

Отправлено 15 February 2012 - 06:24

Олег, а можно добавить в советник то чтобы он тейк-профит устанавливал не исходя из какого-то усредненного за определенный период значения, а динамически. Например существует неплохой метод выставления тейк-профита на ближайший локальному экстремум +/- (в зависимости от направления сделки)  небольшой фильтр в пунктов 5-10. Таким образом можно исключить вообще тейк-профит из оптимизации и он будет намного лучше адаптироваться к рынку, чем просто усреднённый.

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



#534 Eugene8888

Eugene8888

    Расстрелял целый магазин

  • Пользователи
  • PipPipPipPip
  • 45 сообщений

Отправлено 18 February 2012 - 08:17

Олег, Вы как-то говорили что выносили параметры MACD на оптимизацию, подскажите как и где поправить в советнике чтобы можно было это делать, я не знаком к сожалению с языком, так бы сам сделал.

#535 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 18 February 2012 - 16:56

Вы как-то говорили что выносили параметры MACD на оптимизацию, подскажите как и где поправить в советнике чтобы можно было это делать, я не знаком к сожалению с языком, так бы сам сделал.


Оптимизация MACD практически ничего не изменяет (потому и была обратно убрана).

Кроить программный код без детального понимания что делается - невозможно, к сожалению. Мало того, что можно просто записать ошибку (не то что хотел), но даже при внесении самых незначительных правильных изменений (например, убрать тот же MA3) поведение советника на тех же интервалах тестирования - меняется. Объяснять такие изменения практически невозможно, их нужно или принимать (и тогда оставлять изменения в коде советника), либо не принимать (выбрасывать изменения и восстанавливать как было).

Меня очень удивило такое тонкое поведение советников (не только этого) на малейшие изменения (вообще то, это называется: "слабая устойчивость" или "высокая чувствительность"). Это необычно в сравнении с большинством задач программирования в других областях. Но связано это с большим объёмом данных и их большим разнообразием при тестовых прогонах: всегда найдётся конкретный участок, где изменение "сработает".

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

Я бы не советовал делать изменения "по быстреньклму"!
И главная причина вот в чём:
- после изменения обычно проверяют: не улучшилось ли то место (по валютной паре, дате-времени) которое вызывало сомнения?
- а это в корне неправильно: самое малое изменение должно проверяться на полном объёме всех тестовых данных, на которых отрабатывался исходный советник...
- потому, что улучшение в одном локальном месте (где вы его добиваетесь) в большинстве случаев ведёт к ухудшению в десятках других мест.

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

#536 Eugene8888

Eugene8888

    Расстрелял целый магазин

  • Пользователи
  • PipPipPipPip
  • 45 сообщений

Отправлено 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 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 19 February 2012 - 03:50

Немного не соглашусь с Вами Олег, MACD в этой системе является фильтром который отсекает ложные сигналы, точнее выдерживает паузу для более обоснованного решения о сделке и на сколько быстро или медленно он будет это делать зависит будет ли сделка убыточной или нет. В частности, заметил что в результате многих прогонов на разных валютах, сигнал подтверждения от MACD поступает часто с большим запозданием, иногда на третье или даже четвёртой свече после пересечения, что часто приводит к тому что во время заключения сделки советником потенциал движения в нужном направлении уже исчерпан. Это особенно проявляется на высоковолатильных валютах, что по сути превращает советник в "сливатор", несмотря на то что базовые параметры оптимальны. MACD состоит из двух EMA, т.е. двух медленных средних по определению и они не могут просто по своей природе быть универсальными для любого рынка. Даже в Вашей версии советника параметры MACD 14, 40,1, хотя изначально в методе Пурия параметры MACD 15, 26,1, что означает одно, что статичными эти параметры быть вряд ли могут, на длительном промежутке времени. Даже простое изменение параметров MACD приводит, при прочих равных, в тестере к резко отличающимся результатам и, мне кажется, что такое игнорировать нельзя. По сути речь идёт о корректности определения точки входа, а это вообщем базовая вещь в системе, это хоть математическая модель, но всё же это торговая система и коректное заключение сделок здесь имеет значение не меньшее чем оптимальность параметров.

Я только сказал, что пробовал делать оптимизацию по MACD но не увидел более-менее выраженных оптимумов.
MACD 14, 40,1 - это и есть результат той оптимизации.
Ладно, я сделаю (по свободе, вскорости) оптимизацию MACD.
Оптимизация по 2-м периодам (14,40)?

#538 Eugene8888

Eugene8888

    Расстрелял целый магазин

  • Пользователи
  • PipPipPipPip
  • 45 сообщений

Отправлено 19 February 2012 - 08:02

Думаю да, SMA должно быть =1 для однозначности сигнала так сказать. Олег, Вы не могли бы дать ту часть кода которая отвечает за оптимизацию MACD, хотелось бы тоже по экспериментировать. Почувствовать себя программистом . :rolleyes: У Вас же наверное он уже есть раз Вы делали оптимизацию. Если не трудно конечно.

#539 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 19 February 2012 - 13:33

Думаю да, SMA должно быть =1 для однозначности сигнала так сказать. Олег, Вы не могли бы дать ту часть кода которая отвечает за оптимизацию MACD, хотелось бы тоже по экспериментировать. Почувствовать себя программистом . :rolleyes: У Вас же наверное он уже есть раз Вы делали оптимизацию.


Нет, у меня его готового нет, по-ходу было великое множество проб и вариантов, я все не сохраняю.
Но там делать особенно нечего, я сделаю и сюда в обсуждения выброшу.





#540 Eugene8888

Eugene8888

    Расстрелял целый магазин

  • Пользователи
  • PipPipPipPip
  • 45 сообщений

Отправлено 19 February 2012 - 13:34

Нет, у меня его готового нет, по-ходу было великое множество проб и вариантов, я все не сохраняю.
Но там делать особенно нечего, я сделаю и сюда в обсуждения выброшу.

Хорошо, спасибо!!



Copyright © 2024 Your Company Name