请问大神能否共享一下TBL的ADX用户函数代码啊?谢谢谢谢先,自己编的总不成功
//------------------------------------------------------------------------
// 简称: 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指标的代码复制过去即可