Автор Тема: Про осцилляторы, мысля  (Прочитано 6636 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн D!m@n

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 679
  • Репутация: 43
  • Торговец рефлексивности
Про осцилляторы, мысля
« : 16 Ноябрь 2008, 14:54:09 »
Паш ты вроде у нас с осцилляторами много работал и работаешь, никогда не пробовал определять зоны перепроданности/перекупленности по линиям Боллинджера *?* (Если их набросить на сам осциллятор, например на RSI) *?* Интересные картинки получаются :)
Мой блог

Оффлайн Paha

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1034
  • Репутация: 1207
  • Подумать надо!
Re: Про осцилляторы, мысля
« Ответ #1 : 16 Ноябрь 2008, 18:55:58 »
Свяжись со мной по аське!  Я тебе  индючек скину...   Есть на эту тему индикатор готовый, правда не помню, откуда я его взял, или может кто дал...   Посему не выкладываю сюда...  Когда вспомню, кто дал - выложу! 
Бойся гнева терпеливого человека!

Оффлайн D!m@n

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 679
  • Репутация: 43
  • Торговец рефлексивности
Re: Про осцилляторы, мысля
« Ответ #2 : 16 Ноябрь 2008, 19:01:47 »
Ок, просто интересно, может работал с этим уже...
Мой блог

Оффлайн Paha

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1034
  • Репутация: 1207
  • Подумать надо!
Re: Про осцилляторы, мысля
« Ответ #3 : 16 Ноябрь 2008, 19:17:54 »
Надо будет попробовать накинуть...
Бойся гнева терпеливого человека!

Оффлайн Apost

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 765
  • Репутация: 99
  • Иисус Христос меня спас
Re: Про осцилляторы, мысля
« Ответ #4 : 16 Ноябрь 2008, 22:23:29 »
я так делал, нуууу....довольно не плохо получается

Оффлайн чиж

  • Пользователь
  • **
  • Сообщений: 96
  • Репутация: -10
Re: Про осцилляторы, мысля
« Ответ #5 : 17 Ноябрь 2008, 01:18:52 »
лови
//+------------------------------------------------------------------+
//|                                                 BandsOnArray.mq4 |
//|                                   Copyright © 2008, Serega Lykov |
//|                                       http://mtexperts.narod.ru/ |
//| Наложение BollingerBands на какой-либо массив данных (индикатор) |
//+------------------------------------------------------------------+

// Данный индикатор накладывает BollingerBands на индикатор RSI.
// Вы можете изменить его, для наложение на какой-либо другой индикатор

#property copyright "Copyright © 2008, Serega Lykov"
#property link      "http://mtexperts.narod.ru/"

//---- свойства индикатора ------------------------------------------+
// в зависимости от индикатора на который накладывается BB,
// надо закомментировать одну из этих двух строк
#property indicator_separate_window  // BB накладывается на индикатор из отдельного окна (типа CCI, RSI, MACD и т.п.)
//#property indicator_chart_window   // BB накладывается на индикатор из окна с графиком цены (типа MA, BollingerBands и т.п.)

// количество линий индикатора: 3 для BB, плюс линии индикатора, на который накладывается BB
// максимальное значение = 8
#property indicator_buffers 4        // 3 (BB) + 1 (RSI)
// цвет для каждой линии BB
#property indicator_color1 SeaGreen  // цвет средней линии BB
#property indicator_color2 SeaGreen  // цвет верхней линии BB
#property indicator_color3 SeaGreen  // цвет нижней линии BB
// цвет для каждой линии индикатора на который накладывается BB
#property indicator_color4 Red       // линии индикатора на который накладывается BB

//---- внешние параметры --------------------------------------------+
// параметры расчёта BollingerBands
extern int    BandsPeriod     = 20;  // период усреднения
extern int    BandsMethod     = 0;   // метод усреднения: 0 = Simple,   1 = Exponential,
                                     //                   2 = Smoothed, 3 = Weighted
extern int    BandsShift      = 0;   // сдвиг индикатора относительно ценового графика
extern double BandsDeviations = 2.0; // отклонение
// параметры индикатора на который накладывается BB
extern int    RSIPeriod       = 14;  // период RSI
extern int    RSIPrice        = 0;   // цена наложения RSI: 0 = PRICE_CLOSE, 1 = PRICE_OPEN,
                                     // 2 = PRICE_HIGH,     3 = PRICE_LOW,   4 = 0PRICE_MEDIAN,
                                     // 5 = PRICE_TYPICAL,  6 = PRICE_WEIGHTED

//---- буфферы ------------------------------------------------------+
// массивы используемые для расчёта BollingerBands
double MiddleBuffer[];               // массив для средней линии BB
double UpperBuffer[];                // массив для верхней линии BB
double LowerBuffer[];                // массив для нижней линии BB
// массивы используемые для индикатора на который накладывается BB
double RSIBuffer[];                  // массив для линии индикатора RSI

//---- глобальные переменные ----------------------------------------+
// у меня их здесь нет

