Можно задать количество баров для поиска экстремума слева и справа по отдельности.
Period1 - бары слева
Period2 - бары справа
Код: Выделить всё
function Initialize()
{
IndicatorName = "Fractal2";
AddInput("Input", Inputs.Candle);
AddParameter("Period1", 15);
AddParameter("Period2", 5);
PriceStudy = true;
AddSeries("H", DrawAs.Custom, Color.Coral);
AddSeries("L", DrawAs.Custom, Color.LightGreen);
}
function Evaluate()
{
// evge 22.05.2018 http://alfadirect4.ru
if (CurrentIndex > Period1 + Period2)
{
var xH = true;
var xL = true;
var HPoint = Input.High[-Period2];
var LPoint = Input.Low[-Period2];
for (var i = 0; i < Math.Max(Period1, Period2); i++)
{
if (i < Period1)
{
if (Input.High[Period2 + i + 1] > HPoint) xH = false;
if (Input.Low[Period2 + i + 1] < LPoint) xL = false;
}
if (i < Period2)
{
if (Input.High[i] > HPoint) xH = false;
if (Input.Low[i] < LPoint) xL = false;
}
}
if (xH) H[Period2] = HPoint;
if (xL) L[Period2] = LPoint;
H.DrawArrowDown();
L.DrawArrowUp();
}
}
Скачать индикатор