Индикатор вместо того чтобы рисовать каждый раз, в итоге один рисует один подъем и все на этом. Но если вместить копипастом "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;
 }
 }
