Осцилляторы нормированные > RWilliams (%R) – осциллятор процентного диапазона Вильямса

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 361 раз
Контактная информация:

RWilliams (%R) – осциллятор процентного диапазона Вильямса

Непрочитанное сообщение evge » 08 фев 2016, 07:51

%R – является нормированным осциллятором и совпадает с линией %K SO (Stochastic Oscillator) со смещение на -1, т.е. отличается только диапазоном отображения [0; -100]. Поэтому является частным случаем SO (Stochastic Oscillator) и не рассматривается.

Автор: Ларри Вильямс (Larry Williams)
Источник: How I made one million dollars (https://ru.wikipedia.org/wiki/Williams_%25R)

Пример:

RWilliams-00.png
RWilliams-00.png (42.93 КБ) 19099 просмотров


Исходный текст:

Код: Выделить всё

function Initialize()
{
   IndicatorName = "RWilliams";   
   PriceStudy = false;   
   AddInput("Input", Inputs.Candle);   
   AddSeries("RWilliams", DrawAs.Line, Color.White);   
   AddParameter("nK", 5);   
   AddLevel(-20.0 , Color.Gray, "RWilliams");
   AddLevel(-80.0 , Color.Gray, "RWilliams");
}

function Evaluate()
{
// AlfaDirect. 2015. OX
// %R () - Совпадает со встроенным RWilliams AlfaDirect

 if (CurrentIndex < (nK))
 {
   RWilliams = 0.0;
 }
 else
 {
    var eMax = Input.High[0];
   var eMin = Input.Low[0];
   for (int i=1; i < nK; i++)
   { 
      if (Input.High[-i] > eMax)
         eMax = Input.High[-i];
      if (Input.Low[-i] < eMin)
         eMin = Input.Low[-i];
   }
   double a = (eMax - eMin);
   if (a > 0.0)
       RWilliams =  -100.0*(eMax - Input.Close[0]) / a;
   else
       RWilliams = -100.0;
 }
}
никогда такого не было и вот опять

Вернуться в «Осцилляторы нормированные»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя