通达信,XMA,指标公式
MA和XMA的一部分算法一样。比如:
MA(C,N)=(REF(C,N-1)+--REF(C,N-2)+REF(C,N=1)+C)/N
XMA(C,N)=(REF(C,N-1)+--REF(C,N-2)+REF(C,N=1)+C)/N
这两个函数的这个值算法相同。不同的是这个值放到什么位置上。
MA是把这个值放到计算当天。而XMA把这个值放到向前数第(N+1)/2的位置上。所以从这个角度看,XMA更符合平均值的计算原理,把平均值赋给中间数才是合理的。MA虽然使数值固定不变,但对原理来讲并不合理。
因为XMA把数值赋给中间位置的数,所以就存在一个问题,就是所有在中间数值{(N+1)/2}这个位置以前的数都是固定不变的了,那么就出现一个问题,在中间数值{(N+1)/2}这个位置以后的{(N-1)/2}位的数值怎么给定?这些位置数值的算法是什么样的那?
我们这里举个容易判断的例子。给定N值=5。
那么(5+1)/2=3,3位和其之前的数都固定了,只有本位数和{(N-1)/2}位数没有固定,这两个数值怎么给出那?
当日本位XMA(C,N)的数值=[当日起向前((N+1)/2)位的数值之和]/(N+1)/2。
当日向前M日位置的数值:
=[当日起向前((N+1)/2+M)位的数值之和]/[(N+1)/2+M]。
一直到((N+1)/2+M)+1=N为止。
期间位数为偶数时等同加一位,例如N=2相当于N=3来处理。
例:
A B C D E F G H J K L M N O P
1 2 3 4 5 6 7 8 9 1
字母代表XMA价格,数字代表实际价格。
如果一个7日XMA均线。XMA(X,N);
N=7;M=前一数距离A的位置数;
A=(1+2+3+4)/4;B=(1+2+3+4+5)/5;C=(1+2+3+4+5+6)/6;
D=(1+2+3+4+5+6+7)/7;E=(2+3+4+5+6+7+8)/7;
A=[(N+1)/2位数之和]/(N+1)/2位;
B=[(N+1)/2+M位数之和]/(N+1)/2+M位;这里的M=1;
C=[(N+1)/2+M位数之和]/(N+1)/2+M位;这里的M=2;
D=[N位数之和/N位];此值向后数值全部固定。
E=[A倒退一位后的N位数之和/N位];此值固定。
这里我们看到A值其实就是4日均线值,等同于MA(C,4),B值等同于从A开始的5日均线值,依次类推。
这样我们只要做出一个XMA(Q,N)中的N日平均线就能得到历史上没有漂移时期的XMA(Q,N)的值了。这样就可以考察各个时期XMA的均线漂移情况了。
XMA(C,N)嵌套循环,其中N值取的小一些,这样,如果循环的次数越多,对以前的数值影响长度就越大,但数值变化幅度减小,对近期的数值变化幅度也减小,这样的好处是使越接近现在的数值变化的范围可以小一些,减少近期失真或过度漂移的现象,不利的地方是使整条均线数值的大部分成为动态值,只不过动态范围很小。
如果XMA(C,N)不使用嵌套循环,N值取的过小,均线不平滑。N值取得大一些,近期N的后半期数值变化(漂移)幅度会比嵌套循环的幅度大一些,也就是说接近近期的数值漂移会比嵌套的严重些,但优点是在N/2之前的数值全部固定不变,不会有任何漂移了。
下面是我为了分析做的图表,从图表中可以看出,(这里我做的是一个3天23层循环套XMA的原理)循环的层数等于向前影响的天数,就是说一个3天23层的XMA循环套的均线值从收盘当日起向前23天都是变化的,而且随着嵌套层的增加,这种向前的影响不断增加,但幅度不断减小。因为层数越多其中参与计算的固定下来的数值越多,第一天没有固定值,第二天有两个固定值,第三天有三个,不断增加。我们假设一下,如果这种嵌套接近无穷,那么可以认为这条均线每天都变化,是整体变化,就是说当天的收盘数值将影响到上市前3天的均线数值,哈哈,这个未来影响满大的,不过幅度会很小很小,因为他平均了上市以来的所有波动,因为时间漫长,摊到每一天上就很小了很小了。如果有时间,我想用编程语言模拟进行一次计算,看看影响到底是什么样子的。
本人学习了以上,稍有启发!XMA函数有漂移是事实存在的,但是数值的漂移的幅度很小,那么我们不做买卖点的决策,但是可以做趋势的研判,xma函数对趋势的提示比均线系统提早很多,以下就是根据此原理做的指标,只作为对股票价格趋势的研判,先把指标发出请大家,先试着研判一下趋势,我再把自己使用的心得和大家交流,其实,指标有没有未来不重要,重要的是您对指标的原理的了解程度!!
以下是指标的源码:偏移均线
偏5:XMA(XMA(XMA(C,5),5),5)-XMA(XMA(XMA(XMA(XMA(XMA(XMA(C,5),5),5),5),5),5),5);
偏8:XMA(XMA(XMA(C,8),8),8)-XMA(XMA(XMA(XMA(XMA(XMA(XMA(C,8),8),8),8),8),8),8);
偏21:XMA(XMA(XMA(C,21),21),21)-XMA(XMA(XMA(XMA(XMA(XMA(XMA(C,21),21),21),21),21),21),21);
趋势:XMA(XMA(XMA(C,N),N),N)-XMA(XMA(XMA(XMA(XMA(XMA(XMA(C,N),N),N),N),N),N),N),LINETHICK2;