我在使用RSI指标的过程发现: 信号经常出现变换,极不稳定,我怀疑RSI指标中 引用的 SMA 函数你们可能编写有问题!
LC := REF(CLOSE,1);
bRSI1:=SMA(MAX(CLOSE-LC,0),b1,1)/SMA(ABS(CLOSE-LC),b1,1)*100;
bRSI3:=SMA(MAX(CLOSE-LC,0),b2,1)/SMA(ABS(CLOSE-LC),b2,1)*100;
cond:=cross(brsi1,brsi3) ;
这样一个简单定义 的信号 就会出现不稳定的情况.(序列计算,快速设置为1000)
太搞了 RSI在序列模式和逐K模式下计算的结果完全不一样!
狗血啊!
按照SMA的定义,如果SMA最后一个参数是1,其实就是MA
n=1 y1=sma(x1,1,1)=(x1+(n-1)*y0)/n=x1
n=2 y2=sma(x2,2,1)=(x2+(2-1)*y1)/n=(x2+x1)/2
n=3 y3=sma(x3,3,1)=(x3+(3-1)*y2)/n=(x3+x2+x1)/3
...
我用ma和你们的SMA 比较了计算结果 ,不一样
不用举例了.你可以自己看一下你们SMA的定义,再手工计算一RSI指标中M权重为1的情况下,是否相当于MA就行了.
如此重要的函数出现错误,太让人惊讶了!
以下是引用stockwiner在2012-5-18 10:51:15的发言:
n=1 y1=sma(x1,1,1)=(x1+(n-1)*y0)/n=x1
n=2 y2=sma(x2,2,1)=(x2+(2-1)*y1)/n=(x2+x1)/2
n=3 y3=sma(x3,3,1)=(x3+(3-1)*y2)/n=(x3+x2+x1)/3
...
我用ma和你们的SMA 比较了计算结果 ,不一样
还有你这计算方式是错误的。
SMA=(M*X+(N-M)*上个周期的SMA)/N
y1=sma(x1)/1=x1;
y2=sma(x2+上个周期的Y2)/2,不能等同于X1.
y3=sma(x3+上个周期的Y3)/3,不能等同于X2
以下是引用stockwiner在2012-5-18 13:54:29的发言:
不用举例了.你可以自己看一下你们SMA的定义,再手工计算一RSI指标中M权重为1的情况下,是否相当于MA就行了.
如此重要的函数出现错误,太让人惊讶了!
具体是对是错,你可以手动算一下,然后对照着函数输出值来算。