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

Theme© by Fisana
 

Фотография
- - - - -

Советник FractalPredictor


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

#1 Necron

Necron

    Пошёл в рукопашку

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPip
  • 683 сообщений

Отправлено 21 February 2011 - 15:37

Написал интересный советник, который торгует по фракталам. Как известно, фрактал (такой, как описывал его Билл Вильямс применительно к торговой стратегии Profitunity) состоит из "двух частей": два бара до сигнального и два бара после. Тем, кому интересно изучение фракталов, рекомендую ознакомится с материалом, предложенным Tireks`ом в ветке "Фрактал".
Наверное многие увидев впервые индикатор фракталов (fractals) на графике подумали как здесь все просто: покупай, когда появился фрактал вниз и продавай, когда есть фрактал вверх :) . Я и сам так пробовал, когда только начинал (и не разбирался в программировании), но, как можно догадаться, вскоре понял, что фрактал может перерисоваться, пока он "не закрепился", т.е. не было двух баров после сигнального бара. Сейчас я опять вспомнил о такой "системе", но уже подошел несколько с другой стороны.

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

Что получилось в результате? :) . Прикрепляю "сырую" версию советника FractalPredictor, чтобы любой пользователь мог потестировать. В ней реализован как раз такой алгоритм, о котором я написал выше, а выход из позиции осуществляется только по тейкпрофиту и стоплоссу, т.е. не совсем эффективный вариант. Вот тест с за два года на часовом таймфрейме, пара EURUSD:

Изображение

На скриншоте указано сразу где проводился форвард тест. Оптимизировался советник FractalPredictor, за 19 месяцев, после чего настройки были проверены на форвард-тесте более чем за полгода. Риск установлен в размере 1% от депозита, т.е. как видно из скриншота, фактически весь тест советник работал 0.2 лота на 10.000$. Просадка при этом не превысила 10%, т.е. доходность за год при таком риске 50% в год (просадка соответственно 5%). Для каждого ордера обязательно устанавливается стоплосс (задается в настройках), в данном тесте стоплосс был 93 пп, тейкпрофит 156 пунктов.

Для "экстремалов", готовых рискнуть своим депозитом ;) :

Изображение

Риск 10%. Стартовый депозит 10.000$, через два года: 200.000$.

Как я уже написал выше, советник FractalPredictor я тестировал на паре EURUSD за последние два года, таймфрейм часовой, поэтому как поведет себя на других инструментах - пока не знаю, но уверен, что есть смысл его протестировать и на других парах. Так как пока на форуме есть некоторые проблемы с загрузкой файлов, то вот ссылка, где можно скачать советник FractalPredictor. В архиве сам советник, а также файл с настройками (не забываем делиться своими настройками ;) ). При оптимизации включайте генетический алгоритм, потому что много комбинаций возможно.

Параметры советника:
       MagicNumber    =  123456789   ;        //магический ордер советника, если работают несколько одновременно, то ставить разные; 
       StopLoss       =  100         ;        //стоплосс в пунктах;
       TakeProfit     =  200         ;        //тейкпрофит в пунктах (-1 или 0 чтобы не устанавливать);
       LotsPercent    =  1           ;      //процент от депозита для торговли;
       UseFilter     =  false         ;              //при true используем в качестве фильтра нейросеть.
       x0             =  10          ;        //абсолютно любое значение <img src='http://fxgeneral.com/forum/public/style_emoticons/<#EMO_DIR#>/smile.gif' class='bbc_emoticon' alt=':)' /> , я использовал от 1 до 200, можно и другие.
       x1             =  10          ; 
       x2             =  10          ; 
       x3             =  10          ; 

  • Afroodit, businka и ezom это нравится
Каждый сам кузнец своей судьбы.

 
 

#2 Michelangelo®

Michelangelo®

    МОРДЕ-РАПТОР

  • Профи
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1003 сообщений

Отправлено 21 February 2011 - 19:38

Написал интересный советник, который торгует по фракталам. Как известно, фрактал (такой, как описывал его Билл Вильямс применительно к торговой стратегии Profitunity) состоит из "двух частей": два бара до сигнального и два бара после. Тем, кому интересно изучение фракталов, рекомендую ознакомится с материалом, предложенным Tireks`ом в ветке "Фрактал".
Наверное многие увидев впервые индикатор фракталов (fractals) на графике подумали как здесь все просто: покупай, когда появился фрактал вниз и продавай, когда есть фрактал вверх :) . Я и сам так пробовал, когда только начинал (и не разбирался в программировании), но, как можно догадаться, вскоре понял, что фрактал может перерисоваться, пока он "не закрепился", т.е. не было двух баров после сигнального бара. Сейчас я опять вспомнил о такой "системе", но уже подошел несколько с другой стороны.

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

