В одном окне: Williams’ Percent Range и On Balance Volume

 

Возник вопрос по совмещению в одном окне двух индикаторов:

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Вопросы от начинающих

Aleksandr Prishenko, 2015.08.27 06:37

Подскажите пожалуйста такой момент.

К примеру, у нас есть на графике индикатор Williams Percent Range(%R), и мы из навигатора перетаскиваем в его окно индикатор On Balance Volume(OBV). 

https://charts.mql5.com/8/675/xauusd-h4-metaquotes-software-corp.png 

 %R - работает в диапазоне 0 - -100 %, у OBV - нет конкретной привязки.

Когда OBV находится в окне %R, мы визуально видим, что он заходит за -20 или -80%.

Как в советнике получить данные о том что  OBV находится выше -20% или ниже -80%.

Как привязать OBV в кастомном индикаторе к диапазону 0 - -100 %?  Нормализовать его к нему (диапазону)? Как это сделать?  

Нормализовать  OBV к %R , я так понимаю, не надо (картинка будет другая).

Может это элементарно, я с этим просто не сталкивался.   


Какие есть пути решения?

 
Галочки убрать.
 
Karputov Vladimir:

Какие есть пути решения?

Бестолковая задача -- пути решения искать нет смысла.

Очевидно, что индикаторы по числовому диапазоны не совместимы.

 

Оптимальным решением был бы расчет формулы WPR на данных OBV. Будет как-то так:

VolumeWPR (WPR on Accumulation/Distribution) 

Для сравнения приведен стандартный WPR. VolumeWPR построен на iAD вместо iOBV, но можно и на iOBV.

 

 А как эти все наложения пересчитывает терминал? 

Человек видит "картинку" все три индикатора  выше -20 продает, ниже -80 покупает. Попросил меня сделать это в советнике, чтобы протестировать на истории.

 https://charts.mql5.com/8/730/gold-m15-instaforex-group.png

 

Индикаторы  iAD и iOBV использует кто-то в советниках?

Их в принципе можно заменить на iМFI.

 

Еще, как вариант, внести изменения в индикатор On Bakance Value по типу расчёта Williams'a:

//---  main cycle
   while(i<rates_total && !IsStopped())
     {
      //--- calculate maximum High
      double dMaxHigh=MaxAr(high,ExtPeriodWPR,i);
      //--- calculate minimum Low
      double dMinLow=MinAr(low,ExtPeriodWPR,i);
      //--- calculate WPR
      if(dMaxHigh!=dMinLow)
         ExtWPRBuffer[i]=-(dMaxHigh-close[i])*100/(dMaxHigh-dMinLow);
      else
         ExtWPRBuffer[i]=ExtWPRBuffer[i-1];
      //--- increment i for next iteration
      i++;
     }

, то есть вычислять минимум и максимум показаний индикатора.

 
Andrey F. Zelinsky:

Бестолковая задача -- пути решения искать нет смысла.

Очевидно, что индикаторы по числовому диапазоны не совместимы.

Ну зачем так - сразу.

Данная задача решаема. 

 
Alexander Voronkov:

Ну зачем так - сразу.

Данная задача решаема. 

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

такими индикаторами завален интернет, включая кодабазу.

чего стоят стратегии, например, на пересечении РСИ и МАКД.

эта задача -- из той же серии.

p.s.

зачем два разных индикатора размещать в одном окне? с какой целью? напрашивается только одна цель -- использовать пересечение одного индикатора с другим

а если так -- то задача не имеет никакого практического и теоретического смысла -- одним словом, бестолковая задача

 
Andrey F. Zelinsky:

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

такими индикаторами завален интернет, включая кодабазу.

чего стоят стратегии, например, на пересечении РСИ и МАКД.

эта задача -- из той же серии.

p.s.

зачем два разных индикатора размещать в одном окне? с какой целью? напрашивается только одна цель -- использовать пересечение одного индикатора с другим

а если так -- то задача не имеет никакого практического и теоретического смысла -- одним словом, бестолковая задача

о чем это вы ?   отпустите вожжи !)

p.s.   не знаю зачем и с какой целью, это не ко мне !)

 
Здесь скорее вопрос, как для индикатора, который не имеет настроек шкалы (как индикатор On Balance Volume), создать виртуальную шкалу например от "0" до "100".
 
Karputov Vladimir:
Здесь скорее вопрос, как для индикатора, который не имеет настроек шкалы (как индикатор On Balance Volume), создать виртуальную шкалу например от "0" до "100".
Это просто - нормировать его значения по окну заданного количества баров, как например сделано в MFI.
Причина обращения: