我有两个条件condA和condB,哪个条件先满足就先执行它的语句改怎么写。用两个if分开写吗。
分开写2个if语句。但是如果同时满足 就按照代码前后顺序执行。
我分开写了两个if语句,但是测试的时候发现会先后开两个仓,在先后平两个仓。我语句里用了holding=0的判断
开多条件1:=ALL(cond1,zz) && High>=MA1 && HOLDING = 0;
开多价格1:=MA1;
开多条件2:=HIGH>=MA4 && High>= Middlehv && HOLDING = 0 ;
开多价格2:=max(MA4,Middlehv);
if KD:=开多条件1>0 then begin
priceKD:= MAX(OPEN,开多价格1);
BUY(1,Tc,LIMITR,priceKD+1);
end
if KD:=开多条件2>0 then begin
priceKD:= MAX(OPEN,开多价格2);
BUY(1,Tc,LIMITR,priceKD+1);
end
if PD:=平多条件>0 then begin
pricePD:= Min(Open,平多价格1);
SELL(1,Tc,LIMITR,pricePD-1);
end
会出现两个先后买入,然后先后卖出。我的本意哪个条件先满足,就先执行,另一个不用执行。
看代码逻辑应该不会出现你说的问题。然后这里最好改下,你之前写的不规范。
if 开多条件1 then begin
priceKD:= MAX(OPEN,开多价格1);
BUY(1,Tc,LIMITR,priceKD+1);
end
if 开多条件2 then begin
priceKD:= MAX(OPEN,开多价格2);
BUY(1,Tc,LIMITR,priceKD+1);
end
if enterbars=-1 or enterbars>0 then
buy();
用开仓历史来控制