Параметр «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();
}
}