# 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为自定义周期时指定自定义周期数字。不填则表示使用系统选项设置中的自定义周期数字 |
注意:
HistoryDataMode属性为0时,该对象使用一个共有的缓冲区来保存用户打开的市场数据,这意味着用户所调用的数据内容再下次重新调用其他品种或者调用不同种类的数据后会自动失效,若要在不同的品种间做横向数据处理请注意备份之前打开的数据,用户可以使用Visual Basic内部提供的数组,另外还可以使用金字塔为您提供的功能强大的数组类Array.
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
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
2
3
4
5
6
7
8
应用于