[PEL] 复制代码
GLOBALVARIABLE:A:=0;//全局变量记录A是否开过仓
input: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,NODRAW;
kdjjc:cross(k,d),NODRAW;//kdj金叉 A条件
kdjsc:cross(d,k),NODRAW;
input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6);
DIFF :EMA(CLOSE,S) - EMA(CLOSE,P);
DEA :EMA(DIFF,M);
MACD1 :2*(DIFF-DEA), COLORSTICK;
macdjc:cross(diff,dea),NODRAW;//macd金叉 B条件
macdsc:cross(dea,diff),NODRAW;
ss1:=100;//A开仓手数
ss2:=200;//B开仓手数
if kdjjc and macdjc then //同时满足 开仓B的手数
begin
tbuy(1,ss2,Mkt);
end
if kdjjc and not(macdjc) then //满足A,不满足B 开仓A的手数 同时全局变量进行记录
begin
tbuy(1,ss1,Mkt);
A:=1;
end
if macdjc AND A then //满足B条件且 有A的持仓
begin
ss:=INTPART((20000)/(100*c))*100;//按照2万资金以及最新价计算的股数
tbuy(1,ss,MKT);
end
IF (macdsc OR kdjsc) AND TBUYHOLDINGEX('','',0)>0 THEN //平仓时候重置全局变量
BEGIN
TSELL(1,0,MKT);
A:=0;
END