注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

且行且记录

点滴记录,行的更远!

 
 
 

日志

 
 

Excel股票查询测试  

2016-03-01 12:45:51|  分类: 一些练习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
在Excel里用宏ajax查询股票的一些常用信息,如果加上股票交易的命令行就可以快捷交易,自动交易。
自动交易有点难度,主要是策略只能定死。
如果加上定时器那就更好了。。。
Excel股票查询测试 - appall - 且行且记录

Excel宏
Function ajax(ByVal url As String) As String
    Dim XmlHttp As Object
    'Dim url As String
    Set XmlHttp = CreateObject("Msxml2.XMLHTTP.3.0")
    'url = "http://qt.gtimg.cn/q=sz002100"
    XmlHttp.Open "GET", url, False
    XmlHttp.send
    If XmlHttp.readyState = 4 Then
         ajax = XmlHttp.responseText
    Else
         ajax = ""
    End If
End Function

Public Sub 查询股价()
    Dim urls As String
    
    url = "http://qt.gtimg.cn/q="
    s = ""
    i = 2
    j = 1
    n = 0
    
    While Cells(i, j) <> ""
        If Len(Cells(i, j)) = 6 Then
            If Left(Cells(i, j), 2) = "60" Then
                Cells(i, j) = "sh" & Cells(i, j)
            End If
            
            If Left(Cells(i, j), 2) = "00" Or Left(Cells(i, j), 2) = "30" Then
                Cells(i, j) = "sz" & Cells(i, j)
            End If
        End If
        
        s = s & "," & Cells(i, j)
        i = i + 1
        n = n + 1
    Wend
    
    s = Mid(s, 2)
    url = url & s
    Debug.Print url
    
    t = ajax(url)
    ss = Split(t, ";")
    
    i = 2
    For k = LBound(ss) To UBound(ss)
        s = Split(ss(k), "~")
        
        'For q = LBound(s) To UBound(s)
            'Debug.Print q; s(q)
        'Next
        
        If UBound(s) < 3 Then Exit Sub
        'Debug.Print s(2); s(1); s(3)
        
        If Right(Cells(i, j), 6) = s(2) Then
            Cells(i, j + 1) = s(1) 'mc
            Cells(i, j + 2) = s(3) 'zx
            Cells(i, j + 3) = s(32) * 0.01 'zdf
            Cells(i, j + 4) = s(31) 'zde
            Cells(i, j + 5) = s(6) 'cjl
            Cells(i, j + 6) = s(5) 'jk
            Cells(i, j + 7) = s(4) 'zs
            Cells(i, j + 8) = s(33) 'zg
            Cells(i, j + 9) = s(34) 'zd
            Cells(i, j + 10) = s(47) 'zt
            Cells(i, j + 11) = s(48) 'dt
            i = i + 1
        End If
    Next

End Sub

 上面的调试输出列在下面,通过qq股票可以查看具体数据到底是啥意思。。。
v_sz002397="51
 1 梦洁家纺
 2 002397
 3 6.58
 4 6.51
 5 6.60
 6 21864
 7 10426
 8 11438
 9 6.57
 10 56
 11 6.56
 12 109
 13 6.55
 14 279
 15 6.54
 16 506
 17 6.53
 18 121
 19 6.58
 20 129
 21 6.59
 22 63
 23 6.60
 24 10
 25 6.61
 26 48
 27 6.62
 28 158
 29 11:29:25/6.58/10/B/6580/17091|11:28:31/6.58/2/B/1315/16971|11:28:22/6.58/19/B/12502/16958|11:28:22/6.57/30/S/19710/16956|11:27:40/6.57/3/S/1971/16882|11:27:28/6.58/32/B/21056/16855
 30 20160301113031
 31 0.07
 32 1.08
 33 6.66
 34 6.51
 35 6.58/21854/14419708
 36 21864
 37 1443
 38 0.67
 39 29.04
 40 
 41 6.66
 42 6.51
 43 2.30
 44 21.59
 45 44.24
 46 3.41
 47 7.16
 48 5.86
 49 "
 0 

  评论这张
 
阅读(19)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017