В нём всё так, разве что излишне повторяется вызов индикатра, хотя уже были заданы переменные нужные и код можно было сделать гораздо короче, но на работу это не влияет.
А не работают условия, взгляните на свой индикатор COUNT_II и попробуйте логически выполнить те условия, что прописаны в COUNT, они просто не выполняются никогда, т.к. в COUNT_II индикаторе на всех барах есть сигналы и H и L
чуть упрощенный код COUNT
Код: Выделить всё
function Initialize()
{
IndicatorName = "COUNT";
AddInput("Input1", Inputs.Candle);
PriceStudy = true;
AddSeries("H", DrawAs.Custom, Color.Coral);
AddSeries("L", DrawAs.Custom, Color.LightGreen);
}
function Evaluate()
{
var lastLVal = MY.COUNT_II(Input1).GetLastValues ("L", 1)[0];
var lastHVal = MY.COUNT_II(Input1).GetLastValues ("H", 1)[0];
if ((lastHVal.X > lastLVal.X ? lastHVal.Y : lastLVal.Y) == lastHVal.Y)
if (lastHVal.Y > MY.COUNT_II(Input1).GetLastValues ("H", 2)[1].Y)
if (lastHVal.Y != lastLVal.Y)
H[1] = lastHVal.Y;
if ((lastHVal.X > lastLVal.X ? lastHVal.Y : lastLVal.Y) == lastLVal.Y)
if (lastLVal.Y < MY.COUNT_II(Input1).GetLastValues ("L", 2)[1].Y)
if (lastHVal.Y != lastLVal.Y)
L[1] = lastLVal.Y;
H.DrawArrowDown(Color.Fuchsia, LineStyles.Solid, 10, Color.Fuchsia, 100);
L.DrawArrowUp(Color.Lime, LineStyles.Solid, 10, Color.Lime, 100);
}
и самое главное "зачем это всё???"