Код: Выделить всё
function Initialize()
{
// Обязательные параметры:
   IndicatorName = "ATR-X";   // Задайте название индикатора и сохраните с данным именем
   PriceStudy = true;   // Рисовать в области цены (true – да, false – нет)
   AddInput("Input", Inputs.Candle);   // Input - входной ряд (Inputs.Price) или свечи (Inputs.Candle)
   AddSeries("A", DrawAs.Line, Color.Red);   // Задаем вид линии индикатора A
// Дополнительные параметры:
AddParameter("Scan", 20, 1);      // Сканируемый период
 //AddVariable("Z", 0);   // Задаем имя глобальной переменной и её значение
}
function Evaluate()
//Владимир
{
       double ATRx=0.0;
      double ATRxn=0.0;
      int Scanx = (int)(Scan);
if ((MaxIndex - CurrentIndex) > Scan) return;
{
   if (CurrentIndex == MaxIndex)
      {
         for (var x= Scanx; x>0; x--) 
         {// расчёт атр
         ATRx=Input.High[x]-Input.Low[x];
         ATRxn=ATRxn+ATRx;
      //   LogData ("ATRx-" + Convert.ToString(x) +" = " + Convert.ToString(Math.Round(ATRx)) , IndicatorName);
         }
   LogData ("ATR ср = " + Convert.ToString(Math.Round(ATRxn/(Scanx))) , IndicatorName);   
      }// OFF if (CurrentIndex == MaxIndex)
 }  // OFF if ((MaxIndex - CurrentIndex) > Scan) return;
}
