以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 老师帮忙指点一下 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=150195) |
-- 作者:2457146251 -- 发布时间:2017/4/7 15:24:18 -- 老师帮忙指点一下 现在有两个进场条件 CondA 和 CondB 我想实现的进场方式的,,1,CondA 条件进场 2 手, 当cond 2 条件 满足之后,,, 再 进场 2 手 , 总共4手, 2, 当condB 满足,而CondA不满足时候,只进场CondB 2 手, 也就是说,,,CondB进场 不受 CondA 限制 不管有没有持仓, 满足CondB 则进场( 即便CondA 已经进场了),而 CondA 进场 的前提是 holding 必须= 0 ,也就是空仓! 我写语句是这样的 if time > 093000 then begin if holding = 0 and CondA then buyshort( 1 , 2 , limitr, open * mindiff ), ignorecheckprice ; if holding = -2 or holding = 0 and CondB then buyshort( 1 , 2 , limitr, open * mindiff ), ignorecheckprice ; end 这样造成的问题就是,,,条件 CondB 满足之后,,一下子进 4 手, 我只想要进2手,怎么改,,也就是说,不过有没有持仓, 条件Cond B 进场 就 2 手,只进场一次 条件Cond A 进场的前提是 空仓 麻烦老师帮忙理清一下表达思路,,,谢谢 |
-- 作者:wenarm -- 发布时间:2017/4/7 15:43:07 -- 你的需求表述总结 1,在没有仓位时,并且CondA成立则开仓,若cond2 满足则加仓2手。 2.condB满足就开仓2手。
如果上述理解没有问题就是 if condA and HOLDING=0 then buy(); if condB then buy(); |