TRIMPRICE函数为数字整理函数,主要用于程序化交易的下单价格整理.该函数在调用时需要从系统中读取相关配置信息,所以该函数对系统资源消耗较大,尤其是在多核处理器优化时调用该函数,更是会导致系统的速度大幅降低.因此使用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线周期都去调用了trimprice,导致了非常大的无关计算,其实只要稍微对程序做一下改动,那么使用效率会大幅提高,例如:
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的条件满足时才执行trimprice函数的调用工作,大幅提高了使用效率
修正的价格是往不利方向变动的吗