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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [讨论]关于TYPEBAR函数与先平后开原则

   

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


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

主题:[讨论]关于TYPEBAR函数与先平后开原则

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


加好友 发短信
等级:论坛游侠 帖子:240 积分:1467 威望:0 精华:0 注册:2009/8/19 21:16:07
[讨论]关于TYPEBAR函数与先平后开原则  发帖心情 Post By:2010/10/20 2:13:08    Post IP:115.195.129.125[只看该作者]

思路:开仓后的某K线最高价H如高于开仓时那根K线的最高价,则平仓处理。

根据以上思路编制公式:

aa:="kdj.j"(9,3,3) ;

平空:SELLSHORT(cross(aa,80) or h>ref(h,TYPEBAR(1,3)) ,0,thisclose) ;
开空:BUYSHORT(cross(80,aa) or type(1)=2 and enterprice>exitprice,1,thisclose) ;

公式能通过,但由于TYPEBAR函数写于开空编码之前,而这时开空信号还未出现,造成逻辑混乱。所以事实上的效果是第一个平仓信号会紧跟在第一个开仓信号之后,造成错误平仓信号。


 

改成:

aa:="kdj.j"(9,3,3) ;

开空:BUYSHORT(cross(80,aa) or type(1)=2 and enterprice>exitprice ,1,thisclose) ;
dd: h>ref(h,TYPEBAR(1,3)) ;
平空:SELLSHORT(cross(aa,80) or dd,0,thisclose) ;

公式通过,原来的问题解决了。但此时另一个问题出现,此编法与先平后开的原则相违背,并造成与开空策略中的enterprice>exitprice条件冲突。因为exitprice函数写在平仓之前了。


[此贴子已经被作者于2010-10-20 2:35:11编辑过]

 回到顶部