版主,你好,我想读取所有在沪市A股当天的收盘价,当我用n = marketdata.GetReportCount("SH") 时,由于一些指数也记入在SH市场,读出的N有1924,而实际沪市A股数量为896个。
请问怎样才能把实际A股的收盘价取出来。
另外,如果是要遍历沪深300指数样本股的收盘价,金字塔的VBA能实现吗?
谢谢!
'通过股票前3位的编码判断是不是股票,赛选出来的股票放在自选股下面
Sub GetStockA() '筛选A股
Dim block
Dim market
Set block = CreateObject("stock.block")
block.Open "自选股", 1
For i = 0 To block.Count - 1
block.removeat (0)
Next
market = Array("SH", "SZ")
For i = 0 To UBound(market)
n = marketdata.GetReportCount(market(i))
For j = 0 To n - 1
Set report1 = marketdata.GetReportDataByIndex(market(i), j)
If left(report1.Label, 3) = "600" Then
block.addstock market(i), report1.Label
End If
Next
Next
block.tosave "自选", "A股"
MsgBox "成功筛选A股"
End Sub
非常感谢!
把left(report1.Label, 3) = "600"改成left(report1.Label, 2) = "60"后,得出的沪市个数正好是896个。
但我想遍历这个自选的"A股"板块中896个股票,并把这些股票最后的收盘价导到EXCEL中。
请问如何遍历自选板块中的股票?
谢谢版主!
上面的代码不是已经将需要的股票保存到了自选股下了吗?直接导出到Excel就行了!
或者在If left(report1.Label, 3) = "60" Then
下面增加对该股票的收盘价获取,保存到Excel中,获取的代码是
Set History = marketdata.GetHistoryData(Code,Market,5)
'Code就是股票编码,本例中为report1.Label,Market就是市场编码,本例中为SH
History.Close(History.Count-1) '这就是收盘价
至于如何保存到Excel中,可以参看
http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=5984
那如果是想遍历沪深300指数的成份股,在代码上没有规律,又应该怎么操作
没有规律的,我也不知道,等金字塔的开发人员来解答吧!