欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 有关TRIMPRICE函数在逐K线模式下的使用注意事项

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有6492人关注过本帖平板打印复制链接

主题:有关TRIMPRICE函数在逐K线模式下的使用注意事项

帅哥哟,离线,有人找我吗?
admin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
有关TRIMPRICE函数在逐K线模式下的使用注意事项  发帖心情 Post By:2011/10/16 17:34:27    Post IP:58.33.120.26[只看该作者]

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


 回到顶部