//+------------------------------------------------------------------+
//| Функция инициализации индикатора                                 |
//+------------------------------------------------------------------+
int init()
  {
//---- установка "короткого" имени индикатора
   IndicatorShortName("Bands("+BandsPeriod+","+DoubleToStr(BandsDeviations,2)+") On RSI"+"("+RSIPeriod+")");
//---- установка точности значений индикатора
   IndicatorDigits(Digits);          // та же, что и на ценовом графике
//---- установка горизонтальных уровней
   SetLevelValue(0,70);              // если indicator_chart_window,
   SetLevelValue(1,30);              // то уровни лучше удалить
   SetLevelValue(2,50);              // Вообще, уровни - это кому как нравится
//---- установка параметров линий BollingerBands
   // установка стиля линий индикатора
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID);
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID);
   SetIndexStyle(2,DRAW_LINE,STYLE_SOLID);
   // установка массивов для линий индикатора
   SetIndexBuffer(0,MiddleBuffer);
   SetIndexBuffer(1,UpperBuffer);
   SetIndexBuffer(2,LowerBuffer);
   // установка начального бара отрисовки линий индикатора
   SetIndexDrawBegin(0,RSIPeriod+BandsPeriod+BandsShift);
   SetIndexDrawBegin(1,RSIPeriod+BandsPeriod+BandsShift);
   SetIndexDrawBegin(2,RSIPeriod+BandsPeriod+BandsShift);
   // установка названий линий индикатора
   SetIndexLabel(0,"MiddleBB");
   SetIndexLabel(1,"UpperBB");
   SetIndexLabel(2,"LowerBB");
//---- установка параметров линий индикатора на который накладывается BB
   SetIndexStyle(3,DRAW_LINE,STYLE_SOLID);
   SetIndexBuffer(3,RSIBuffer);
   SetIndexDrawBegin(3,RSIPeriod);
   SetIndexLabel(3,"RSI");
//---- конец инициализации
   return(0);
  }

//+------------------------------------------------------------------+
//| Bollinger Bands On Array                                         |
//+------------------------------------------------------------------+
int start()
  {
   // если на графике мало баров, то индикатор не считается
   if(Bars <= RSIPeriod+BandsPeriod) return(0);
   // количество неизменённых после последнего вызова индикатора баров
   int counted_bars = IndicatorCounted();
   if(counted_bars < 0) return(-1);
   // последний посчитанный бар будет пересчитан
   if(counted_bars > 0) counted_bars--;
   int limit = Bars - counted_bars;
//---- сначала высчитываются линии индикатора на который накладывается BB
   for(int i=limit; i>=0; i--)
     {
      RSIBuffer[i] = iRSI(NULL,0,RSIPeriod,RSIPrice,i);
     }
//---- затем накладываем BB на линию индикатора
   for(i=0; i<limit; i++) MiddleBuffer[i] = iMAOnArray(RSIBuffer,0,BandsPeriod,BandsShift,BandsMethod,i);
   while(i >= 0)
     {
      double sum = 0.0;
      int k = i + BandsPeriod - 1;
      double oldval = MiddleBuffer[i];
      while(k >= i)
        {
         double newres = RSIBuffer[k] - oldval;
         sum = sum + newres * newres;
         k--;
        }
      double deviation = BandsDeviations * MathSqrt(sum/BandsPeriod);
      UpperBuffer[i] = oldval + deviation;
      LowerBuffer[i] = oldval - deviation;
      i--;
     }
//----
   return(0);
  }

//+------------------------------------------------------------------+

Оффлайн D!m@n

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 679
  • Репутация: 43
  • Торговец рефлексивности
Re: Про осцилляторы, мысля
« Ответ #6 : 17 Ноябрь 2008, 11:16:36 »
Спс Вань :), но я тут не столько про сам индюк, сколько про работу с ним ;)
Мы с Апостом тут говорили уже про это в асе, тут ведь дело какое, он действительно отрабатывает неплохо, но есть одно маленькое НО, как вообщем и при любом подходе, есть моменты когда наш метод РСИ+Боллинджер может нас наказать, это когда мы встанем против сильного тренда (я их называю рефлексивными) и отката просто не дождемся, либо он будет уже не там где нам нужно, а там где нам уже будет все равно ;D
Да и с выходами не все так просто, можно ведь выходить при наступленнии перепроданности для купли и перекупленности для продажи, т.е. по сути просто переворачиваться. ИЛи фиксить позу например от средней линии боллинджера.  *?* idea Т.е. мыслей не мало, но главное это конечно тренды, причем сильные тренды -- тактие которые имеют место быть сейчас.
Мой блог

Оффлайн D!m@n

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 679
  • Репутация: 43
  • Торговец рефлексивности
