T2:
=NOT(T1ORT3);
PARTLINE(T1,DD),COLORRED,LINETHICK2;
PARTLINE(T2,DD),COLORGREEN,LINETHICK2;
PARTLINE(T3,DD),COLORBLUE,LINETHICK2;
DRAWTEXT(ISLASTBARANDT1,DD,'持\n股'),COLORRED,SHIFT1;
DRAWTEXT(ISLASTBARANDT2,DD,'持\n币'),COLORGREEN,SHIFT1;
DRAWTEXT(ISLASTBARANDT3,DD,'观\n望'),COLORBLUE,SHIFT1;
考夫曼自适应变色均线系统
N:
110010
M:
110030
通达信主图源码(日线及以上周期)
DIR1:
=ABS(CLOSE-REF(CLOSE,N));
VIR1:
=SUM(ABS(CLOSE-REF(CLOSE,1)),N);
ER1:
=DIR1/VIR1;
CS1:
=ER1*(0.8-2/8)+2/8;
CQ1:
=CS1*CS1;
AMA1:
EMA(DMA(CLOSE,CQ1),2),COLORWHITE;
DIR2:
=ABS(CLOSE-REF(CLOSE,M));
VIR2:
=SUM(ABS(CLOSE-REF(CLOSE,1)),M);
ER2:
=DIR2/VIR2;
CS2:
=ER2*(0.8-2/24)+2/24;
CQ2:
=CS2*CS2;
AMA2:
EMA(DMA(CLOSE,CQ2),2),COLORGREEN,LINETHICK2;
AMA3:
IF(AMA2/REF(AMA2,1)>0.997,AMA2,DRAWNULL),COLORBLUE,LINETHICK2;
AMA4:
IF(AMA2/REF(AMA2,1)>1.001,AMA2,DRAWNULL),COLORRED,LINETHICK2;
博易大师主图源码(日线及以上周期)
DIR1:
=ABS(CLOSE-REF(CLOSE,N));
VIR1:
=SUM(ABS(CLOSE-REF(CLOSE,1)),N);
ER1:
=DIR1/VIR1;
CS1:
=ER1*(0.8-2/8)+2/8;
CQ1:
=CS1*CS1;
AMA1:
EMA(DMA(CLOSE,CQ1),2),COLORWHITE;
DIR2:
=ABS(CLOSE-REF(CLOSE,M));
VIR2:
=SUM(ABS(CLOSE-REF(CLOSE,1)),M);
ER2:
=DIR2/VIR2;
CS2:
=ER2*(0.8-2/24)+2/24;
CQ2:
=CS2*CS2;
AMA2:
EMA(DMA(CLOSE,CQ2),2),COLORGREEN,LINETHICK2;
PARTLINE(AMA2/REF(AMA2,1)>0.997,AMA2),COLORBLUE,LINETHICK2;
PARTLINE(AMA2/REF(AMA2,1)>1.001,AMA2),COLORRED,LINETHICK2;
考夫曼自适应变色均线系统(续)
通达信主图源码(日线及以上周期)
DIR1:
=ABS(CLOSE-REF(CLOSE,5));
VIR1:
=SUM(ABS(CLOSE-REF(CLOSE,1)),5);
ER1:
=DIR1/VIR1;
CS1:
=ER1*(0.8-2/8)+2/8;
CQ1:
=CS1*CS1;
AMA1:
EMA(DMA(CLOSE,CQ1),2),COLORWHITE;
DIR2:
=ABS(CLOSE-REF(CLOSE,10));
VIR2:
=SUM(ABS(CLOSE-REF(CLOSE,1)),10);
ER2:
=DIR2/VIR2;
CS2:
=ER2*(0.8-2/24)+2/24;
CQ2:
=CS2*CS2;
AMA2:
EMA(DMA(CLOSE,CQ2),2),COLORGREEN,LINETHICK2;
AMA3:
IF(AMA2/REF(AMA2,1)>0.997,AMA2,DRAWNULL),COLORBLUE,LINETHICK2;
AMA4:
IF(AMA2/REF(AMA2,1)>1.001,AMA2,DRAWNULL),COLORRED,LINETHICK2;
考夫曼自适应变色均线系统(续1)
我们跟踪股票的走势,必然离不开均线作为参考。
均线系统是我们观察股票走势的基础。
短期均线不能很好地屏蔽市场的噪声,往往产生虚假的进场信号;长期均线在判断趋势上一般比较准确,但是长期均线有着严重滞后的问题。
一个股票的10日内的突发性的上涨,如果用200日均线去观察,几乎看不出变化。
均线系统存在的问题,让我们每一个股市的参与者感到左右为难。
寻找最佳的移动平均值就成了大家乐此不疲的一种日常活动。
由于每次市场的波动,趋势的速度都是不同的,所以在每一波的波动中,采用多少周期的移动平均值才能最好地反映趋势的方向呢?
有一个流行的解决方法,就是针对某一只股票测试其历史数据的最佳移动平均值。
并且根据最近的、最符合其趋势的移动平均值去进行操作。
但是历史数据只代表已经走过的趋势,我们不可能回到过去进行交易。
(突然想到:
混沌理论有自相似说法,移动平均说的是过去,图形可能会重复(文化,参与者,与筹码是可能的因素),移动平均+图形如何?
)
通过分析我们使用的移动平均线,可以得出如下的结论:
当价格沿一个方向快速移动时,短期的移动平均线是最好的。
当价格在横盘的过程中,长期移动平均线是最好的。
我们理想中的移动平均线是什么样子的呢?
当价格无目标地移动时,它的反映会比较慢,像长期移动平均线;
当价格有了快速变化的时候,它又能很快地跟上价格的走势,像短期移动平均线。
这样的移动平均线存在吗?
当然存在!
很多国外的股票技术分析书籍中都提到过这样的均线,把这种自适应的均线系统作为计算机自动交易系统中趋势判断最主要的手段。
最近在**的“黄金股道”的软件中,也见到过类似的均线,但是做了公式的加密。
其实这样的自适应均线每一个股票的软件都可以做到,并且非常简单。
附图是我做的自适应均线。
当自适应均线横向移动的时候,表明市场处于横盘过程中;
只有在自适应均线向上移动的时候,才是我们进场操作的时机。
要构建自适应的均线,我们就必须先确定股票价格的趋势和速度。
当股票价格持续上涨或持续下跌的时候,自适应均线就应该采用短周期均线的平滑系数;而当市场处于横盘波动过程中的时候,自适应均线就应该采用长周期的平滑系数。
如果采用指数平滑移动平均线的平滑系数,最短周期采用2日EMA,长周期采用30日EMA。
那么自适应均线应该在2日-30日EMA之间平滑过渡。
还有一个问题:
如何测量价格变动的速率。
采用的方法是,在一定的周期内,计算每个周期价格的变动的累加,用整个周期的总体价格变动除以每个周期价格变动的累加,我们采用这个数字作为价格变化的速率。
如果股票持续上涨或下跌,那么变动的速率就是1;如果股票在一定周期内涨跌的幅度为0,那么价格的变动速率就是0。
变动速率为1,对应的最快速的均线-2日的EMA;变动速率为0,则对应最慢速的均线-30日EMA。
以通达信软件的公式为例(其他软件也可以用):
每个周期价格变动的累加:
=sum(abs(close-ref(close,1)),n);
整个周期价格的总体变动:
=abs(close-ref(close,n));
变动速率:
=整个周期价格的总体变动/每个周期价格变动的累加;
在本文中,一般采用周期n=10。
•使用10周期去指定一个从非常慢到非常快的趋势;
•在10周期内当价格方向不明确的时候,自适应均线应该是横向移动;
上面两部分已经把自适应均线系统的原理做了比较粗略的介绍。
其实自适应均线系统是一个很简单的指标公式,似乎没有必要很罗唆地说那么多原理性的东西。
现在很多人喜欢“黑匣子”式的指标公式,只要系统能够发出买卖信号就可以了。
但是“黑匣子”并不告诉你买卖的理由,你也不知道市场到底因为发生了些什么“黑匣子”才会发出“买”和“卖”的指令。
如果自适应均线系统的周期n=10,那么:
1。
自适应均线系统横向移动时,系统告诉你:
最近的10个周期中,价格上涨的幅度和下跌的幅度基本相当,(是幅度,而不是周期数);
2。
自适应均线系统向上翘起时,系统告诉你:
最近10个周期中,价格上涨的幅度要大于下跌的幅度,价格逐渐进入强势的状态。
3。
自适应均线系统向下垂时,系统告诉你的情形和2的情形正好相反。
有关原理性的东西就说到这里了,下面给出自适应均线系统的指标公式,此公式在通达信、大智慧、飞狐软件中均调试通过:
{主图公式,或者附图叠加K线公式}
{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;
这样做出的自适应均线已经可以使用,但是如果对自适应均线做一次2周期的EMA,也是可以接受的,代码如下:
{主图公式,或者附图叠加K线公式}
{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:
EMA(DMA(CLOSE,CQ),2),COLORGREEN;
AMA1:
IF(AMA>REF(AMA,1),AMA,DRAWNULL),COLORRED,LINETHICK2;一、考夫曼的做法:
自适应均线系统的交易法则,根据考夫曼《精明交易者》一书中的介绍,其基本交易法则为:
1.当自适应移动平均值向上拐头时,买入;
2.当自适应移动平均值向下拐头时,卖出。
当价格横向移动时,上述的交易方式将频繁产生进出交易的假信号。
为了避免假信号的干扰,应该向AMA交易系统中添加一个过滤器。
这个过滤器是根据自适应均线变化的标准差的百分比来确定。
根据这个原理,自适应均线的公式可做如下的完善:
DIR:
=ABS(CLOSE-REF(CLOSE,10));
VIR:
=SUM(ABS(CLOSE-REF(CLOSE,1)),10);
ER:
=DIR/VIR;
CS:
=ER*(2/3-2/14)+2/14;
CQ:
=CS*CS;
AMA:
EMA(DMA(CLOSE,CQ),2),COLORGREEN;
FIL:
=STD(AMA-REF(AMA,1),20);
DRAWICON(FILTER(AMA-LLV(AMA,3)>FIL*0.1,10),AMA,1);
二、我实际的操作方法:
本人在使用自适应均线的中,并没有采用考夫曼的方式。
当自适应均线拐头向上时,必须使用连续两天的日K线确认趋势,当连续两根日K线均处于自适应均线上方时,方可确认上升趋势。
1.第一根日K线应该从自适应均线的下方向上穿越自适应均线;
2.第二根日K线,不论是阴线还是阳线,均不应跌破自适应均线,这时,可确认股价进入上升趋势。
3.以第一根穿越自适应均线的最高点【或者K线实体的高点】为标准,在后面的3天之内,股价高于这个标准的时候,为买入点。
4.卖出点也是以连续2日的K线低于自适应均线为卖出信号,如果连续两条价格不能收在自适应均线的上方,则必须卖出通过在MACD股票论坛中的交流,对自适应均线的使用做了一些改动。
根据网友baifq的建议,采用两条自适应均线,分别适用短周期和长周期。
并且对长周期均线做了三色处理。
交易法则:
1、长周期均线为绿色时,不可操作;
2、长周期为蓝色,股价穿越短周期均线时,可建50%的仓位;
3、股价穿越长期均线时,可再建50%仓位;
4、股价跌破短周期均线时,减掉50%仓位;
5、股价跌破长周期均线时,卖出全部股票;
6、长周期均线为红色时,代表持股。
短过长,蜡烛线中阳或调空,可买;或短在长上,连续2-3日小阳,成交量短在长上,可买.
以下是修改后的代码:
【通达信】
DIR1:
=ABS(CLOSE-REF(CLOSE,5));
VIR1:
=SUM(ABS(CLOSE-REF(CLOSE,1)),5);
ER1:
=DIR1/VIR1;
CS1:
=ER1*(0.8-2/8)+2/8;
CQ1:
=CS1*CS1;
AMA1:
EMA(DMA(CLOSE,CQ1),2),COLORWHITE;
DIR2:
=ABS(CLOSE-REF(CLOSE,10));
VIR2:
=SUM(ABS(CLOSE-REF(CLOSE,1)),10);
ER2:
=DIR2/VIR2;
CS2:
=ER2*(0.8-2/24)+2/24;
CQ2:
=CS2*CS2;
AMA2:
EMA(DMA(CLOSE,CQ2),2),COLORGREEN,LINETHICK2;
AMA3:
IF(AMA2/REF(AMA2,1)>0.997,AMA2,DRAWNULL),COLORBLUE,LINETHICK2;
AMA4:
IF(AMA2/REF(AMA2,1)>1.001,AMA2,DRAWNULL),COLORRED,LINETHICK2;
经过上述修改后,短期均线更适合短线操作,并能为长期趋势提供比较准确的买卖点。
+
根据考夫曼的自适应均线原理,利用文华财经编了一下,还是不错的,现把源代码公布出来给大家参考。
交易指标即自适应均线的源代码,我根据指标改良了一下交易系统,考夫曼原来是采用均线值的变化率发出买卖信号,我觉得不是很好,就用最高最低价构建了一个智能均线带,采用最低最高价突破来发出信号,大家一起探讨阿。
交易指标:
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;
CLOSEHIGHCLOSE>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);得到的结果竟成了一直线
我曾将DMA等函数用循环语句试写,主要是加深对这些函数的理解,也为学习飞狐的循环语句。
公式源码仅供参考,如有错误请指正。
input:
n(0.2,0,1);
a:
=c;
y:
=a;
for i=2todatacountdo
y:
=a*n+(1-n)*y;
虫dma:
y;
飞狐dma:
dma(c,n);
========================
================================
input:
n(20,1,99);
a:
=c;
y:
=a;
for i=2todatacountdo
y:
=(2*a+(n-1)*y)/(n+1);
虫ema:
y;
飞狐ema:
ema(c,n);
====================================
=============================
input:
n(20,1,99),m(10,1,99);
ifn<=mthenEXIT;
a:
=c;
y:
=a;
for i=2todatacountdo
y:
=(m*a+(n-m)*y)/n;
虫sma:
y;
飞狐sma:
sma(c,n,m);
=======================================
====================================
input:
n(0.9,0,99),m(0.1,0,99);
a:
=c;
y:
=a*m;
for i=2todatacountdo
y:
=n*y+m*a;
虫tma:
y;
飞狐tma:
tma(c,n,m);
=======================================
========================================
input:
n(20,1,99);
fori=0ton-1do
y:
=y+(n-i)*ref(c,i);
虫wma:
y/(n+1)/n*2;
飞狐wma:
Wma(c,n);
Lasteditedby钻心虫on2005-11-7at16:
28]