以下代码:跳空是按今天的最低价 最高价和昨天最后一根k的最高价最低价比较写的
好象执行起来有点问题,请您暂时等待,我这边再运行运行.
建一个公式命名:公式1, 另一个公式引用公式1的ma5
公式1
ma5:ma(c,5);
公式2
VARIABLE:d:=0,pc:=0,zs:=0;
zg:=VALUEWHEN(TODAYBAR=1,ref(h,1));
zd:=VALUEWHEN(TODAYBAR=1,ref(l,1));
z5:=stkindi('','公式1.ma5',0,6,-1);
h1:=VALUEWHEN(TODAYBAR=1,h);
l1:=VALUEWHEN(TODAYBAR=1,l);
oo:=VALUEWHEN(TODAYbar=1,o);
hh:=CALLSTOCK('if00',vthigh,2,-1);
ma5:ma(c,5);
j1:cross(h,ma5);
//开仓1
if l1>zg and h>z5 and zs<=3 then
begin
buy(holding=0,1,limit,oo+2*mindiff);
d:=1;
end
//开多2
if h1>zd or l1<zg and h>z5 and zs<=3 then
begin
buy(holding=0,1,limit,z5);
d:=1;
end
//开多3
pc2:VALUEWHEN(TODAYBAR=1,ref(pc,2));
pc1:VALUEWHEN(TODAYBAR=1,ref(pc,1));
if pc1=0 and pc2=1 and h>hh and zs<=3 then
begin
buy(holding=0,1,limit,hh);
d:=1;
end
//下跳空平多
if h1<zd and l<z5 then
begin
sell(holding>0,1,limit,oo-2*mindiff);
pc:=1;
end
//正常开盘平多
j2:cross(ma5,l);
if h1>zd or l1<zg and l<z5 THEN
begin
sell(holding>0,holding,limit,z5);
pc:=1;
end
//止损
if AVGENTERPRICE-l>=8*MINDIFF and d=1 THEN
begin
sell(holding>0,holding,market);
pc:=1;
zs:=zs+1;
end
if time=CLOSETIME(0) THEN
begin
pc:=0;
zs:=0;
d:=0;
end