你是想把六条均线所有的排列情况分别打分吗?问题是可能的排列太多了,6条线,用排列组合公式算,是p(6,6)=6*5*4*3*2*1=720种可能,太多了。就是说,6条完全多头排列时,是满分719。精选4条比较合适,那样有24种排列。 就算要给6线的720种排列分别自动打分,也不难,但每种该打多少分,你列个长表告诉我才行,比如634521、643251谁更接近多头,各给多少分我就分不清。这样吧,小均线每金叉一次打均线,加一分,每死叉一次,减一分,我编出如下。但满分就不是固定多少了,而且有负数。不过,跟临近时期比较没问题。m1:=ma(c,5);m2:=ma(c,10);m3:=ma(c,20);m4:=ma(c,30);m5:=ma(c,60);m6:=ma(c,120);cc1:=max(max(max(max(max(m1,m2),m3),m4),m5),m6);dd1:=min(min(min(min(min(m1,m2),m3),m4),m5),m6);差比:(cc1/dd1-1)*100;a1:=cross(m1,m2) or cross(m1,m3) or cross(m1,m4) or cross(m1,m5) or cross(m1,m6);a2:=cross(m2,m3) or cross(m2,m4) or cross(m2,m5) or cross(m2,m6);a3:=cross(m3,m4) or cross(m3,m5) or cross(m3,m6);a4:=cross(m4,m5) or cross(m4,m6);a5:=cross(m5,m6);aa:=a1 or a2 or a3 or a4 or a5;aaa:=sum(aa,0);c1:=cross(m6,m1) or cross(m6,m2) or cross(m6,m3) or cross(m6,m4) or cross(m6,m5);c2:=cross(m5,m1) or cross(m5,m2) or cross(m5,m3) or cross(m5,m4);c3:=cross(m4,m1) or cross(m4,m2) or cross(m4,m3);c4:=cross(m3,m2) or cross(m3,m1);c5:=cross(m2,m1);cc:=c1 or c2 or c3 or c4 or c5;ccc:=sum(cc,0);净金叉:aaa-ccc,nodraw; 回答疑问:我这是完全公式,你以前的“差比”和后来要求的金叉死叉计数编在一起了。你把以前的“差比”公式删掉,全贴这个过去。测试通过了的。 20210311