以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  如何打开指定日期的K线  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=70946)

--  作者:deni977
--  发布时间:2014/10/14 11:58:37
--  如何打开指定日期的K线
如题,我们在检测策略的时候,想看看过去某一天的K线上的策略表现信号情况,如何用VBA打开框架,并将当前窗格显示移到指定日期的K线?
--  作者:王锋
--  发布时间:2014/10/14 13:53:48
--  

建议你仔细看看金字塔的VBA编程手册,给你提示几个函数

 

PosByDate         以日期为参数,返回与之相对应的周期序列

ShowCount        窗格显示数据量,可与Grid.StartShowIndex配合可以实现画面平移,可读写

StartShowIndex     窗格第一个显示数据的基于0的索引,可与Grid.ShowCount配合可以实现画面平移,可读写


--  作者:deni977
--  发布时间:2014/10/14 14:58:25
--  

谢谢指导。

我的版本是3.31,PosByDate 这个方法有,ShowCount、StartShowIndex这两个方法没有找到,难道不是Grid对象的吗?看的是帮助菜单的“VBA编程信息”


--  作者:王锋
--  发布时间:2014/10/14 15:06:40
--  
ShowCount、StartShowIndex 是Grid对象的属性, 请认真翻阅编程手册
--  作者:deni977
--  发布时间:2014/10/15 12:02:28
--  

不懂VBA,确实是很痛苦,简直是文盲一样。折腾了一个晚上,还是没有解决问题,程序代码如下,请高手指点:

        Call Application.ActivateFrameWithCode("Technic","IF00","ZJ",12)  \'打开多秒周期框架
        Set Grid = Technic.GetGridByName("Main")
        Grid.MaxLoadCount = 4000
        \'Grid.SetDataCount(2000)                  

        Grid.StartShowIndex = 500               \'希望窗格从第500根K线开始显示
        Grid.ShowCount = 1000                    \'希望窗格显示1000根K线

        Grid.ReInitData                                

      

       Application.MsgOut Grid.StartShowIndex   \'输出信息

       Application.MsgOut Grid.ShowCount          \'输出信息

 

       结果:没有实现指定的K线段到主窗格,当前主窗格显示总数也不是程序指定的 1000根,因为初学VBA,比较吃力,请指导为盼。

 

 

[此贴子已经被作者于2014/10/15 12:02:52编辑过]

--  作者:guotx2010
--  发布时间:2014/10/15 15:30:01
--  
你第一行,打开多秒周期,本地可能没有那么多数据呀,建议改为日线,我昨天给你的代码,不能实现吗?
--  作者:deni977
--  发布时间:2014/10/15 18:59:12
--  
以下是引用guotx2010在2014/10/15 15:30:01的发言:
你第一行,打开多秒周期,本地可能没有那么多数据呀,建议改为日线,我昨天给你的代码,不能实现吗?

首先我是保证了本地数据是完整的,已经下载好数据。你提供的方法,我也测试了,不能实现。


--  作者:deni977
--  发布时间:2014/10/15 19:00:25
--  
金字塔这个VBA的具体编程例子确实很少,给新手们带来了一些困难,我想慢慢会摸索出来的。
--  作者:马良
--  发布时间:2014/10/15 21:44:59
--  
你先打开图表看看到底能显示那么多k线么?