有对股票指标的编程感兴趣的吗?大家探讨下
1a0001.rar
(164.97 KB)
附件是上证的日数据,我想编出k,d值,RSV=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; 当天的收盘价shclose减9天内的最低值shlow 除 9天内的最高-最低,9需要设置为变量,方便参数的修改K=SMA(RSV,3,1);
D=SMA(K,3,1);
需要解决2个常用的函数sma和ema,
EMA是指数平滑平均,它真正的公式表达是:当日指数平均值=平滑系数*(当日指数值-昨日指数平均值)+昨日指数平均值;平滑系数=2/(周期单位+1);由以上公式推导开,得到:EMA(C,N)=2*C/(N+1)+(N-1)/(N+1)*昨天的指数收盘平均值;
仔细看:X=EMA(C,2)=2/3*C+1/3*REF(C,1); EMA(C,3)=2/4*C+2/4*X;所以,它在计算平均值时,考虑了前一日的平均值,平滑系数是定的,它是利用今日的值与前一日的平均值的差,再考虑平滑系数,计算出来的平均值,所以也有叫异同平均的。
因为EMA的平滑系数是定的,=2/(周期+1);如果要改变平滑系数咋办?这就用到了SMA;
SMA(C,N,M)与EMA的区别就是增加了全重参数M,也就是用M代替EMA平滑系数中的2,这样我们可以根据需要调整当日数值在均价中的权重=M/N。(要求N>M);
要的结果就是测试指标提示买入卖出点的正确性,能获得的收益