为什么使用marketdata.StkindiByData的效率低 [金字塔]
- 咨询内容:
Function getEMALen02(Formula,lenP) getEMALen02 = -1 Set HistoryData = Formula.ParentGrid.GetHistoryData() for n1 = 5 to 300 step 5 rtnV = getEMALen03(Formula,HistoryData,n1,lenP) if rtnV > 0 then getEMALen02 = rtnV exit for end if next
End Function
Function getEMALen03(Formula,HistoryData,lenP1,lenP2) str = "emac1(" & cstr(lenP1) & ")" Set Formula1 = marketdata.StkindiByData( str ,HistoryData) emaArr = Formula1.VARDATA( "e1" ) emaDis3Arr = Formula1.VARDATA( "dis3_ref" ) emaDis4Arr = Formula1.VARDATA( "dis4_ref" ) emaDis3 = emaDis3Arr(Formula.IndexData) emaDis4 = emaDis4Arr(Formula.IndexData)
getEMALen03 = emaArr(Formula.IndexData)
marketdata.DestroyHistoryDataEnd Function
这样的代码很慢,盘中根本运行不了如果直接写成下边那样(一共60行),又运行很流畅
ema5 : ema(close,5);ema10 : ema(close,10);ema15 : ema(close,15);ema20 : ema(close,20);ema25 : ema(close,25);ema30 : ema(close,30);ema35 : ema(close,35);。。。ema295 : ema(close,295);ema300 : ema(close,300);
这是为什么呢? - 金字塔客服: 如果是逐k线模式,这么运行等于巨大的计算量,建议你理清思路,我们不知道你的算法需求没法具体帮你
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容