Параметр «Period» данного индикатора показывает порядок фрактала, т.е. какое количество точек справа и слева должно быть ниже (выше) экстремума.
Пример:
Исходный текст:
Код: Выделить всё
function Initialize()
{
  IndicatorName = "Fractal";   
  AddInput("Input", Inputs.Candle);   
  AddParameter("Period", 5);   
  PriceStudy = true;   
  AddSeries("H", DrawAs.Custom, Color.Coral);   
  AddSeries("L", DrawAs.Custom, Color.LightGreen);   
}
function Evaluate()
{
// AlfaDirect. 2014. OX 
// Fractal. Period - число точек справа и слева от экстремума, которые ниже (выше) него 
  if (CurrentIndex > 2 * Period)
  {
     var xH = 0;
     var xL = 0;
     var HPoint =  Input.High[-Period];
     var LPoint =  Input.Low[-Period];
     for (var i = 0; i < Period; i++ )
     {
           if ( HPoint >= Input.High[i+1-Period] && HPoint >= Input.High[-i-1-Period] )
              xH = xH + 1;
           if ( LPoint <= Input.Low[i+1-Period] && LPoint <= Input.Low[-i-1-Period] )
              xL = xL + 1;
      }
      if ( xH == Period )
      {
          H[Period] = HPoint;
      }
      if ( xL == Period )
      {
          L[Period] = LPoint;
      }
      H.DrawArrowDown(); 
      L.DrawArrowUp(); 
  }
}