Re: Про осцилляторы, мысля
« Ответ #7 : 17 Ноябрь 2008, 11:21:52 »
ДА кстати Паш прочитал твой вопрос нафига вообще боллинджер. Дело вот в чем можно конечно считать перепроданность/перекупленность классически 70 -- 30 для РСИ и все такое, но просто боллинджер показывает как говорится интервал в рамках которого исходя из теории вероятности цена находится большую часть времени, если ставить отклонение равное 2. Кроме того боллинджер адаптируется под меняющийся рынок, меняя размах своих полос. И я думаю что боллинджер он намного адекватнее будет при определении этой перекупленности/перепроданности чем классические 70 -- 30 *!*
Мой блог

Оффлайн Paha

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1034
  • Репутация: 1207
  • Подумать надо!
Re: Про осцилляторы, мысля
« Ответ #8 : 17 Ноябрь 2008, 11:26:24 »
Дим! Кто-бы спорил!

А с проблемой я столкнулся, с той-же что и Вы с Апостом!
Бойся гнева терпеливого человека!

Оффлайн D!m@n

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 679
  • Репутация: 43
  • Торговец рефлексивности
Re: Про осцилляторы, мысля
« Ответ #9 : 17 Ноябрь 2008, 12:42:31 »
В принципе одно из решений этой проблемы -- торговать только по рефлексивному тренду, в расчете что так мы не нарвемся. По крайеней мере это даст преимущество. Беда тут одна -- рефлексивный тренд НЕ выводится из прошлых значений цен и определяется на основе текущей НЕ ценовой инфы *!*
Либо по идее -- надо подбирать такие пары которые любят коридорчики и не любать ходить вверх от 0.8 до 1.6 как это имело место быть с евро баксом. Таким раншье был евро фунт, еврофранк... Был... ДА... впрочем не будем о грустном ;D
Либо например *?* можно взять тот же ADX и ориентироваться на то значение трендовости которое он кажет, если допустим оно < 30 торгуем, выше не торгуем и закрываем убыток. Т.е. мы опять же пытаемся из прошлого вывести будущее, в попытке отсеять тренды. Можно например и при 30 торговать но только уже в сторону тенденции.
Мой блог

Оффлайн чиж

  • Пользователь
  • **
  • Сообщений: 96
  • Репутация: -10
Re: Про осцилляторы, мысля
« Ответ #10 : 17 Ноябрь 2008, 19:50:38 »


 это когда мы встанем против сильного тренда (я их называю рефлексивными) и отката просто не дождемся, либо он будет уже не там где нам нужно, а там где нам уже будет все равно ;D

Вот именно это и нерешаемая проблема в любом ВВ ИМХО, крути так, крути эдак, накладывай дополнительные каналы, либо дополнительные трендовые индикаторы-не кажет хорошей картинки и все тут  :(
Много красивых точек, но примерно 25-30% таких, которые убивают весь профит и топчишься по нулям всегда :(... ИМХО, тяжеловато это... весьма.
Одно радует-ты не в минусах с ВВ не в плюсах. Впрочем может и правда что там можно доработать.
Цитировать
Беда тут одна -- рефлексивный тренд НЕ выводится из прошлых значений цен и определяется на основе текущей НЕ ценовой инфы

 *!* вот... и это нерешаемая задача. Только если совместно с ФА, а я его ненаю совсем  :(, поэтому никогда даже не думал попробывать.

Оффлайн D!m@n

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 679
  • Репутация: 43
  • Торговец рефлексивности
Re: Про осцилляторы, мысля
« Ответ #11 : 17 Ноябрь 2008, 20:21:02 »
Вообще имхо чем дольше мы в рынке, тем большее на нашу позицию и соответственно на маркет число факторов действует. Это можно наверно описать в виде S образной кривой, с быстрым ростом и стабилизацией, когда число факторов растет уже не значительно, т.к. произошло насыщение.
Вот так примерно в координатах факторы действующие на маркет -- время.

И изгиб приходится видимо на временной период равный 1 дню
И если мы торгуем нашу систему на интервалах типа дейли и держим  позу по 3--5--7 и более дней, то соответственно опереться нам не на что кроме как на рефлексивность. Вот если внутри дня торговать, то число факторов уже ограниченно, но опять же ко многим ли из них мы имеем доступ *?* *!*
Если честно мне предпочтительней все таки торговля на рефлексивности и в правой части S -- кривой. Но можно думаю пытаться работать и в левой ее части. Но надо здесь искать факторы -- дающие направленный  взрыв волатильности, который  и губит все подобные системы. idea
Мой блог

Оффлайн D!m@n

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 679
  • Репутация: 43
  • Торговец рефлексивности
Re: Про осцилляторы, мысля
« Ответ #12 : 18 Ноябрь 2008, 16:44:24 »
А что касается левой части кривой, с учетом того что у нас на форе весьма большой дефицит информации, наиболее логичным выглядит торговля волатильностью. Вообщем то и твоя система Вань, с которой ты пришел на форум Лайта (где тот форум и где та система ]:-)) на ней построена. Как говорится если пружина сжата -- пружина распрямится, ну а мы при этом возьмем свой профит...
Мой блог