//有个简单的范例: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
buyshort 就是下空单的函数。
之前写错了一个地方,你改下,改成这样。
buyshort(holding=0,1,MARKET);