请问如何把这个2个开仓条件单独标记出来,屏幕能显示出是kd1还是kd2开仓的
开仓条件
kd1:a;
kd2:d;
if kd1 OR KD2 and mark<2 then //增加了限制,加仓不超过2次
begin
mark:=mark+1;
buy(1,5%,market),PERTRADER;
end
if sd2 and holding>0 and mark=2 then
begin
sd1离场:sell(holding>0 and sd2,holding,market);
mark:=0;
end
你如果开仓是用 kd1 or kd2这种方式去控制的,其实就区分不开了。你只能单独写2个开仓的代码块,且分别用kd1,kd2去控制。
这样才有区分的操作空间。具体方式就和
sd1离场:sell(holding>0 and sd2,holding,market);
类似。例如:
kd1进场:buy(1,5%,market),PERTRADER;
if kd1 and mark<2 then //增加了限制,加仓不超过2次
begin
mark:=mark+1;
kd1进场:buy(1,5%,market),PERTRADER;
end
if KD2 and mark<2 then //增加了限制,加仓不超过2次
begin
mark:=mark+1;
KD2进场:buy(1,5%,market),PERTRADER;
end
如何写
1,t+1收盘价涨停不卖,不涨停就平仓
2,符合开多条件在收盘价前15秒开仓,不等到收盘.
abb:time0-timetot0(dynainfo(207));//K线结束倒计时间
cond1:(C-REF(C,1))/REF(C,1)>=0.1 //涨停板按照10%,使用时候请按照实际情况修改下
if (HOLDING-DAYHOLDING)>0 and not(cond1) and (not(ISLASTBAR) or abb<=10) then sell(1,HOLDING-DAYHOLDING,market);//有老仓时候才平仓,且只平老仓的量。
忘记了一条。就是上面代码有效运行只能是固定轮询,主要是提前下单的那个功能。 走完K模式需要单独使用走完K里面的提前N秒下单。具体看你是否有使用这个功能的权限了。
2,符合开多条件在收盘价前15秒开仓,不等到收盘.
老师这个我要的是单独开仓条件,不是平仓条件
纠正下:
abb:time0-timetot0(dynainfo(207));//K线结束倒计时间
cond1:(C-REF(C,1))/REF(C,1)>=0.1 //涨停板按照10%,使用时候请按照实际情况修改下
if
(HOLDING-DAYHOLDING)>0 and not(cond1) then sell(1,HOLDING-DAYHOLDING,market);//有老仓时候才平仓,且只平老仓的量。
if 开仓条件 and and (not(ISLASTBAR) or
abb<=15) then buy(holding=0,1,market);
ma5:ma(c,5);
if OPENPROFIT>=0.1 and cross(ma5,c) and HOLDING-DAYHOLDING>0 then sell(1,HOLDING-DAYHOLDING,market);//浮动盈亏大于0.1 且有老仓时候且满足收盘价下穿ma5 平仓
if OPENPROFIT<0.1 and time>=185500 and HOLDING-DAYHOLDING>0 then sell(1,HOLDING-DAYHOLDING,market);//浮动盈亏小于0.1 且有老仓时候且时间大于等于14:55 之后平仓