Пользовательские индикаторы > Индикатор Prior Day OHLC

Дополнительные индикаторы от пользователей Альфа-Директ 4. Готовые решения от пользователей.
Tom
Сообщения: 3
Зарегистрирован: 01 июн 2018, 15:06
Благодарил (а): 1 раз

Индикатор Prior Day OHLC

Непрочитанное сообщение Tom » 07 июл 2020, 16:49

Добрый день. Может кто сделать индикатор Prior Day OHLC для АД4 ?

Простыми словами Индикатор Prior Day OHLC показывает на графике уровни open, high, low and close вчерашнего дня
Изображение

В настройках индикатора нужно сделать (отметил стрелочками):
Изображение

Maks
Сообщения: 52
Зарегистрирован: 15 июн 2020, 15:29
Благодарил (а): 8 раз
Поблагодарили: 27 раз

Re: Индикатор Prior Day OHLC

Непрочитанное сообщение Maks » 27 июл 2020, 16:04

Добрый день. Может кто сделать индикатор Prior Day OHLC для АД4 ?

Простыми словами Индикатор Prior Day OHLC показывает на графике уровни open, high, low and close вчерашнего дня
Изображение

В настройках индикатора нужно сделать (отметил стрелочками):
Изображение


Скрины не вижу, но по описанию что-то подобное:

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

function Initialize() {
   IndicatorName = "PriorDayOHLC";   
   AddInput("Input", Inputs.Candle);   
   PriceStudy = true;
   AddSeries("Op", DrawAs.Custom, Color.Silver);  // открытие предыдущего дня
   AddSeries("Hi", DrawAs.Custom, Color.Green); // максимум предыдущего дня     
   AddSeries("Lo", DrawAs.Custom, Color.Red);   // минимум предыдущего дня
   AddSeries("Cl", DrawAs.Custom, Color.Silver);  // закрытие предыдущего дня
   AddSeries("Mid", DrawAs.Custom, Color.Gray);  // (high+low)/2 цена предыдущего дня
   
   AddGlobalVariable("PrevDayOpen", Types.Double, 0);
   AddGlobalVariable("PrevDayHigh", Types.Double, 0);
   AddGlobalVariable("PrevDayLow", Types.Double, 0);
}

function Evaluate() {

   /* 07.2020 by Maks
   * PriorDayOHLC
   *
   * На графиках с периодичностью 1 день и менее рисуются уровни предыдущего дня
   * На графиках с периодичностью 1 день и более рисуются уровни предыдущей свечи
   */
   
   if (CurrentIndex > 0) {
      if ( BarDate() >  BarDate(-1)) {
         Op[0] = PrevDayOpen;
         Hi[0] = PrevDayHigh;
         Lo[0] = PrevDayLow;
         Cl[0] = Input.Close[-1];
         Mid[0] = (PrevDayLow + PrevDayHigh) * 0.5;

         PrevDayOpen = Input.Open[0];
         PrevDayHigh = Input.High[0];
         PrevDayLow = Input.Low[0];
      } else {
         Op[0] = Op[-1];
         Hi[0] = Hi[-1];
         Lo[0] = Lo[-1];
         Cl[0] = Cl[-1];
         Mid[0] = Mid[-1];
         
         if (PrevDayHigh < Input.High[0]) PrevDayHigh = Input.High[0];
         if (PrevDayLow  > Input.Low[0])  PrevDayLow  = Input.Low[0];
      }
      Op.DrawDash();
      Cl.DrawDash();
      Mid.DrawDash();
      Hi.DrawDash();
      Lo.DrawDash();
   } else {
      PrevDayOpen = Input.Open[0];
      PrevDayHigh = Input.High[0];
      PrevDayLow = Input.Low[0];
   }
}

Maks
Сообщения: 52
Зарегистрирован: 15 июн 2020, 15:29
Благодарил (а): 8 раз
Поблагодарили: 27 раз

Re: Индикатор Prior Day OHLC

Непрочитанное сообщение Maks » 27 июл 2020, 16:11

PriorDayOHLC.zip
(883 байт) 865 скачиваний


Вернуться в «Пользовательские индикаторы»

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

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