Код: Выделить всё
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;
}