ADX函数

请问大神能否共享一下TBL的ADX用户函数代码啊?谢谢谢谢先,自己编的总不成功

输入DMI

//------------------------------------------------------------------------// 简称: ADX// 名称: 平均动向指数// 类别: 公式应用// 类型: 内建应用// 输出://------------------------------------------------------------------------Params Numeric Length(14); // 计算周期Vars Series<Numeric> TR; // 真实波幅 Series<Numeric> HD; // 最高价变化 Series<Numeric> LD; // 最低价变化 Series<Numeric> DMP; // 上升动向 Series<Numeric> DMM; // 下降动向 Series<Numeric> PDI; // 上升方向指标 Series<Numeric> MDI; // 下降方向指标 Series<Numeric> ADX; // 平均动向指数 Series<Numeric> ADXR; // 平均动向指数评估 Series<Numeric> Deviation; // 偏离率Events OnBar(ArrayRef<Integer> indexs) { // 计算真实波幅 TR = Average(Max(Max(High - Low, Abs(High - Close[1])), Abs(Low - Close[1])), Length); // 计算最高价和最低价变化 HD = High - High[1]; LD = Low[1] - Low; // 计算上升动向和下降动向 DMP = Average(IIf(HD > 0 And HD > LD, HD, 0), Length); DMM = Average(IIf(LD > 0 And LD > HD, LD, 0), Length); // 计算上升方向指标和下降方向指标 PDI = DMP * 100 / TR; MDI = DMM * 100 / TR; // 计算ADX ADX = Average(Abs(MDI - PDI) / (MDI + PDI) * 100, Length); // 计算ADXR ADXR = (ADX + ADX[6]) / 2; // 计算偏离率 Deviation = ADX - ADXR; // 输出结果 Commentary("TR: " + Text(TR) + "\n" + "HD: " + Text(HD) + "\n" + "LD: " + Text(LD) + "\n" + "DMP: " + Text(DMP) + "\n" + "DMM: " + Text(DMM) + "\n" + "PDI: " + Text(PDI) + "\n" + "MDI: " + Text(MDI) + "\n" + "ADX: " + Text(ADX) + "\n" + "ADXR: " + Text(ADXR) + "\n" + "Deviation: " + Text(Deviation)); }//------------------------------------------------------------------------// 编译版本 GS2014.10.25// 版权所有 TradeBlazer Software 2003-2025// 更改声明 TradeBlazer Software保留对TradeBlazer平台每一版本的TradeBlazer公式修改和重写的权利//------------------------------------------------------------------------

回复:老师请问下我把您这段代码复制到软件里,编译提示最后大括号这行出错,提示OnBar函数缺少返回值,这要怎样修改呢

回复:参考了😀

系统里有一个用adx指标写的策略,把这个策略里关于adx指标的代码复制过去即可