Билл Вильямс > BW_AC (Acceleration/Deceleration) – ускорение / замедление Билла Вильямса

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

BW_AC (Acceleration/Deceleration) – ускорение / замедление Билла Вильямса

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

AC является индикатором, который по своей сути аналогичен гистограмме MACD. но построенный на базе SMA с фиксированными параметрами.

AO_t=SMA(MP,5)–SMA(MP,34),

Где MP_t=(High_t+Low_t)/2

AC_t=AO_t-SMA(AO,5)

Индикатор AC является аналогом индикатора гистограммы MACD, только который построен на SMA.

Пример:

BW_AC-00.png
BW_AC-00.png (25.58 КБ) 25983 просмотра


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

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

function Initialize()
{
IndicatorName = "BW_AC";
AddInput("Input", Inputs.Candle);   
PriceStudy = false;   
AddSeries("BW_AC", DrawAs.Custom, Color.Red, AxisType.ZeroBased);   
AddGlobalVariable("LSMA5", Types.DoubleList);         
AddGlobalVariable("LSMA34", Types.DoubleList);         
AddGlobalVariable("LAO5", Types.DoubleList);         
}

function Evaluate()
{
// AlfaDirect. 2015. OX
// BW_AC (Acceleration/Deceleration) Bill Williams

  double TP = Input.High[0] + Input.Low[0];
  LSMA5.Add(TP);
  if ( CurrentIndex >= 5 )
     LSMA5.RemoveAt(0);
  double SMA5 = LSMA5.Average(x => x);

  LSMA34.Add(TP);
  if ( CurrentIndex >= 34 )
     LSMA34.RemoveAt(0);
  double SMA34 = LSMA34.Average(x => x);

  double AO = SMA5 - SMA34;
  LAO5.Add(AO);
  if ( CurrentIndex >= 5 )
     LAO5.RemoveAt(0);
  double AO5 = LAO5.Average(x => x);
  BW_AC = AO - AO5;

  if ( CurrentIndex > 0 )
    if ( BW_AC > BW_AC[-1] )
        BW_AC.DrawHistogram(Color.LightGreen);
    else
       BW_AC.DrawHistogram(Color.Red);
}
никогда такого не было и вот опять

Вернуться в «Билл Вильямс»

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

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