穿越函数cross,昨天在线下(这个线是指判断穿越的线,下同),今天穿越该线了,函数表现是对的,
但是遇到其他情况时是失真和错误的,比如:
1,从线下到和线一样的数值,保持一个k线后者多个k线同数值,后又下线,实际上没有穿越,信号失真;(反之亦然,不再多说);
2:从线下上线,再和和线保持数值一样几个k线,再上线,则函数误判;
如果遇到以上情况,可以编程解决,但很麻烦,cross就失去了价值,能否找到新函数,真正代表穿越现象。谢谢
系统默认的cross 在处理2个数值线变化过程中,默认是前一个K小于等于,当前K大于 则满足金叉。
你这里可以自行写个逻辑来判断金叉死叉的。把算法略做调整:
那么可以这样改下:
jc:ma5>ma10 and ref(ma5<=ma10,1);//前一个K小于,当前K满足大于等于 则满足金叉。
你可以在这个基础上继续修改 。总之就是把数值相等的情况单独处理下就行了。要么把等号的判断放在当前K,要么也可以忽略掉相等的情况。这个具体看你需求。