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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 关于等价K线

   

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


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

主题:关于等价K线

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


加好友 发短信
等级:论坛游侠 帖子:581 积分:171 威望:0 精华:0 注册:2013/4/2 6:58:20
关于等价K线  发帖心情 Post By:2017/2/9 11:20:27 [显示全部帖子]

用VBA自定义了等价K线,图表调用显示也正常,盘中通过订阅产生新的等价K线也正常,就是盘中图表调用的时候,右边“报”窗格,不刷新,请教如何设置?

盘中产生等价K线代码如下:

'sssssssssssssssssssssssssssssssssssssss行情来临事件
Sub MarketData_ReportNotify(ReportData)
            
            NewPrice=ReportData.NewPrice
            stkLable=ReportData.Label
           
           
            'Application.Msgout Cdate(time) & ",Code:" & stkLable & "  ,NewPrice:" & NewPrice
            
            if (StrComp(stkLable,"PB00")=0) then
                    set Report1 = marketdata.GetReportData(laoheyue,laoshichang)
Set NewHistory2 = marketdata.GetHistoryData(xinheyue,xinshichang,0)      '1f
        call application.PeekAndPump        
        if NewHistory2.Count>2 then
        CompareH=NewHistory2.open(NewHistory2.Count-1)
        end if
        mxopen2 = NewHistory2.open(NewHistory2.Count-1)
        mxclose2 = NewHistory2.close(NewHistory2.Count-1)
        mxhigh2 = NewHistory2.high(NewHistory2.Count-1)
        mxlow2 = NewHistory2.low(NewHistory2.Count-1)
        mxDate2 = NewHistory2.Date(NewHistory2.Count-1)                
        close2 = report1.newprice
        mxDate2 = Report1.Date    
        if close2 > mxhigh2 then mxhigh2 = close2 end if
        if close2 < mxlow2  then mxlow2 = close2 end if        
       
        NewHistory2.close(NewHistory2.Count-1) = close2
        NewHistory2.high(NewHistory2.Count-1) = mxhigh2
        NewHistory2.low(NewHistory2.Count-1) = mxlow2
        NewHistory2.Date(NewHistory2.Count-1) = mxdate2        

       
        call NewHistory2.SaveData(xinheyue,xinshichang,1) '存入1f k线
       
        qj = 20
       
        if abs(close2-mxopen2) > qj then '大于等价区间
        '新建一个K线       
        call NewHistory2.InsertAt(NewHistory2.Count)
        NewHistory2.open(NewHistory2.Count-1) = close2
        NewHistory2.close(NewHistory2.Count-1) = close2
        NewHistory2.high(NewHistory2.Count-1) = close2
        NewHistory2.low(NewHistory2.Count-1) = close2
        NewHistory2.Date(NewHistory2.Count-1) = mxdate2        
        call NewHistory2.SaveData(xinheyue,xinshichang,1) '存入1f k线        
        Application.Msgout “新建K线成功。” & Cdate(time) & ",Code:" & stkLable & "  ,NewPrice:" & NewPrice    
        end if  
        call Technic.Refresh        '刷新图表
       
            end if

End Sub






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


加好友 发短信
等级:论坛游侠 帖子:581 积分:171 威望:0 精华:0 注册:2013/4/2 6:58:20
  发帖心情 Post By:2017/2/9 11:21:00 [显示全部帖子]

图表截图如下:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170209105145.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:论坛游侠 帖子:581 积分:171 威望:0 精华:0 注册:2013/4/2 6:58:20
  发帖心情 Post By:2017/2/9 11:39:24 [显示全部帖子]

代码是MarketData_ReportNotify(ReportData) 事件中倒数第三句,call Technic.Refresh        '刷新图表,

这一句不能刷新图表的最新报价吗?



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


加好友 发短信
等级:论坛游侠 帖子:581 积分:171 威望:0 精华:0 注册:2013/4/2 6:58:20
  发帖心情 Post By:2017/2/9 21:59:27 [显示全部帖子]

非常感谢耐心回复、指导,最新价终于可以刷新了。
如下图,但是右侧的“报”价栏,还是没有刷新,是不是要象MAIN一样调用才可以?

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170209215648.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:论坛游侠 帖子:581 积分:171 威望:0 精华:0 注册:2013/4/2 6:58:20
  发帖心情 Post By:2017/2/10 21:09:35 [显示全部帖子]

report 对象,很多是只读属性,无法完整写入啊

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


加好友 发短信
等级:论坛游侠 帖子:581 积分:171 威望:0 精华:0 注册:2013/4/2 6:58:20
  发帖心情 Post By:2017/2/10 22:28:29 [显示全部帖子]

一个一个填完,把只读的已经帅选出来了,非常感谢。

 回到顶部