- 精华
- 2
- 在线时间
- 192 小时
- UID
- 390
- 积分
- 2142
- 帖子
- 286
- 阅读权限
- 70
- 注册时间
- 2007-9-21
- 最后登录
- 2019-4-1
- 精华
- 2
- UID
- 390
- 积分
- 2142
- 帖子
- 286
- 主题
- 45
- 阅读权限
- 70
- 注册时间
- 2007-9-21
- 最后登录
- 2019-4-1
|
加权移动平均线WMA,请区别SMA,WMA的计算方法是:
假设求5日的收盘价的WMA
WMA5=(一天CLOSE*1+第二天CLOSE*2+..+第五天CLOSE*5)/(1+2+3+4+5)
在TB里面,加权移动平均的用户函数是WAverage,但是这个函数有个缺点,就是假设求5天的加权移动平均
那么前面四根K线他会输出N/A,
我修改了一下,如果K线数量小于Length,则仅求前面K线数量的加权平均
//------------------------------------------------------------------------
// 简称: WMA
// 名称: 求N周期的加权移动平均
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//------------------------------------------------------------------------
Params
NumericSeries Price(1);
Numeric Length(10);
Vars
NumericSeries WMAValue;
Begin
If ( CurrentBar < Length - 1 || WMAValue[1] == InvalidNumeric)
{
WMAValue = WAverage(Price,CurrentBar+1);
}Else
{
WMAValue = WAverage(Price,Length);
}
Return WMAValue;
End
//------------------------------------------------------------------------
// 编译版本 GS2004.06.12
// 用户版本 2007/09/25 08:38
// 版权所有 pwqzc
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------ |
|