有个简单的范例:kdj和macd 同时金叉平空开多 同时死叉平多开空。
input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6),n(9,1,100,10),p1(3,2,40,4),p2(3,2,40,4);//参数设置
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;
DIFF : EMA(CLOSE,S) - EMA(CLOSE,P);
DEA : EMA(DIFF,M);
MACD1 : 2*(DIFF-DEA), COLORSTICK;
macdjc:cross(diff,dea);//macd金叉
macdsc:cross(dea,diff);
kdjjc:cross(k,d);//kdj金叉
kdjsc:cross(d,k);
if macdjc and kdjjc then
begin
sellshort(holding<0,holding,MARKET);
buy(holding=0,1,MARKET);
end
if macdsc and kdjsc then
begin
sell(holding>0,holding,MARKET);
buyshort(holding<0,1,MARKET);
end
JJ:=(CLOSE+HIGH+LOW)/3;
A:=EMA(JJ,5);
B:=REF(A,1);
STICKLINE(A>B,A,B,4,0),COLOR00FFFF;
STICKLINE(A<=B,A,B,4,0),COLORA00000;
HHJSJDA:=(3*CLOSE+OPEN+LOW+HIGH)/6;
HHJSJDB:(20*HHJSJDA+19*REF(HHJSJDA,1)+18*REF(HHJSJDA,2)+17*REF(HHJSJDA,3)+16*REF(HHJSJDA,4)+15*REF(HHJSJDA,5)+14*REF(HHJSJDA,6)
+13*REF(HHJSJDA,7)+12*REF(HHJSJDA,8)+11*REF(HHJSJDA,9)+10*REF(HHJSJDA,10)+9*REF(HHJSJDA,11)+8*REF(HHJSJDA,12)
+7*REF(HHJSJDA,13)+6*REF(HHJSJDA,14)+5*REF(HHJSJDA,15)+4*REF(HHJSJDA,16)+3*REF(HHJSJDA,17)+2*REF(HHJSJDA,18)+
REF(HHJSJDA,20))/210,COLORYELLOW;
HHJSJDC:MA(HHJSJDB,5),COLORRED;
老师,能不能把这个也加上,KDJ参数81.3.3,当HHJSJDB上穿HHJSJDC买涨,HHJSJDC下穿HHJSJDB买跌
我给你的样例代码就是按照这个方式去处理的啊。你完全可以参考的。