以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  提前下单问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=72928)

--  作者:leehaul
--  发布时间:2014/12/11 16:11:37
--  提前下单问题
5分钟周期,在10:15、11:30、15:00这三个时间点提前5秒下单,其他时间点正常下单。

交易系统采用逐K模式,并勾选“仅刷最后一根K线”

//盘中及收盘前5秒下单

ABB:=((TIME0-TIMETOT0(DYNAINFO(207))<5) AND ISLASTBAR AND (TIME=101500 OR TIME=113000 OR TIME=150000)) OR NOT(ISLASTBAR);

//平多

IF 平多条件 AND ABB THEN SELL(HOLDING>0,0,MARKET);

//平空

IF 平空条件AND ABB THEN SELLSHORT(HOLDING<0,0,MARKET);

//开多

IF 开多条件AND ABB THEN

BEGIN

         SELLSHORT(HOLDING<0,0,MARKET);

         BUY(HOLDING>=0,10,MARKET);

END;

//开空

IF 开空条件AND ABB THEN

BEGIN

         SELL(HOLDING>0,0,MARKET);

         BUYSHORT(HOLDING<=0,10,MARKET);

END;


图表程序化,采用固定时间间隔,时间间隔为1秒

用模拟盘试了,结果是只有10:15、11:30、15:00这三个时间点有交易,其他时间点就算图表出现信号也没有交易

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:下单日志.rar



[此贴子已经被作者于2014/12/11 16:12:28编辑过]

--  作者:chengyang
--  发布时间:2014/12/11 16:31:59
--  

ABB:=((TIME0-TIMETOT0(DYNAINFO(207))<5) AND ISLASTBAR AND (TIME=101500 OR TIME=113000 OR TIME=150000)) OR NOT(ISLASTBAR);

你的abb 写了只让这三个时间下单啊


ABB:=((TIME0-TIMETOT0(DYNAINFO(207))<5) AND ISLASTBAR ;这样就了呗


--  作者:chengyang
--  发布时间:2014/12/11 16:33:18
--  
还有你下单命令里数量用了0 , 平仓手数用零 会有问题 ,用holding稳妥
[此贴子已经被作者于2014/12/11 16:34:55编辑过]

--  作者:jinzhe
--  发布时间:2014/12/11 16:40:33
--  
以下是引用chengyang在2014/12/11 16:31:59的发言:

ABB:=((TIME0-TIMETOT0(DYNAINFO(207))<5) AND ISLASTBAR AND (TIME=101500 OR TIME=113000 OR TIME=150000)) OR NOT(ISLASTBAR);

你的abb 写了只让这三个时间下单啊


ABB:=((TIME0-TIMETOT0(DYNAINFO(207))<5) AND ISLASTBAR ;这样就了呗

是的,你的代码里面要求了在这3个时间段,你问的问题很奇怪,是不是代码不是自己写的


--  作者:jinzhe
--  发布时间:2014/12/11 16:41:21
--  
以下是引用chengyang在2014/12/11 16:33:18的发言:
还有你下单命令里数量用了0 , 平仓手数用零 会有问题 ,用holding稳妥
[此贴子已经被作者于2014/12/11 16:34:55编辑过]

倒不是有问题,全平写0会平掉当前账户内当前合约的全部持仓,也就是会把其他合约下的单子给平掉,所以写个holding比较稳妥


--  作者:leehaul
--  发布时间:2014/12/11 16:50:08
--  

ABB:=((TIME0-TIMETOT0(DYNAINFO(207))<5) AND ISLASTBAR 

这个公式是任何时间都提前5秒下单

我是希望在10:15,11:3015:00这三个时间提前下单,其他时间都按信号正常下单,请问该怎么写?

 

另外,平仓命令里,平仓手数写零,是参照金字塔联机帮助里:

SELLSHORT(COND,V,Type,P);表示当COND条件成立时,空头卖出V股(手)当前品种,0表示全部(实盘交易时为全部实际持仓)

 

如果照你说的用零会有问题,能否用省略来表示平仓全部手数?

//平多

IF 平多条件 AND ABB THEN SELL(HOLDING>0,,MARKET)

//平空

IF 平空条件AND ABB THEN SELLSHORT(HOLDING<0,,MARKET)

 




--  作者:leehaul
--  发布时间:2014/12/11 16:54:36
--  
10:15-10:30和11:30-13:30都不是交易时间,15:00是收盘时间,所以希望在这3个时间点能提前下单
其他时间用正常交易即可

--  作者:leehaul
--  发布时间:2014/12/11 16:57:12
--  
以下是引用jinzhe在2014/12/11 16:41:21的发言:

倒不是有问题,全平写0会平掉当前账户内当前合约的全部持仓,也就是会把其他合约下的单子给平掉,所以写个holding比较稳妥



好像不会把其他合约平掉吧,我实盘上用过这个平仓条件,只平掉当前品种的持仓


--  作者:jinzhe
--  发布时间:2014/12/11 17:03:02
--  
以下是引用leehaul在2014/12/11 16:57:12的发言:

写错了,是其他策略的单子给平掉,不是其他合约,不好意思


--  作者:jinzhe
--  发布时间:2014/12/11 17:03:55
--  
不能省略掉那个参数,如果希望全平,那么写holding最稳妥,写0是不考虑有其他策略一起运行的情况下写的