以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [讨论]关于TYPEBAR函数与先平后开原则  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=3347)

--  作者:j888fff
--  发布时间:2010/10/20 2:13:08
--  [讨论]关于TYPEBAR函数与先平后开原则

思路:开仓后的某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编辑过]

--  作者:fly
--  发布时间:2010/10/20 9:26:35
--  
先平后开的原则-----是指,要开多先平空;要开空先平多
--  作者:j888fff
--  发布时间:2010/10/20 21:19:24
--  
以下是引用fly在2010-10-20 9:26:35的发言:
先平后开的原则-----是指,要开多先平空;要开空先平多

拜托,问题看全了再回复。