為什么使用marketdata.StkindiByData的效率低 [金字塔]
- 咨詢內(nèi)容:
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線模式,這么運行等于巨大的計算量,建議你理清思路,我們不知道你的算法需求沒法具體幫你
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容