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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → [求助]把“成交价格”赋值给网站后台

   

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


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

主题:[求助]把“成交价格”赋值给网站后台

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


加好友 发短信
等级:新手上路 帖子:3 积分:0 威望:0 精华:0 注册:2014/9/10 15:35:24
[求助]把“成交价格”赋值给网站后台  发帖心情 Post By:2014/9/18 13:35:10 [只看该作者]

因为本人的网站要办一个模拟股指期货的比赛,要做一个模拟交易插件。交易所每0.5秒返回一组成交数据,我想把这组数据里的“成交价格”赋值给网站后台里的自定义的一个数值型常量;这个能实现吗?懂的人请进,我愿意支付一定报酬,谢谢

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


加好友 发短信
等级:新手上路 帖子:3 积分:0 威望:0 精华:0 注册:2014/9/10 15:35:24
  发帖心情 Post By:2014/9/18 13:39:25 [只看该作者]

网站是discuz论坛,插件为PHP编写,它们之间是不是要写接口?


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


加好友 发短信
等级:新手上路 帖子:3 积分:0 威望:0 精华:0 注册:2014/9/10 15:35:24
  发帖心情 Post By:2014/9/18 13:41:12 [只看该作者]

2、ReportNotify事件

     使用ReportNotity来监控价格变化比上面的定时读取价格的方法好的地方是价格的每一次跳动都逃不过这个事件的监控,而使用定时器,则会漏掉一些价格,不如:股指每一秒钟有2笔成交回报,用上面的方法就会漏掉一次价格变化,当然如果你把定时器设置成500毫秒一次也可以获取每一次的价格变化,但是这样对系统资源的消耗会很大的,而是用这个事件相对占用较少系统资源。

    如果你是做套利的,那么对价格变动更加敏感,使用这个事件是最好的选择。

    这个事件的使用,需要首先注册你要监控的品种,使用RegReportNotify方法,代码如下:

    sub RegIF()            '还是监控IF06合约的价格变化

            Call MarketData.RegReportNotify("IF06","ZJ")

            '要监控多个品种,继续写代码就行了,如:

            Call MarketData.RegReportNotify("RB10","SQ")    '监控上期的螺纹钢10月份合约

    end sub

    把这个过程用到VBAStart事件中,就会在启动VBA时自动注册对IF06合约的监控

 

    到这里为止,你只做了一半事情,很多人就是在这之后不知道怎么获取行情数据了。别担心,继续看下去你就明白了。

 

    注册了合约之后,需要通过另一个事件来获取行情数据,那就是ReportNotify事件,这个事件会返回一个ReportData对象,这个更上面的一样。

    Sub MarketData_ReportNotify(ReportData)

            '有人在这里还是用1的方法设置一个report1变量,然后取report1的返回值,这是多余的,ReportData本身就是返回的数据,直接取reportData的值就行了。

            NewPrice=ReportData.NewPrice

            stkLable=ReportData.Label

            Application.Msgout Cdate(time) & ",Code:" & stkLabel & ",NewPrice:" & NewPrice

    End Sub

 

   当你监控了某一个品种之后,应该在Application_VBAEnd事件或Application_Close事件中进行注销,不然这个合约在你启动VBA时依然有效,除非你退出金字塔,重新进入就没有了。

   注销的方法是:使用unRegReportNotify方法。

   Sub UnRegIF()

          Call MarketData_UnRegReportNotify("IF06","ZJ")

   End Sub

   可以把这个过程用到Application_VBAEnd中,就会很好的在你不用的时候注销监控的品种了。



 回到顶部