ATR函数没有被声明

老师,麻烦帮忙看下下面这个ATR止损策略该怎样修改,编译出错,提示ATR函数没有被声明

Params

   Numeric ATRPeriod(14);  // ATR计算周期

   Numeric StopLossMultiplier(2.0);  // 止损倍数

Vars

   Series<Numeric> ATR(0);  // ATR值

Events

   OnBar(ArrayRef<Integer> indexs)

   {

       // 计算ATR值

       ATR = ATR(Close, ATRPeriod);

      // 如果当前持有多头仓位且价格低于买入价格减去ATR的2倍,则执行止损

       if(MarketPosition == 1 && Close < EntryPrice - StopLossMultiplier * ATR)

       {

           Sell(1, Close); // 平多单

       }

        // 如果当前持有空头仓位且价格高于卖出价格加上ATR的2倍,则执行止损

       if(MarketPosition == -1 && Close > EntryPrice + StopLossMultiplier * ATR)

       {

           BuyToCover(1, Close); // 平空单

       }

   }


函数没有被声明
Then变量没有被声明
软件报错:PlotBar函数没有被声明 (疑似Bug)
MACD函数,Capital变量,HHV函数没有被声明,怎样处理?
Then的变量没有被声明
setbaseperiod函数没有被声明
关于 “ADX、PlusDI 和 MinusDI函数没有被声明的问题
SETSIGPRICE函数没有声明
策略编译时提示:MACD函数没有被声明
请教代码老师!v5版本转到v6版本编译提示 函数【Div】没有被声明

AvgTrueRange

计算atr的函数是这个

如果你不知道怎么计算,可以打开公式内部的对应指标代码看一下怎么调用代码的

收到,谢谢老师

问题已解决,非常感谢