以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- 关于等价K线 (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=147583) |
-- 作者:deni977 -- 发布时间:2017/2/9 11:20:27 -- 关于等价K线 用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 -- 发布时间:2017/2/9 11:21:00 -- 图表截图如下: |
-- 作者:王锋 -- 发布时间:2017/2/9 11:33:21 -- 没看到你可以让他刷新的任何代码。 参考 REPORT对象 |
-- 作者:deni977 -- 发布时间:2017/2/9 11:39:24 -- 代码是MarketData_ReportNotify(ReportData) 事件中倒数第三句,call Technic.Refresh \'刷新图表, 这一句不能刷新图表的最新报价吗?
|
-- 作者:王锋 -- 发布时间:2017/2/9 12:15:05 -- set Report111 = marketdata.GetReportData("PB88",laoshichang)
得到你自建的品种report对象,然后设置该对象的数据,然后再刷新窗格 |
-- 作者:deni977 -- 发布时间:2017/2/9 21:59:27 -- 非常感谢耐心回复、指导,最新价终于可以刷新了。 如下图,但是右侧的“报”价栏,还是没有刷新,是不是要象MAIN一样调用才可以?
|
-- 作者:马良 -- 发布时间:2017/2/10 7:56:49 -- 报表的基本数据项要填全的。开高低收量额时间 |
-- 作者:deni977 -- 发布时间:2017/2/10 21:09:35 -- report 对象,很多是只读属性,无法完整写入啊 |
-- 作者:deni977 -- 发布时间:2017/2/10 22:28:29 -- 一个一个填完,把只读的已经帅选出来了,非常感谢。 |
-- 作者:cq2698 -- 发布时间:2019/1/18 14:51:29 -- [求助]deni977 老师 deni977 老师能不能发个完整的文件.请求加QQ40128320谢谢 |