以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=144548) |
-- 作者:987654jj -- 发布时间:2016/12/13 8:35:20 -- 多个条件下的开仓和平仓语句 比如有3个做多的条件ABC: 同时满足3个条件就开3手多单 满足其中任意2个就保留一手多单 只满足其中任意一个条件就保留一手空单 3个都不满足则开3手空 这种情况下的开仓和平仓语句应该怎么写才合适呢
|
-- 作者:jinzhe -- 发布时间:2016/12/13 8:57:15 -- 保留一手空单多单是上面意思? |
-- 作者:987654jj -- 发布时间:2016/12/13 9:16:21 -- 就是说 3个都满足 3手多单
2个满足 一个不满足 1手多单 1个满足 2个不满足 1手空单 3个都不满足 3手空单 |
-- 作者:jinzhe -- 发布时间:2016/12/13 9:31:58 -- c1:=条件1; c2:=条件2; c3:=条件3;
if c1+c2+c3=3 then buy(holding=0,3,marketr); if c1+c2+c3=2 then buy(holding=0,1,marketr);
if c1+c2+c3=1 then buyshort(holding=0,1,marketr); if c1+c2+c3=0 then buyshort(holding=0,3,marketr); |
-- 作者:987654jj -- 发布时间:2016/12/13 9:45:00 -- 这个只是开仓呀 如果条件变动的情况下 需要平仓的话应该怎么写 |
-- 作者:jinzhe -- 发布时间:2016/12/13 9:56:42 -- 我还以为你会自己加平仓进去
c1:=条件1; c2:=条件2; c3:=条件3;
if c1+c2+c3=3 then begin sellshort(1,0,marketr); buy(holding=0,3,marketr); end if c1+c2+c3=2 then begin sellshort(1,0,marketr); buy(holding=0,1,marketr); end
if c1+c2+c3=1 then begin sell(1,0,marketr); buyshort(holding=0,1,marketr); end if c1+c2+c3=0 then begin sell(1,0,marketr); buyshort(holding=0,3,marketr); end |