您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 金字塔知识>>正文内容

为什么使用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  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容