以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  交易策略发布专区  (http://www.weistock.com/bbs/list.asp?boardid=10)
----  【日内策略】唐奇安通道(海龟系统前身)  (http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=30353)

--  作者:RogarZ
--  发布时间:2012/11/3 12:42:24
--  【日内策略】唐奇安通道(海龟系统前身)
  • 交易系统简述
    唐奇安通道(Donchian channel)这个策略可以称得上是所有日内策略鼻祖。其最早大名远扬是在1970年,美国有个公司对当时最流行的机械交易系统进行了模拟测试和比较研究,其研究结果表明,在所有测试对象中唐奇安通道规则最为成功。1983年,他被推举为首届“最佳获利奖”得主,并将此奖项改为唐奇安奖。后来美国又有个著名的“海龟法则”造就了不少千万富翁。当时海龟法则是保密的,过了十几年,海龟法则解密,人们才发现他们用的是修正版唐奇安通道规则。
    唐奇安通道规则为:当最高价高于前X个K的最大最高价时,做多;当最低价低于前X个K的最小最低价时,做空。如果你想对往后回溯多少K进行优化,你会发现在不同市场会得到不同的结果,甚至同一市场不同时期最优值也是不同的。但是一般默认值为20。

    为什么默认的X是20呢?这又有个典故——神奇数字。Donchian在开发唐奇安通道的期间,碰巧阅读到整形外科医生Maxwel Maltz博士在1960年所作的“心理控制论”(这本书在1989年被重新发现)。Maltz博士称在整形外科手术过程中,患者最少需要21日来看到自己的新的容颜。而很多我观察到的现象都显示了其最起码需要21日来使得新事物代替旧事物。这一事实震惊了Donchian,21个自然日就等于15个交易日!当绝大多数交易者都在认为趋势可能已经变化时(他们认为看到了市场的新颜),主要趋势却已做好了继续运行的准备。

 

  • 代码:

//策略:唐奇安通道
//类型:皆可
//版本: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


--  作者:carl9186
--  发布时间:2012/11/3 16:14:00
--  
抢个沙发坐坐。
--  作者:系统使用者
--  发布时间:2012/11/6 22:41:37
--  
沙发坐坐。
--  作者:Change_1206_
--  发布时间:2012/11/7 16:54:02
--  
楼主,这个策略是不做空的吗?
--  作者:Q1304230834
--  发布时间:2012/11/11 19:39:37
--  
当前仍然有大量的策略在使用这个方法
--  作者:zsjwhy
--  发布时间:2012/11/12 20:32:36
--  
谢谢楼主分享
--  作者:鸟人
--  发布时间:2012/11/15 10:10:48
--  
以下是引用RogarZ在2012-11-3 12:42:24的发言:
  • 交易系统简述
    唐奇安通道(Donchian channel)这个策略可以称得上是所有日内策略鼻祖。其最早大名远扬是在1970年,美国有个公司对当时最流行的机械交易系统进行了模拟测试和比较研究,其研究结果表明,在所有测试对象中唐奇安通道规则最为成功。1983年,他被推举为首届“最佳获利奖”得主,并将此奖项改为唐奇安奖。后来美国又有个著名的“海龟法则”造就了不少千万富翁。当时海龟法则是保密的,过了十几年,海龟法则解密,人们才发现他们用的是修正版唐奇安通道规则。
    唐奇安通道规则为:当最高价高于前X个K的最大最高价时,做多;当最低价低于前X个K的最小最低价时,做空。如果你想对往后回溯多少K进行优化,你会发现在不同市场会得到不同的结果,甚至同一市场不同时期最优值也是不同的。但是一般默认值为20。

    为什么默认的X是20呢?这又有个典故——神奇数字。Donchian在开发唐奇安通道的期间,碰巧阅读到整形外科医生Maxwel Maltz博士在1960年所作的“心理控制论”(这本书在1989年被重新发现)。Maltz博士称在整形外科手术过程中,患者最少需要21日来看到自己的新的容颜。而很多我观察到的现象都显示了其最起码需要21日来使得新事物代替旧事物。这一事实震惊了Donchian,21个自然日就等于15个交易日!当绝大多数交易者都在认为趋势可能已经变化时(他们认为看到了市场的新颜),主要趋势却已做好了继续运行的准备。

 

  • 代码:

//策略:唐奇安通道
//类型:皆可
//版本: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
平仓时间:=time>=closetime(0)-nmin*100;
{nmin为参数,closetime(0)-nmin*100表示 收盘时间-提前N分钟 N由nmin控制}

 

//交易条件:
开多平空条件:=C>X周期高点 and 开仓时间 and holding<=0;
开空平多条件:=C=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

[此贴子已经被作者于2012-11-3 12:44:09编辑过]




编译通不过


--  作者:RogarZ
--  发布时间:2012/11/18 23:31:30
--  

复制代码的时候  出了错  已修正


--  作者:幸运60
--  发布时间:2013/1/8 14:41:41
--  

这个有问题,


--  作者:RogarZ
--  发布时间:2013/1/8 17:54:45
--  
以下是引用幸运60在2013-1-8 14:41:41的发言:

这个有问题,

问题是什么?

用Close?没用High Low?

我当时想用close较容易理解,以怎么容易理解怎么来。一些实盘的细节问题没放进去。

 

若不是,还请说明哦