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