Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:请问在逐K模式下怎么获得指标序列数据

1楼
microsoft 发表于:2016/11/30 15:05:21
例如在逐K模式下获得macd数值数组,谢谢了
2楼
wenarm 发表于:2016/11/30 15:33:15
macd,是根据ema计算的,结果就是一个数据类型
3楼
microsoft 发表于:2016/11/30 15:36:06
序列模式下,是一个数组啊
4楼
wenarm 发表于:2016/11/30 15:39:49

不是说序列模式下。这个是根据函数的类型决定的

5楼
microsoft 发表于:2016/11/30 15:49:18

好的,明白。

就是想在逐K模式下,将指标数组传递到vba进行计算(不是在vba使用marketdata.StkindiByData

序列模式下,传递过去的就是数组,逐k传递的是单个数值

6楼
microsoft 发表于:2016/11/30 18:18:36

可以再回答一下吗

marketdata.StkindiByData的效率实在的太低了,卡的用不了

800个K线,切换一下周期,延迟起码3秒以上

就像下边这么简单的代码,在副图加载macdc4_2是秒速切换的

 

   Set HistoryData = Formula.ParentGrid.GetHistoryData()
   str = "macdc4_2(" & cstr(P) & "," & cstr(S) & "," & cstr(M) & ")"
   Set Formula1 = marketdata.StkindiByData( str ,HistoryData)
   openArr = Formula1.VARDATA( "Open1" )
   highArr = Formula1.VARDATA( "high1" )
   lowArr = Formula1.VARDATA( "low1" )
   closeArr = Formula1.VARDATA( "close1" )
   macdArr = Formula1.VARDATA( "MACD1" )
   diffArr = Formula1.VARDATA( "DIFF1" )
   deaArr = Formula1.VARDATA( "DEA1" )
   macdNotDisArr = Formula1.VARDATA( "macd_not_dis1" )
   lastBdDisArr = Formula1.VARDATA( "macdDisLast1" )
   dateArr = Formula1.VARDATA( "date1" )
   timeArr = Formula1.VARDATA( "time1" )
   len1 = Formula.IndexData + 1
   instrument = Formula.ParentGrid.StockLabel
   

   set instrument = nothing
   marketdata.DestroyHistoryData
   set HistoryData = nothing
   set Formula1 = nothing

7楼
wenarm 发表于:2016/12/1 8:26:35
关于vba的问题,你需要高级编程区咨询
共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 2 queries.