//转自旧论坛版主_RogarZ
交易系统简述
唐奇安通道(Donchian channel)这个策略可以称得上是所有日内策略的鼻祖。其最早大名远扬是在1970年,美国有个公司对当时最流行的机械交易系统进行了模拟测试和比较研究,其研究结果表明,在所有测试对象中唐奇安通道规则最为成功。1983年,他被推举为首届“最佳获利奖”得主,并将此奖项改为唐奇安奖。后来美国又有个著名的“海龟法则”造就了不少千万富翁。当时海龟法则是保密的,过了十几年,海龟法则解密,人们才发现他们用的是修正版的唐奇安通道规则。
唐奇安通道规则为:当最高价高于前X个K的最大最高价时,做多;当最低价低于前X个K的最小最低价时,做空。如果你想对往后回溯多少K进行优化,你会发现在不同市场会得到不同的结果,甚至同一市场不同时期最优值也是不同的。但是一般默认值为20。
为什么默认的X是20呢?这又有个典故——神奇数字。Donchian在开发唐奇安通道的期间,碰巧阅读到整形外科医生Maxwel Maltz博士在1960年所作的“心理控制论”(这本书在1989年被重新发现)。Maltz博士称在整形外科手术过程中,患者最少需要21日来看到自己的新的容颜。而很多我观察到的现象都显示了其最起码需要21日来使得新事物代替旧事物。这一事实震惊了Donchian,21个自然日就等于15个交易日!当绝大多数交易者都在认为趋势可能已经变化时(他们认为看到了市场的新颜),主要趋势却已做好了继续运行的准备。
策略代码
[PEL] 复制代码 //策略:唐奇安通道
//类型:皆可
//版本:1.0
//修订时间:2012.11.3
//Designed By Rogarz
//中间变量
INPUT:X(20,1,100,1),nmin(10,1,100,1),ss(1,1,100,1);
X周期高点:=ref(hhv(h,X),1);//X是参数,自行调整
X周期低点:=ref(LLV(L,X),1);
手数:=ss;
开仓时间:=time>opentime(1) and time<closetime(0)-nmin*100;
平仓时间:=time>=closetime(0)-nmin*100;
{nmin为参数,closetime(0)-nmin*100表示 收盘时间-提前N分钟 N由nmin控制}
//交易条件:
开多平空条件:=C>X周期高点 and 开仓时间 and holding<=0;
开空平多条件:=C<X周期低点 and 开仓时间 and holding>=0;
//交易系统
收盘平多:sell(平仓时间 and holding>0, 0, thisclose);
收盘平空:sellshort(平仓时间 and holding<0,0,thisclose);
平空:sellshort(开多平空条件 and holding<0, 手数,limitr,X周期高点);
平多:sell(开空平多条件 and holding>0,手数,limitr,X周期低点);
开空:buyshort(开空平多条件 and holding=0,手数,limitr,X周期低点);
开多:buy(开多平空条件 and holding=0, 手数,limitr,X周期高点);
本文以日内策略为例,但是这个策略不限于在日内使用。交易条件中去掉开仓时间、平仓时间项,即可作为中长线策略。
写本文的目的有2个。
1、这个策略是现有众多策略的鼻祖,以此为基础的变种策略玲琅满目。重要的是学习其思想。
2、为之后发布的动态突破II策略(The Dynamic Break Out II)做技术储备。
有一篇相关资料:篇幅比较长,有兴趣的朋友可以看下http://blog.sina.com.cn/s/blog_58c301b501018rlm.html
|