Пользовательские индикаторы > pFractal: экстремумы для Input.Price

Дополнительные индикаторы от пользователей Альфа-Директ 4. Готовые решения от пользователей.
BugsDigger
Сообщения: 533
Зарегистрирован: 11 ноя 2018, 17:11
Благодарил (а): 21 раз
Поблагодарили: 91 раз

pFractal: экстремумы для Input.Price

Непрочитанное сообщение BugsDigger » 27 апр 2020, 12:31

Вариант Fractal для "точечных" (Input.Price) данных.

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

function Initialize()
{
 IndicatorName = "pFractal";
 AddInput("Input", Inputs.Price);
 AddParameter("Period", 5);    // требуемое число точек слева и справа от экстремума
 PriceStudy=true;
 AddSeries("H", DrawAs.Custom, Color.Coral);
 AddSeries("L", DrawAs.Custom, Color.LightGreen);
}

function Evaluate()
{
 int period=(int)Period;
 if(CurrentIndex>2*period)
 {
  double v=Input[-period];
  int xH=0, xL=0;
  double v1, v2;
  for (int i=1; i<=period; i++)
  {
   v1=Input[-period-i];
   v2=Input[-period+i];
   if(v>=v1 && v>=v2) ++xH;
   if(v<=v1 && v<=v2) ++xL;
  }
  if(xH==period) H[period]=v;
  if(xL==period) L[period]=v;

  H.DrawArrowDown();
  L.DrawArrowUp();
 }
}

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

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

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