以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  vb如何批量获取k线数据  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=185222)

--  作者:netwalker
--  发布时间:2021/4/16 10:47:54
--  vb如何批量获取k线数据

Close = History.Close(History.Count-1) 这种方法只能每次获取一个k线的值,如果我需要一次性获取所有k线的close的数据,然后输入到python处理,应该怎么写代码呢? 谢谢

我试了Close= History.Close,但会报错。



[此贴子已经被作者于2021/4/16 10:49:35编辑过]

--  作者:netwalker
--  发布时间:2021/4/16 10:51:08
--  
我是通过一个循环,每次传一个k线的数据到python,但k线多了,明显会卡。
--  作者:yukizzc
--  发布时间:2021/4/16 11:26:39
--  

Count

可选参数,若填数字则表示指定的调用数量,为0或者不填表示读取该品种在本地硬盘保存的全部数据

GetHistoryData (Code, MarketCycType,[Count,Parameter])

这里不是有参数count是选择数量吗,你数字自己选的

--  作者:netwalker
--  发布时间:2021/4/16 15:04:43
--  
我现在碰到的问题是:要把k线图每个bar对应的日期传到python,比如有1000个k线的数据,现在我通过把日期转成字符串,调用1000次callObject的方法逐个日期传进去,有没有办法像传array对象那样,一次性把1000个日期数据全部传进去?试了一下 然后分别通过ArrayString或者数组,都传不进去。

[此贴子已经被作者于2021/4/16 15:05:43编辑过]

--  作者:yukizzc
--  发布时间:2021/4/16 15:08:01
--  
CallObject方法
这个方法里不是传入一个array对象吗

Sub Test()

      Dim d1 \'创建一个变量

     

      \'创建Array外部对象,将对象实例置变量d1

      Set d1 = CreateObject("Stock.Array")

      d1.AddBack(1)

      d1.AddBack(2)

     

      \'创建外部对象,启用Python引擎

      Set d = CreateObject("Stock.Python")

      \'载入Python模块,模块名为MyPython

      ret = d.ImportModule("MyPython ")

      If ret <> 1 Then

              \'载入失败,打印错误原因

              Msg = d.GetErrorInfo()

              Application.MsgOut Msg

              Set Msg = Nothing  \'使用完毕需要 Set Nothing销毁以免出现内存泄漏

              Exit Sub

      End I

    

      \'调用Python模块函数,函数名pytestmodule,参数为Array外部对象d1

       Data = d.CallObject("pytestmodule",d1)


--  作者:netwalker
--  发布时间:2021/4/16 15:19:18
--  
Array对象支持动态的浮点型数据数组,日期和字符串不行,ArrayString传不过去。
--  作者:yukizzc
--  发布时间:2021/4/16 15:20:13
--  
要么是实在不行全部转成数值类型的arry然后交互
你这些个需求目前可能没办法了,本身就是两种语言的,很多地方要去完全交互要考虑的太多了
[此贴子已经被作者于2021/4/16 15:21:18编辑过]

--  作者:netwalker
--  发布时间:2021/4/16 16:25:32
--  
自己写了个函数,转进去了~