以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  有关TRIMPRICE函数在逐K线模式下的使用注意事项  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=8437)

--  作者:admin
--  发布时间:2011/10/16 17:34:27
--  有关TRIMPRICE函数在逐K线模式下的使用注意事项

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函数的调用工作,大幅提高了使用效率


--  作者:易士
--  发布时间:2011/10/16 18:00:54
--  
测试的时候,基本上用不到这个函数。因为只有下单才需要整理价格的。编写的时候大家注意一点就是了。
--  作者:fantasynew
--  发布时间:2014/8/31 23:20:06
--  

修正的价格是往不利方向变动的吗


--  作者:jinzhe
--  发布时间:2014/9/1 9:31:06
--  
离市价近的价格