Что получилось в результате? :) . Прикрепляю "сырую" версию советника FractalPredictor, чтобы любой пользователь мог потестировать. В ней реализован как раз такой алгоритм, о котором я написал выше, а выход из позиции осуществляется только по тейкпрофиту и стоплоссу, т.е. не совсем эффективный вариант. Вот тест с за два года на часовом таймфрейме, пара EURUSD:



где?
Изображение
Возможно все! ...что ниже скорости света!
Невозможное делаю сразу! Чудо требует незначительной подготовки...
Пришел, увидел, нафлудил...

Изображение

#3 Necron

Necron

    Пошёл в рукопашку

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPip
  • 683 сообщений

Отправлено 21 February 2011 - 20:30

где?

Я чуть ниже еще написал:

Так как пока на форуме есть некоторые проблемы с загрузкой файлов, то вот ссылка, где можно скачать советник FractalPredictor. В архиве сам советник, а также файл с настройками (не забываем делиться своими настройками :) ).


Вот еще раз ссылка http://depositfiles....files/jd7soemw5
  • Michelangelo® и businka это нравится
Каждый сам кузнец своей судьбы.

#4 Michelangelo®

Michelangelo®

    МОРДЕ-РАПТОР

  • Профи
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1003 сообщений

Отправлено 22 February 2011 - 08:40

Я чуть ниже еще написал:



Вот еще раз ссылка http://depositfiles....files/jd7soemw5


некоторые мысли беглым взглядом...
lot=MathCeil(AccountBalance()/10000*LotsPercent)/10; - очень грубый метод расчета размера ордеров....
попробуй так...
double _step=MarketInfo(Symbol(),MODE_LOTSTEP);
lot=MathCeil(AccountBalance()/10000*LotsPercent)/10;
lot=MathRound((lot/_step)*_step; //нормализация лота по шагу и количеству знаков после ","...
if (lot<MarketInfo(Symbol(),MODE_MINLOT)) {//действие с лотом...}
if (lot>MarketInfo(Symbol(),MODE_MAXLOT)) {//действие с лотом...}

Изображение
Возможно все! ...что ниже скорости света!
Невозможное делаю сразу! Чудо требует незначительной подготовки...
Пришел, увидел, нафлудил...

Изображение

#5 Afroodit

Afroodit

    Начинающий

  • Профи
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1680 сообщений

Отправлено 22 February 2011 - 13:55

Отличная идея с нейронной сетью, Дима. :)

И история не такая давняя.
"Ты должен быть сильным! Иначе, зачем тебе быть?!"

#6 Necron

Necron

    Пошёл в рукопашку

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPip
  • 683 сообщений

Отправлено 22 February 2011 - 13:56

некоторые мысли беглым взглядом...
lot=MathCeil(AccountBalance()/10000*LotsPercent)/10; - очень грубый метод расчета размера ордеров....
попробуй так...


Нормализация лота есть в советнике, ее всегда делаю в самой функции отправки ордера.
NormalizeLot() называется функция.
  • businka это нравится
Каждый сам кузнец своей судьбы.

#7 Necron

Necron

    Пошёл в рукопашку

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPip
  • 683 сообщений

Отправлено 22 February 2011 - 14:00

Отличная идея с нейронной сетью, Дима. :)

И история не такая давняя.


Спасибо! Есть еще идеи с использованием нейронных сетей, как уже успел заметить, с ними очень удобно работать, по крайней мере мне. Буду выкладывать постепенно, может кому-нибудь пригодится :)
  • businka и Busa это нравится
Каждый сам кузнец своей судьбы.

#8 Afroodit

Afroodit

    Начинающий

  • Профи
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1680 сообщений

Отправлено 22 February 2011 - 14:23

Спасибо! Есть еще идеи с использованием нейронных сетей, как уже успел заметить, с ними очень удобно работать, по крайней мере мне. Буду выкладывать постепенно, может кому-нибудь пригодится :)


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


Если посмотреть на среднесрочные графики, то после любого фрактала цена почти всегда проходит какое-то расстояние от экстремума (фрактала), поэтому при правильных настройках и управлении позициями твой советник может приносить потрясающие результаты. :) Надо пробовать, конечно, а не предполагать.
  • Necron это нравится
