Японские традиции > HeikenAshi (Heiken Ashi Candles) – свечки Heiken Ashi

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

HeikenAshi (Heiken Ashi Candles) – свечки Heiken Ashi

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

Индикатор Heiken Ashi отображает другой вид биржевой свечи. В свече Heiken Ashi применяются модифицированные цены открытия, максимума, минимума бара и цена закрытия (Open, High, Low, Close), которые рассчитываются следующим образом:

Close = (O+H+L+C)/4;
Open = (Open (предыдущего бара) + Close (предыдущего бара))/2;
High = максимальное значение из (H, Open, Close);
Low = минимальное значение из (L, Open, Close), где O, H, L, C – цены текущего бара (открытия, максимум, минимум, закрытия).

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

Пример:

HeikenAshi-00.png
HeikenAshi-00.png (27.48 КБ) 4197 просмотров


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

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

function Initialize()
{
   IndicatorName = "HeikenAshi";
   AddInput("Input", Inputs.Candle);
   PriceStudy = true;   
   AddSeries("Open", DrawAs.Custom, Color.Gray);   
   AddSeries("High", DrawAs.Custom, Color.Gray);   
   AddSeries("Low", DrawAs.Custom, Color.Gray);   
   AddSeries("Close", DrawAs.Custom, Color.Gray);   
}

function Evaluate()
{
// AlfaDirect. 2015. OX
// HeikenAshi Candles
  if (CurrentIndex < 1)
  {
     Close = Input.Close[0];
     Open = Input.Open[0];
     High = Input.High[0];
     Low = Input.Low[0];
  }
  else
  {
     Close = 0.25*(Input.Open[0] + Input.High[0] + Input.Low[0] + Input.Close[0]);
     Open = 0.5*(Open[-1] + Close[-1]);
     High = Math.Max(Math.Max(Open[0], Input.High[0]), Close[0]);
     Low = Math.Min(Math.Min(Open[0], Input.Low[0]), Close[0]);
     High.DrawVertical(Low, Color.Black, Line.Solid, 1);
     if ( Close > Open)
         Close.DrawHistogram(Open, Color.FromArgb(150, Color.Blue), Line.Solid, 1, Color.Blue, 100);
     else
          Close.DrawHistogram(Open, Color.FromArgb(150, Color.Magenta), Line.Solid, 1, Color.Magenta, 100);
  }
}
никогда такого не было и вот опять

Вернуться в «Японские традиции»

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

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