以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  [求助][求助]marketdata中的reportnotify  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=7651)

--  作者:micro_mok
--  发布时间:2011/8/23 10:31:41
--  [求助][求助]marketdata中的reportnotify

1、reportnotify是如何编写激活指令?

 

timer的激活指令是sub application_timer(ID)的编写

 

那么reportnotify的激活指令是什么呢

 

 

 

2、而且发出reportnotify指令的到底是reportdata还是marketdata呢(这涉及到编写对象返回后的处理)

 

 

 

 

3、不知道在marketdata是否能定义哪些品种的数据接收呢(及其方法)

 

marketdata在一开始是不是一个对所有品种的集合,要通过删除添加,才能控制品种数据的接收。


--  作者:26327756l
--  发布时间:2011/8/23 10:39:28
--  

 

reportnotify 事件的使用你看了下面的帖子,就明白了。(宏和VBA的语句是可以同用的)有不明白的地方再发贴。

http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=2120

[此贴子已经被作者于2011-8-23 10:42:11编辑过]

--  作者:micro_mok
--  发布时间:2011/8/23 10:57:59
--  

Sub MARKETDATA_ReportNotify(ReportData)

其实这个激活的那个reportdata已经是返回当个品种的reportdata对象吧

 

在你的示例中是应为要做合约间的套利,才另外导入两个reportdata吧


--  作者:26327756l
--  发布时间:2011/8/23 11:23:55
--  

你的理解是对的

 

那么我换一个语句描述一下。

call marketdata.RegReportNotify("CF09","ZQ") 这是个方法调用,它执行后,将触发

Sub MARKETDATA_ReportNotify(ReportData) 这个事件,同时将("CF09","ZQ") 这个品种数据传送给ReportData对象,就是你说的激活,那么更确切的说,其实是一个对象赋值,将参数赋值给ReportData对象。


 


--  作者:micro_mok
--  发布时间:2011/8/23 12:16:31
--  
那我另外的一个问题,marketdata是否能够控制某些品种数据不接受呢?
--  作者:26327756l
--  发布时间:2011/8/23 13:42:21
--  

金字塔的数据是全推式的,就是链接了服务器后,上面的品种新数据都会接收到。

如果你使用了call marketdata.RegReportNotify("CF09","ZQ") 这是个方法(这是叫做 注册品种数据通知),它执行后,将触发

Sub MARKETDATA_ReportNotify(ReportData) 这个事件,然后会一直会存在,一旦这个品种的最新数据达到后就会执行这个触发事件,那么你想要新数据到达时,不再执行这个触发事件了,你可以用方法 UnRegReportNotify  取消品种数据注册这个方法,使用完整语句是   call marketdata.UnRegReportNotify("CF09","ZQ") 。

不知这是不是你要的答案。

[此贴子已经被作者于2011-8-23 13:44:06编辑过]

--  作者:micro_mok
--  发布时间:2011/8/23 15:39:26
--  

是我要的答案,谢谢^_^