知识库 > Tinysoft代码优化 > 2 优化技巧

2.4 节省时间的移动计算函数    

  • 一些金融函数,比如计算移动平均值,移动最高值,移动最低值等,使用HHV、LLV、MA、EMA,该类函数一般配合nday、nday2、nday3等函数使用。

    setsysparam(pn_stock(),'SH000001');
    setsysparam(pn_date(),inttodate(20110909));
    N := 10;
    mtic;
    B1 := nday3(1000,ma(close(),N));
    t1 := mtoc;
    B := array();
    mtic;
    data := nday3(1000,close());
    for i := 0 to N-1 do
    B[i] := mean(data[0:i]);
    for i := N to 999 do
    B[i] := mean(data[i-N+1:i]);
    t2 := mtoc;
    return array(t1,t2);

    结果:array(0.004,0.013),MA比循环快很多,因为MA算法进行了优化算法,减少了计算量。