以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  vba读指标值,不刷新怎么处理  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=181007)

--  作者:yesdgn
--  发布时间:2020/7/3 10:09:08
--  vba读指标值,不刷新怎么处理
我们用vba读10多个品种的指标值,那些值都是错的,后面查出是这些指标不会自动刷新。现在问题是:1.如果用框架在主图中显示,会不会自动刷新?2.框架品种多了,延迟会很多,会产生很大滑点,不要说高频交易,普通交易也很难接受,有没有比较好的措施?我们以前4个框架速度都比较慢;
--  作者:yukizzc
--  发布时间:2020/7/3 10:18:47
--  

你是怎么读的指标值,还有不自动更新你自己做了计时器自动刷新的处理没


--  作者:yesdgn
--  发布时间:2020/7/3 10:55:24
--  
我们是在VBA的定时器里执行下面的公式:
SET Formula = MarketData.STKINDI(Stock,Stockjys,"cta03-jqb",0,0,,560) 

 没有使用ActivateFrameWithCode来刷新合约,因为这样太慢了。  但是结果是公式出来的数据是不正确的, 我们现在新建框架把几个合约全放在上面显示出来  这样是否数据能自动刷新,  然后公式出来的数据正确?  或者有其它方案没有? 我们想要快一些然后公式出来的数据正确。

--  作者:yesdgn
--  发布时间:2020/7/3 12:00:09
--  
另外定时器刷新除ActivateFrameWithCode以外,还有其他函数吗?不切换界面静默刷新的模式的
--  作者:yukizzc
--  发布时间:2020/7/3 16:18:33
--  
本地测试完全没有问题
图片点击可在新窗口打开查看此主题相关图片如下:p0ke_}2motarfbolrj}ed.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:`95xjrz1aasw)rx$t$i$){v.png
图片点击可在新窗口打开查看

--  作者:yukizzc
--  发布时间:2020/7/3 16:19:19
--  


call Application.SetTimer(0,2000)

 

Sub APPLICATION_Timer(ID)
SET Formula = MarketData.STKINDI("cn00","cn","ma",0,0,,560)
application.MsgOut Formula.GetBufData("ma1",Formula.DataSize-1)
End Sub


Sub APPLICATION_VBAEnd()
call application.KillTimer(0)
End Sub


--  作者:yesdgn
--  发布时间:2020/7/3 19:10:45
--  
我说的这个问题和原来的一个人发的问题是一模一样的: http://www.weistock.com/bbs/dispbbs.asp?BoardID=5&ID=97571&replyID=&skin=1
现在已经好几年了  不知道有没有更好的解决方法,比如VBA代码调用公式前先调用某个函数之类刷新下当前这个合约的数据  然后再运行公式  让它能得到最新数据的公式结果
我们现在运行下来 , 公式结果和盘后再看同一周期的公式结果经常不一样  我是怀疑数据没有及时更新的原因。

--  作者:yesdgn
--  发布时间:2020/7/3 19:16:24
--  
我们现在是新建了个框架界面  上面放了几个合约   这样vba里运行公式 他就会正确一些,  这说明界面上显示出来  合约的数据就会及时更新成最新的 或者可能是优先更新,但是这样很耗性能  而且只能放几个合约  放的多了就更慢了 但是我们要运行二十个合约 的公式   我们想知道是不是有更有效的方法  让他运行公式出的结果正确又不那么耗性能
--  作者:yesdgn
--  发布时间:2020/7/3 19:24:00
--  
就是不让图表显示,仅仅是vba读指标的值,而且让vba读的值同图表上看到的值一样可不可以?
--  作者:yukizzc
--  发布时间:2020/7/3 19:54:23
--  
你盘中看的数值和盘后看是不一样的,你盘中的最新价你说和盘后去看的收盘价能使一个价格吗
你可以直接去调用输出k线价格,然后去看下