TRIMPRICE函數(shù)為數(shù)字整理函數(shù),主要用于程序化交易的下單價格整理.該函數(shù)在調(diào)用時需要從系統(tǒng)中讀取相關(guān)配置信息,所以該函數(shù)對系統(tǒng)資源消耗較大,尤其是在多核處理器優(yōu)化時調(diào)用該函數(shù),更是會導(dǎo)致系統(tǒng)的速度大幅降低.因此使用TRIMPRICE在逐K線模式下時是需要些技巧的,例如下面的代碼:
w:=mindiff*0;
kdj:=max(trimprice(高點),o)+w;
kkj:=min(trimprice(低點),o)-w;
平空:sellshort(kd,0,limitr,kdj); //平空
開多:buy(kd and holding=0,asset,limitr,kdj); //開多
上述代碼實際上就是將下單價格整理一下而已,并且只是在下單時才用得到,但是上述代碼每個K線周期都去調(diào)用了trimprice,導(dǎo)致了非常大的無關(guān)計算,其實只要稍微對程序做一下改動,那么使用效率會大幅提高,例如:
w:=mindiff*0;
kdj:=max(高點,o)+w;
kkj:=min(低點,o)-w;
if kd then
begin
平空:sellshort(1,0,limitr,trimprice(kdj)); //平空
開多:buy(kd and holding=0,asset,limitr,trimprice(kdj)); //開多
end
上述代碼使用了IF...TEHN控制語句,只有在KD的條件滿足時才執(zhí)行trimprice函數(shù)的調(diào)用工作,大幅提高了使用效率
修正的價格是往不利方向變動的嗎