macd的:
DIFF : EMA(CLOSE,S) - EMA(CLOSE,P);
DEA : EMA(DIFF,M);
MACD1 : 2*(DIFF-DEA), COLORSTICK;
difff:valuewhen(c<>ref(c,1),diff);
deaa:valuewhen(c<>ref(c,1),dea);
macdd:valuewhen(c<>ref(c,1),macd1);
kdj的:
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,P1,1);
D:SMA(K,P2,1);
J:3*K-2*D;
kk:valuewhen(c<>ref(c,1),k);
dd:valuewhen(c<>ref(c,1),d);
jj:valuewhen(c<>ref(c,1),j);
版主你好!我在5分钟周期运用MACD和KDJ指标的时候,发现 C=REF(C,1) 的情况太多。导致指标失真。 能不能帮我把这个情况去掉。就是当C=REF(C,1) 的时候,MACD和KDJ不计算,当C<>REF(C,1)的时候延续上次计算。 相当于 把 C=REF(C,1) 这段行情去掉来计算MACD和KDJ! 意思是:当c=ref(c,1)时候不计算 当从c=ref(c,1)变到C<>REF(C,1)的状态时 重新计算,不是返回到原来正常时候的KDJ值上 举例:均线 现在有10个数据,求3个数据的均值。13个数字分别是 1,2,3,4,4,4,4,4,5,6,7,8,9 数字 想要的 版主的 正常的 (第三个数字起)3 第一个均线值是 (1+2+3)/3 (1+2+3)/3 (1+2+3)/3 4 第二个均线值是 (2+3+4)/3 (2+3+4)/3 (2+3+4)/3 4 第三个均线值是 (2+3+4)/3 (2+3+4)/3(也就是上一个的均线值) (2+3+4)/3 也就是上一个的均线值 4 第四个均线值是 (2+3+4)/3 同上 (3+4+4)/3 4 第五个均线值是 (2+3+4)/3 同上 (4+4+4)/3 4 第六个均线值是 (2+3+4)/3 同上 (4+4+4)/3 5 第七个均线值是 (3+4+5)/3 (4+4+5)/3 也就是没有处理时候的均线值 (4+4+5)/3 6 第八个均线值是 (4+5+6)/3 (4+5+6)/3 (4+5+6)/3 意义不一样,这个是均线的正常数字 7 第九个均线值是 (5+6+7)/3 (5+6+7)/3 (5+6+7)/3 8 第十个均线值是 9 第十一个均线值是 注意颜色相同的。用了valuewhen后就是在数字5处 直接返回大正常时候(4+4+5)/3 而我的意思是取(3+4+5)/3 再次麻烦版主了!谢谢 |
楼主版主那个其实不算错,确实达到了不输出(但计算)
你说那个是数组排序后用冒泡法抽出来在计算意思了。
我觉得有点复杂啊,就说KDJ,你就要计算3个数组
H[]
L[]
C[]
然后当C=ref(C,1) 不抽取H与L的数,只有不等于才抽取上述数组内数进行计算对吧。
不够详细,按照上面的格式再发一份排版能看的
不是返回kdj那是返回什么?