欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 请教:如何读取所有沪市A股在当天的收盘价

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4911人关注过本帖树形打印复制链接

主题:请教:如何读取所有沪市A股在当天的收盘价

帅哥哟,离线,有人找我吗?
lilieddove
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:58 积分:423 威望:0 精华:0 注册:2011/3/1 11:18:30
请教:如何读取所有沪市A股在当天的收盘价  发帖心情 Post By:2011/4/16 21:01:37 [只看该作者]

 

版主,你好,我想读取所有在沪市A股当天的收盘价,当我用n = marketdata.GetReportCount("SH") 时,由于一些指数也记入在SH市场,读出的N有1924,而实际沪市A股数量为896个。

 

请问怎样才能把实际A股的收盘价取出来。

另外,如果是要遍历沪深300指数样本股的收盘价,金字塔的VBA能实现吗?

 

谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
guotx2010
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2011/4/16 23:24:03 [只看该作者]

'通过股票前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

[此贴子已经被作者于2011-4-16 23:25:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lilieddove
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:58 积分:423 威望:0 精华:0 注册:2011/3/1 11:18:30
  发帖心情 Post By:2011/4/17 0:02:36 [只看该作者]

非常感谢!

把left(report1.Label, 3) = "600"改成left(report1.Label, 2) = "60"后,得出的沪市个数正好是896个。

 

但我想遍历这个自选的"A股"板块中896个股票,并把这些股票最后的收盘价导到EXCEL中。

 

请问如何遍历自选板块中的股票?

 

谢谢版主!


 回到顶部
帅哥哟,离线,有人找我吗?
guotx2010
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2011/4/17 9:26:49 [只看该作者]

上面的代码不是已经将需要的股票保存到了自选股下了吗?直接导出到Excel就行了!

 


 回到顶部
帅哥哟,离线,有人找我吗?
guotx2010
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2011/4/17 9:35:59 [只看该作者]

或者在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

[此贴子已经被作者于2011-4-17 9:36:39编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lilieddove
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:58 积分:423 威望:0 精华:0 注册:2011/3/1 11:18:30
  发帖心情 Post By:2011/4/17 11:18:16 [只看该作者]

那如果是想遍历沪深300指数的成份股,在代码上没有规律,又应该怎么操作


 回到顶部
帅哥哟,离线,有人找我吗?
guotx2010
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2011/4/18 12:39:10 [只看该作者]

没有规律的,我也不知道,等金字塔的开发人员来解答吧!

 


 回到顶部