以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 有没有办法禁止某个策略在某个时间段内开仓? (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=49002) |
-- 作者:双保险 -- 发布时间:2013/2/27 19:50:53 -- 有没有办法禁止某个策略在某个时间段内开仓? 多策略监控一个品种,现在要求 明天: 策略a,在九点到十一点之间禁止开仓,其余时间可以开仓。 其他策略,在上午可以开仓,下午不能开。
注意,这个每天要求不同的。能否临时盘中决定?
比如后天,又要求策略a,13点半之后不允许开仓。
谢谢。 [此贴子已经被作者于2013-2-27 19:51:53编辑过]
|
-- 作者:双保险 -- 发布时间:2013/2/27 20:06:03 -- 也就是说需要运行策略,但又不想开仓。也不能固定死某一天固定一个时段不开仓,是变化的。 |
-- 作者:RogarZ -- 发布时间:2013/2/27 21:21:02 -- 你要怎么定,怎么改变这个取决你的逻辑。 你逻辑自己都没搞清。程序怎么去写?? if time>090000 and time<120000 then gotoXXXX 参考goto函数
|
-- 作者:老贾 -- 发布时间:2013/2/28 10:04:52 -- 以下是引用双保险在2013-2-27 20:06:03的发言:
也就是说需要运行策略,但又不想开仓。也不能固定死某一天固定一个时段不开仓,是变化的。 既然不能固定时段,而是你临时需要的时候才变,你只能人工调整,想临时禁止某个策略的时候把策略拿下就行 |
-- 作者:qwe123 -- 发布时间:2013/3/1 8:50:12 -- 看楼主的意思应该很好解决。 在参数表中设置参数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 -- 发布时间:2013/3/1 9:00:15 -- 补充一下,如果a,b,c,三个策略中a开仓了,而holding=0 或者a开的是多仓而holding<0,那么你必须区分a策略是开的多仓还空仓,并根据b,c策略的交易情况来处理,很绕人的,不过可以解决。 |
-- 作者:双保险 -- 发布时间:2013/3/1 20:15:38 -- qwe123十分感谢你的解答,虽然我还有点晕。。。
不过金字塔真的可以参考博易大师的条件单的暂停功能啊,更何况你们和博易是一个公司旗下的哦。
|
-- 作者:qwe123 -- 发布时间:2013/3/1 22:13:27 -- 谢谢,说句题外话,既然要程序化交易,就一定不要人工干预,否则很多问题说不清楚,影响自己的心情。把要考虑的东西都写到程序里,让程序自己去跑就行了。 |