欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 有没有办法禁止某个策略在某个时间段内开仓?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3758人关注过本帖树形打印复制链接

主题:有没有办法禁止某个策略在某个时间段内开仓?

帅哥哟,离线,有人找我吗?
qwe123
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:317 积分:1565 威望:0 精华:0 注册:2012/10/9 11:12:26
  发帖心情 Post By:2013/3/1 8:50:12    Post IP:118.181.194.128[显示全部帖子]

看楼主的意思应该很好解决。
在参数表中设置参数Na;Nb;Nc;取值范围为-1,1,step2;-1为禁止交易,1允许交易。人工在需要时设置参数。
交易语句这么写
buy(a and Na>0,1,thisclose);
buyshort(a and Na>0,1,thisclose);
这样就禁止开仓了。

对于已经用a策略开仓的仓位,要考虑解决办法。
1.可以用其它策略去操作;
2.一旦我禁止a策略交易就平掉a策略所开的仓。这个要使用控制变量来区分各个策略的所开的仓。如果a策略开仓了ca:=1;如果a策略没有开仓ca:=-1;
...............
begin
sell(ca>0 and na<0,1,thisclose);
sellshort(ca>0 and na>0,1,thisclose);
ca:=-1;
end

使用这种方法一定要把逻辑关系搞清楚,多写注释,否则很快自己都晕了。

没有使用经验,仅供参考。

 回到顶部
帅哥哟,离线,有人找我吗?
qwe123
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:317 积分:1565 威望:0 精华:0 注册:2012/10/9 11:12:26
  发帖心情 Post By:2013/3/1 9:00:15    Post IP:118.181.194.128[显示全部帖子]

补充一下,如果a,b,c,三个策略中a开仓了,而holding=0 或者a开的是多仓而holding<0,那么你必须区分a策略是开的多仓还空仓,并根据b,c策略的交易情况来处理,很绕人的,不过可以解决。

 回到顶部
帅哥哟,离线,有人找我吗?
qwe123
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:317 积分:1565 威望:0 精华:0 注册:2012/10/9 11:12:26
  发帖心情 Post By:2013/3/1 22:13:27    Post IP:118.181.194.128[显示全部帖子]

谢谢,说句题外话,既然要程序化交易,就一定不要人工干预,否则很多问题说不清楚,影响自己的心情。把要考虑的东西都写到程序里,让程序自己去跑就行了。

 回到顶部