您好,欢迎进入58公式网! [登录] | [免费注册]

您当前位置:58公式网 >> 飞狐公式 >> 浏览文章

考夫曼自适应增均线

2011-7-10 14:47:37 关键词:均线 自适应 考夫曼 58公式网 【字体: 未来函数检测
{考夫曼自适应增均线}
input: n(9,1,60), p(2,1,60), Q(30,1,60);
Direction:=CLOSE - REF( CLOSE , N ) ;
XX:=ABS( CLOSE - REF( CLOSE , 1 ) ) ;
Volatility:=SUM( XX , N ) ;
ER:=ABS( Direction / Volatility ) ;
FastC:= 2 / ( p + 1 ) ;
SlowC:= 2 / ( q + 1 ) ;
SSC:=ER * ( FastC - SlowC ) + SlowC ;
Constant :SSC * SSC , Linethick0 ;
YY:=REF( Close , 1 ) + Constant * ( CLOSE - REF( Close , 1 ) ) ;
AA:=IF( SUM( 1 , 0 )= N + 1 , YY , 0 ) ;
BB:=BarsLast( AA>0 ) ;
DD:=REF( C , BB ) ;
CC:CLOSE , Linethick0 ;
for m=N + 2 to DATACOUNT DO
DD:=DD + Constant * ( CC - DD );
AMA:DD;
T1:=DD>REF(DD,1);
T3:=NOT(T1) AND abs(DD-ref(DD,1))/DD*10000<N;
T2:=NOT(T1 OR T3);
PARTLINE(T1,DD),COLORRED,LINETHICK2;
PARTLINE(T2,DD),COLORGREEN,LINETHICK2;
PARTLINE(T3,DD),COLORBLUE,LINETHICK2;
DRAWTEXT(ISLASTBAR AND T1,DD,'持\n股'),COLORRED,SHIFT1;
DRAWTEXT(ISLASTBAR AND T2,DD,'持\n幣'),COLORGREEN,SHIFT1;
DRAWTEXT(ISLASTBAR AND T3,DD,'觀\n望'),COLORBLUE,SHIFT1;
根据考夫曼的自适应均线原理,利用文华财经编了一下,还是不错的,现把源代码颁布出来给大家参考。
买卖业务指标即自适应均线的源代码,我根据指标改进了一下买卖业务体系,考夫曼原来是采取均线值的变革率发出交易信号,我以为不是很好,就用最高最低价构建了一个智能均线带,采取最低最高价突破来发出信号,大家一起探究阿。
买卖业务指标:
DIRECTION:=CLOSE-REF(CLOSE,N);
VOLATILITY:=SUM(ABS((CLOSE-REF(CLOSE,1))),N);
ER:=ABS(DIRECTION/VOLATILITY);
FASTSC:=2/(2 + 1);
SLOWSC:=2/(30 + 1);
SSC:=ER*(FASTSC-SLOWSC)+SLOWSC;
CONSTANT:=SSC*SSC;
AMAHIGH:REF(EMA(HIGH,N),1)+CONSTANT*(HIGH- REF(EMA(HIGH,N),1));
AMALOW:REF(EMA(LOW,N),1)+CONSTANT*(LOW- REF(EMA(LOW,N),1));
买卖业务模型:
DIRECTION:=CLOSE-REF(CLOSE,N);
VOLATILITY:=SUM(ABS((CLOSE-REF(CLOSE,1))),N);
ER:=ABS(DIRECTION/VOLATILITY);
FASTSC:=2/(2 + 1);
SLOWSC:=2/(30 + 1);
SSC:=ER*(FASTSC-SLOWSC)+SLOWSC;
CONSTANT:=SSC*SSC;
AMAHIGH:=REF(EMA(HIGH,N),1)+CONSTANT*(HIGH- REF(EMA(HIGH,N),1));
AMACLOSE:=REF(EMA(CLOSE,N),1)+CONSTANT*(CLOSE- REF(EMA(CLOSE,N),1));
AMALOW:=REF(EMA(LOW,N),1)+CONSTANT*(LOW- REF(EMA(LOW,N),1));
LOW>AMAHIGH,BK;
CLOSE<AMACLOSE,SP;
HIGH<AMALOW,SK;
CLOSE>AMACLOSE,BP;AMACLOSE:=REF(EMA(CLOSE,N),1)+CONSTANT*(CLOSE- REF(EMA(CLOSE,N),1));
这还不是原书中定义的自适应均线。按原书中定义,应当是:
AMA:=CONST*CLOSE+(1-CONST)*REF(AMA,1);
显然原书中的定义打扫了人为的N,因此越发天然。痛惜对AMA的定义必要向前引用ref(AMA,1),在文化中无法得到支持,这是文化平台必要改造的一个庞大缺陷。如今还想不出如安在文化中完备完成原书中的定义。
实行用 AMA:=DMA(CLOSE, CONST); 得到的结果竟成了不停线自适应均线体系-最好的均线体系
{n=10}
DIR:=ABS(CLOSE-REF(CLOSE,n));
VIR:=SUM(ABS(CLOSE-REF(CLOSE,1)),n);
ER:=DIR/VIR;
CS:=ER*(2/3-2/31)+2/31;
CQ:=CS*CS;
AMA:DMA(CLOSE,CQ),COLORGREEN;
AMA1:IF(AMA>REF(AMA,1),AMA,DRAWNULL),COLORRED;
要是自适应均线体系的周期n=10,那么:
1。自适应均线体系横向移动时,体系报告你:近来的10个周期中,代价上涨的幅度和下跌的幅度基原形当,(是幅度,而不是周期数);
2。自适应均线体系向上翘起时,体系报告你:近来10个周期中,代价上涨的幅度要大于下跌的幅度,代价徐徐进入强势的状态。
3。自适应均线体系向下垂时,体系报告你的情况和2的情况恰好相反。
《Smarter Trading》中Kaufman的AMA体系 最新的结果便是阅读了《Smarter Trading》,根据内里的AMA构建要领本身方式了一套体系。通达信源码如下,貌似也可以运行在大伶俐上,不过得改一下色彩函数。
{N:5 30 20}
DIRECTION:=CLOSE-REF(CLOSE,N);
VOLATILITY:=SUM(ABS(CLOSE-REF(CLOSE,1)),N);
ER:=ABS(DIRECTION/VOLATILITY); {EFFICIENCY RATIO是AMA体系中最紧张的指标,比值越大,趋势越明显}
FSC:=2/(2+1); {快速腻滑常数}
SSC:=2/(30+1); {慢速腻滑常数}
SC:=ER*(FSC-SSC)+SSC; {等价于SC=ER*FSC+(1-ER)*SSC,指数腻滑序列}
SCSQ:=SC*SC; {不明白KAUFMAN为什么要平方??}
AMA:DMA(CLOSE,SCSQ),COLORBLACK,LINETHICK1; {DMA指标,AMAt=SCSQt-1*CLOSEt-1+(1-SCSQt-1)*AMAt-1}
THRESHOLD:=STD(AMA-REF(AMA,1),20)*0.75; {信号触发阈值,用0.75倍20天的AMA的标准差}
BUY:=AMA-LLV(AMA,5)>=THRESHOLD;
SELL:=HHV(AMA,5)-AMA>=THRESHOLD;
全仓:IF(BUY=1 AND SELL=0,AMA,DRAWNULL),COLORRED,LINETHICK4;
减仓:IF(BUY=0 AND SELL=0,AMA,DRAWNULL),COLORMAGENTA,LINETHICK5; {在买入后发出BUY=0的信号,则发起减仓至一半}
加仓:IF(BUY=1 AND SELL=1,AMA,DRAWNULL),COLORCYAN,LINETHICK5; {在卖出后发出BUY=1的信号,则发起加仓至一半}
空仓:IF(BUY=0 AND SELL=1,AMA,DRAWNULL),COLORGREEN,LINETHICK4;
颠末我测试,发明这个体系的告成率并不高,测试数据为沪深A股,2000~2004、2003~2005、2004~2008、2006~2009年的日线数据,告成率38.97%~53.21%,属于中等程度,个人私家并不发起用于个股的操纵,由于全部的Trends Following体系的共同的缺点便是,当代价颠簸恰幸亏体系信号发出的阈值空间内时,噪音信号剧增,败北率极高,对付那种颠簸剧烈的个股,趋势系同不停会发出很多假信号,不过AMA本身已颠末滤了大部分卖弄信号,这也便是为什么称之为Adaptive Moving Average,自适应均线体系。对付这套体系,还可以参加filter过滤假信号,不过没试过,个人私家以为本身就已经有一个filter了,再加会事与愿违。
末了的发起:AMA体系用于“慢牛”型股票和指数基金是最符合的,这些目标颠簸小,趋势性明显,尤其保举ETF场内买卖业务指数基金,连巴菲特都说:没有几个基金经理能克服指数基金的。

发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口

网友评论: