以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 条件语句 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=173474) |
-- 作者:thomasv -- 发布时间:2019/12/10 16:47:01 -- 条件语句 我有两个条件condA和condB,哪个条件先满足就先执行它的语句改怎么写。用两个if分开写吗。 |
-- 作者:FireScript -- 发布时间:2019/12/10 16:51:57 -- 分开写2个if语句。但是如果同时满足 就按照代码前后顺序执行。 |
-- 作者:thomasv -- 发布时间:2019/12/11 16:59:10 -- 我分开写了两个if语句,但是测试的时候发现会先后开两个仓,在先后平两个仓。我语句里用了holding=0的判断 |
-- 作者:FireScript -- 发布时间:2019/12/11 17:10:44 -- 方便的话,帖下你的代码。 |
-- 作者:thomasv -- 发布时间:2019/12/11 17:25:39 -- 开多条件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 会出现两个先后买入,然后先后卖出。我的本意哪个条件先满足,就先执行,另一个不用执行。
|
-- 作者:FireScript -- 发布时间:2019/12/12 9:12:20 -- 看代码逻辑应该不会出现你说的问题。然后这里最好改下,你之前写的不规范。 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 |
-- 作者:thomasv -- 发布时间:2019/12/12 11:24:33 -- 如何控制在一根k线上只允许开一次仓 |
-- 作者:yukizzc -- 发布时间:2019/12/12 11:31:04 -- if enterbars=-1 or enterbars>0 then buy(); 用开仓历史来控制
|