Индикатор вместо того чтобы рисовать каждый раз, в итоге один рисует один подъем и все на этом. Но если вместить копипастом "if" несколько раз то все более менее рисует. Но не возможно же в ручную if прописывать, а при запуске циклов то идут либо жуткие тормоза либо вовсе зависает пк.
Код: Выделить всё
function Initialize()
{
// Область определения параметров индикатора
// Обязательные параметры:
IndicatorName = "a"; // Задайте название индикатора и сохраните с данным именем
PriceStudy = true; // Рисовать в области цены (true – да, false – нет)
AddInput("Input", Inputs.Candle); // Input - входной ряд (Inputs.Price) или свечи (Inputs.Candle)
AddSeries("A", DrawAs.Line, Color.Red); // Задаем вид линии индикатора A
// Дополнительные параметры:
AddParameter("Period", 200); // Задаем имя изменяемого параметра и его значение
AddLevel(0, Color.Red, "Last"); // Создание уровня со значением 0 в области ряда Last
}
function Evaluate()
{
Levels[0].Level = 77000;
if ( Input.Close[3] > Levels[0].Level)
{
Levels[0].Level = Levels[0].Level + Period;
}
}
либо так
Код: Выделить всё
function Evaluate()
{
Levels[0].Level = 76300;
if ( Input.Close[3] > Levels[0].Level)
{
Levels[0].Level = Levels[0].Level + Period;
}
if ( Input.Close[3] > Levels[0].Level)
{
Levels[0].Level = Levels[0].Level + Period;
}
if ( Input.Close[3] > Levels[0].Level)
{
Levels[0].Level = Levels[0].Level + Period;
}
if ( Input.Close[3] > Levels[0].Level)
{
Levels[0].Level = Levels[0].Level + Period;
}
}