"Ты должен быть сильным! Иначе, зачем тебе быть?!"

#9 Necron

Necron

    Пошёл в рукопашку

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPip
  • 683 сообщений

Отправлено 22 February 2011 - 14:48

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


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


Вообще сейчас в советнике FractalPredictor практически отсутствует управление позициями. Есть только одно правило: максимум одна покупка и одна продажа одновременно, и у каждой из этих сделок фиксированный стоплосс и тейкпрофит. Все... :) Абсолютно никаких модификаций ордеров, трейлинг-стопов, переводов в безубыток и т.д.. Поэтому, думаю, здесь есть еще куда стремится :)
  • businka и Busa это нравится
Каждый сам кузнец своей судьбы.

#10 Afroodit

Afroodit

    Начинающий

  • Профи
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1680 сообщений

Отправлено 22 February 2011 - 15:21

Вообще сейчас в советнике FractalPredictor практически отсутствует управление позициями. Есть только одно правило: максимум одна покупка и одна продажа одновременно, и у каждой из этих сделок фиксированный стоплосс и тейкпрофит. Все... :) Абсолютно никаких модификаций ордеров, трейлинг-стопов, переводов в безубыток и т.д.. Поэтому, думаю, здесь есть еще куда стремится ;)


Конечно, нужно совершенствовать. Фрактал может оказаться лишь локальной вершиной, после которой цена лишь откорректируется, но может быть и последним пиком или дном, после чего последует новый тренд. Следовательно, очень даже полезны будут фиксация прибыли частями и переводы в безубыток. :)


Вообще, данный советник человек не сможет повторить ;) . Фракталы я и сам без индикатора даже увижу, а вот с помощью своей нейронной сети, которая у меня в голове не смогу проанализировать такое количество данных, хотя бы даже за год :)
"Ты должен быть сильным! Иначе, зачем тебе быть?!"

#11 pavel888

pavel888

    Первый выстрел

  • Новички
  • PipPip
  • 3 сообщений

Отправлено 26 March 2011 - 13:21

На каком ДЦ проводилась оптимизация и тестирование?

Я пробовал на разных, но только сливает!



#12 Necron

Necron

    Пошёл в рукопашку

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPip
  • 683 сообщений

Отправлено 26 March 2011 - 13:47

Альпари - демо

Вы оптимизировать не пробовали? Это ж нейросеть, пусть и достаточно простая, настройки по-умолчанию в советнике FractalPredictor вообще никак не относятся к торговле, т.е. я просто поставил везде 10.
Каждый сам кузнец своей судьбы.

#13 pavel888

pavel888

    Первый выстрел

  • Новички
  • PipPip
  • 3 сообщений

Отправлено 26 March 2011 - 14:17

Альпари - демо

Вы оптимизировать не пробовали? Это ж нейросеть, пусть и достаточно простая, настройки по-умолчанию в советнике FractalPredictor вообще никак не относятся к торговле, т.е. я просто поставил везде 10.


Оптимизировать не пробовал т.к. увидил сет файл, я так понимаю он после оптимизации сделан. Прогнал на демо альпари, но результат опять не тот.




#14 Batmannk

Batmannk

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

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

Отправлено 27 March 2011 - 15:24

вот все, что у меня получилось из него выжать.
Прикрепленный файл  set.rar   326байт   176 скачиваний
тест с 2006 года по настоящее время
TesterGraph.gif

Оптимизировал в основном с начала 2008 по конец 2009г. 2010г оптимизировал совсем чуть-чуть, 2011 вообще не трогал, но он и там прибыль делает... По графику красиво получается, но по факту около 100% в год с 5% риском. Не так хорошо как хотелось бы, но неплохо)

#15 pavel888

pavel888

    Первый выстрел

  • Новички
  • PipPip
  • 3 сообщений

Отправлено 08 April 2011 - 18:32

вот все, что у меня получилось из него выжать.
Прикрепленный файл  set.rar   326байт   176 скачиваний
тест с 2006 года по настоящее время
TesterGraph.gif

Оптимизировал в основном с начала 2008 по конец 2009г. 2010г оптимизировал совсем чуть-чуть, 2011 вообще не трогал, но он и там прибыль делает... По графику красиво получается, но по факту около 100% в год с 5% риском. Не так хорошо как хотелось бы, но неплохо)


На каком ДЦ ?



Copyright © 2024 Your Company Name