Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:怎么判断某个合约是否已启用?

1楼
guotx2010 发表于:2012/2/16 10:44:11

我同时交易两个合约,如IF02,IF03,当主力合约变为IF03时,交易IF03,IF04这时有一个问题,那就是IF04还没有生效,是用什么函数判断这个合约是否已经启用了?

 

 

2楼
阿火 发表于:2012/2/16 10:52:45

人工判断。或者判断日期是否为currentdate

3楼
guotx2010 发表于:2012/2/16 11:15:12

我现在的思路是判断当前是星期几,如果主力合约月份>当前月份,并且今天是周4或者周5,就不交易,因为远月合约还没有启用。

这样有一个问题,那就是本月第4个星期的周4、周5也不会交易,而那时远月合约已经启用了。

 

4楼
阿火 发表于:2012/2/16 13:06:49

那么麻烦干嘛

有交易的话,date的值就会等于currentdate ,这个方法可以吧。

5楼
guotx2010 发表于:2012/2/16 22:32:31

我是用后台策略,监控的品种始终是IF00,如果按照你说的使用Date和CurrentDate比较,始终是相等的,就分不出远月合约是否已经启用了。

这种情况只在周4、周5出现,像今天是周4,IF主力合约已经换成了IF03,这时IF04还没有启用,要等到下周1才会启用,所以针对主力合约的

下一个月的交易就会“找不到合约”。

 

我现在的解决办法是:

使用VBA来解决这个问题,使用reportdata.LastOI来取出IF04的昨天成交量,如果等于0,说明IF04还没有启用,然后保存到全局变量中,

策略中使用extgbdata取出这个变量,如果变量的值等于0,就退出,这样就可以避免下单错误了。

 

共5 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.02148 s, 3 queries.