# GetHistoryData 方法

GetHistoryData (Code, Market,CycType,[Count,Parameter])

取指定证券历史数据HistoryData对象,该对象记录了该证券历史数据。返回值:返回HistoryData对象

参数
参数 说明
Code 品种代码
Market 基市场标识
Cyctype 周期类型:
0 1分钟
1 5分钟
2 15分钟
3 30分钟
4 60分钟
5日线
6周线
7月线
8年线
9多日线
10分笔成交
11多小时线
12多秒线
13多分钟线
14季度线
15半年线
16节气线
17 3分钟
18 10分钟
19 多笔线
Count 可选参数,若填数字则表示指定的调用数量,为0或者不填表示读取该品种在本地硬盘保存的全部数据
Parameter 可选参数若,当Cyctype为自定义周期时指定自定义周期数字。不填则表示使用系统选项设置中的自定义周期数字

注意:

  1. HistoryDataMode属性为0时,该对象使用一个共有的缓冲区来保存用户打开的市场数据,这意味着用户所调用的数据内容再下次重新调用其他品种或者调用不同种类的数据后会自动失效,若要在不同的品种间做横向数据处理请注意备份之前打开的数据,用户可以使用Visual Basic内部提供的数组,另外还可以使用金字塔为您提供的功能强大的数组类Array.

  2. HistoryDataMode属性为1时,不同品种为独立的缓冲区,这样你就可以同时打开多个品种进行横向统计处理了,但是注意当HistoryDataMode=1时,数据使用完毕请调用DestroyHistoryData方法清理内存缓冲区.处于该模式时只有不同的品种才是独立的内存缓冲区,如果相同品种的多次调用,同样是共享缓冲区的.

示例

'当HistoryDataMode=0时,对于共享缓冲区需要使用数组保存打开的历史数据
marketdata.HistoryDataMode=0'指定共享内存

dim d1
Set d1 = CreateObject("Stock.Array")        
set Data1= marketdata.GetHistoryData("if12","zj",0)

for i=Data1.Count-20 to Data1.Count-1

    d1.AddBack(Data1.Close(i)) 

next

dim d2
Set d2 = CreateObject("Stock.Array")        
set Data2= marketdata.GetHistoryData("if11","zj",0)   

for i=Data2.Count-20 to Data2.Count-1

    d2.AddBack(Data2.Close(i))     

next


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

示例2:

'不同品种为独立的缓冲区
marketdata.HistoryDataMode=1
set Data1= marketdata.GetHistoryData("if12","zj",0)               
set Data2= marketdata.GetHistoryData("if11","zj",0)  

'这里的代码处理Data1和Data2的对象数据
'数据处理完毕后,清理缓冲区 
marketdata.DestroyHistoryData
1
2
3
4
5
6
7
8

应用于

MarketData 对象