原文地址: 2011-07-12 19:57:48| 分类: 默认分类 | 标签: |字号大中小 订阅 关于xma函数: 1.xma只在通达信可用. 2.通达信公式系统的几个函数的解释ma:简单移动平均sma:移动平均ema(expma):指数移动平均expmema:指数平滑移动平均mema:平滑移动平均dma:动态移动平均xma(x,m):偏移移动平均ema同expma一样的意思ema(x,n)=sma(x,n+1,2)sma:返回累积平均用法:sma(x,n,m):x的m日累积平均,m为权重,如y=(x*m+y *(n-m))nma(x,n)=sma(x,n,1)mema(x,n)与ma的差别在于起始值为一平滑值,而不是初始值expmema同ema(即expma)的差别在于他的起始值为一平滑值dma:求动态移动平均.用法:dma(x,a),求x的动态移动平均.算法: 若y=dma(x,a)则 y=a*x+(1-a)*y ,其中y 表示上一周期y值,a必须小于1.例如:dma(close,volcapital)表示求以换手率作平滑因子的平均价xma(x,m):x的m日偏移移动平均这种移动平均可能会用到未来数据,用到了当日以后m2日的数据,只供内部保留测试使用 3.研究一下{关于 xma}xma(x,m):x的m日偏移移动平均这种移动平均可能会用到未来数据,用到了当日以后m2日的数据,只供内部保留测试使用xma函数分析(通达信)a:xma(c,n);b:=ma(c,n);x:ref(a,floor(n2));y:ma((c-forcast(c,ceiling(n2,n)+b;你将看到 x 和 y 基本吻合,而 x 滞后 a floor(n2) 个周期飞狐可做如下模拟实现}inp t.:k(0,0,3),n(6,1,9999);m:=if(k=0,open,if(k=1,high,if(k=2,low,close;(ma((m-forcast(m,ceiling(n2,n)+ma(m,n),ceiling(n2));普通ma:ma(c,n); 4.{指标名称观察偏移}m:20,nodraw;{m的大小可在这里自由调}a0:=ema((ma(hhv(h,2),2)+ma(llv(l,2),2))2,2);原形:ma(a0,m),color00aaee;偏移:xma(a0,m),color00ff00;drawtext(原形ref(原形,1) and ref(原形,1)ref(原形,2),原形,  ),color00bbff;drawtext(偏移ref(偏移,1) and ref(偏移,1)ref(偏移,2),偏移,  ),color99ff00;drawtext(原形ref(原形,1) and ref(原形,1)ref(原形,2),原形, ◎ ),color00bbff;drawtext(偏移ref(偏移,1) and ref(偏移,1)ref(偏移,2),偏移, ◎ ),color99ff00;{先用这个原码看看图形,重点看绿到黄 绿◎到黄◎的间隔周期与m的一半(m2)的关系,再对比出现黄绿信号时的指标数值,你一定会有新的发现} 5.关于 xmaxma(x,m):x的m日偏移移动平均这种移动平均可能会用到未来数据,用到了当日以后m2日的数据,只供内部保留测试使用xma函数分析(通达信)a:xma(c,n);b:=ma(c,n);x:ref(a,floor(n2));y:ma((c-forcast(c,ceiling(n2,n)+b;你将看到 x 和 y 基本吻合,而 x 滞后 a floor(n2) 个周期飞狐可做如下模拟实现inp t.:k(0,0,3),n(6,1,9999);m:=if(k=0,open,if(k=1,high,if(k=2,low,close;refx(ma((m-forcast(m,ceiling(n2,n)+ma(m,n),ceiling(n2));其他股软不易实现由于使用了未来数据,慎用!!! 6.先说说使用xma的基本理念供大家参考:首先回顾一下xma(c,n)1,在n2日以前部分,是移中均线(这段基于已经发生的历史数据,是真实可信的,以后也不会再变动)2,在n2日以后部分,简单的取已知数据的平均值作为未来数据供计算使用.(例释:根据已经知道的40个交易日数据,xma预计下一个交易的收盘价是这40天的均价;根据已经知道的39个交易日数据,xma预计下2个交易的收盘价都是这39天的均价)(这段使用了部分未来数据,以后会变的)因此提出下面两条使用xma的基本原则1,以更合理的方法对未来进行预测n2日以后,xma简单的取已知数据的平均值作为未来数据供计算使用,这实际上是随机走动理论的体现,否定了股市中存在趋势,根据道琼斯理论按历史上数据变动的趋势对未来进行预测.2,严格区分已经发生的历史和对未来的预测偶目前的方法是将xma的输出截断,保留真实可靠的移中均线部分虽然偶认为趋势理论优于随机走动理论,但预测毕竟是预测不能等同于事实因此将两部分分段画图,中间留一个缺口,明确两者之间的边. 7.xma到底是什么?揭开xma的面纱! 我将xma函数的面纱向大家揭开,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20.........如果在10这个地方统计ma(c,5)=(6+7+8+9+10)5;这是以10为终点,向前统计法;如果在10这个地方统计xma(c,5)=(8+9+10+11+12)5;这是以10为中点,从中间向前和向后统计法;如果在10这个地方统计ma(c,7)=(4+5+6+7+8+9+10)7;这是以10为终点,向前统计法;如果在10这个地方统计xma(c,7)=(7+8+9+10+11+12+13)7;这是以10为中点,从中间向前和向后统计法;如果在10这个地方统计ma(c,9)=(2+3+4+5+6+7+8+9+10)9;这是以10为终点,向前统计法;如果在10这个地方统计xma(c,9)=(6+7+8+9+10+11+12+13+14)9;这是以10为中点,从中间向前和向后统计法;假如今天就是10号收盘,前面的数据已经发生了,但是11号,12,13,14,15,16,17,18,19,20......没有发生,没有发生就没数据,但xma如何给没发生的赋值数据呢?原理很简单:假如是xma(c,7),以10号收盘来统计xma(c,7),7,8,9,10数据已经有了,但11,12,13还没发生,数据没有,怎么办?就是这用7,8,9,10这4天的平均价赋值分别给11,12,13;然后全部求平均.如果是n天呢?n天后的没有发生的怎么赋值?那就用n天前的包括n天的((n+1)2)天的平均价赋值;但是有一点,xma还怪在这里:当今天10号已经过去,11号变成今天,昨天对11号没发生的赋值又会用今天的实际值来取代.用11号实际发生的数值取代昨天对今天的赋值;xma(c,n)里的一般为奇数,当n设定为偶数时候,它怎么办呢?就是自动采用n+1法自动调整为奇数. 8.关于xma,感觉指示蛮准的,为了搞清编制原理,上网搜索一下,好像没人知道,经过一天的琢磨,终于破解:xma(x,n)为int(n2)+i个x的均值,其中 i 由最后一交易日倒数到int(n2)+1, 即 1 到int(n2)+1,i 倒数至int(n2)+1后,xma(x,n)值为2*int(n2)+1个x的均值.因此,倒数int(n2)+1个xma值便是最终值(不再变化),而倒数1 到int(n2)个xma终值受未来int(n2)-i+1个x的影响,由此看来xma(x,n)的确是个未来函数,不过这个未来函数我们可以用,大可不必大惊小怪. 补充说明:x的取值在 i int(n2)后,以 i 为中心的2*int(n2)+1个数值;i =int(n2),右侧被截断int(n2)-i+1个.为了让你明白我关于xma(x,n)的描述,再多说几句:xma(x,n)值观察点的位置对应于x序列倒数排序值i 1. 在i int(n2)时,x序列中x(i)位于x(int(n2))左侧,如:...,x(i),...,x(int(n2)),...,x(3),x(2),x(1) 在x(i)处显示的xma(x,n),是以x(i)为中心的2*int(n2)+1个x均值 此时xma(x,n)的x均值数组为: x(i+int(n2)),...,x(i)...,x(i-int(n2)),即x(i)为中心,向左右再连续各取int(n2)个x. 由于i int(n2),所以i-int(n2)=1,只要最后交易日收盘后x(1)就不再变化,xma(x,n)向右连续取int(n2)个x时就不存在不确定值,所以说序列倒数至int(n2)+1后对应的xma值便是最终值(不再受未来数据影响),这时通达信的ref(xma(x,n),intpart(n2))与ma(x,2*intpart(n2)+1)完全一致. 2. 在i =int(n2)时,x序列中x(i)位于x(int(n2))右侧,如: ...,x(int(n2)),...,x(i)...,x(3),x(2),x(1) 在x(i)处显示的xma(x,n),不再是以x(i)为中心的2*int(n2)+1个x均值,而是x(i),向左连续取int(n2)个x,向右只能取到i-1个x,由这int(n2)+i个x的均值得到此处的xma(x,n),即此时xma(x,n)的x均值数组为: x(i+int(n2)),...,x(int(n2)),...,x(i)...,x(1). 相比x均值数组的饱和个数2*int(n2)+1,此时数组被截断2*int(n2)+1-(int(n2)+i)=int(n2)-i+1个x. 在未来不断增添的最后一交易日过程中,目前观察点在x序列将重新排序,同一交易日所对应的序列位置将左移,即i 值会增大,该交易日的xma(x,n) 均值数组扩大(直至i int(n2)后均值数组饱和为止),数值被不断修正,发生漂移,此时的xma(x,n)最终值受未来int(n2)-i+1个x的影响. *相似看法: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}位数没有固定,这两个数值怎么给出那?当日本位ma(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来处理. xma(c,n)嵌套循环,其中n值取的小一些,这样,如果循环的次数越多,对以前的数值影响长度就越大,但数值变化幅度减小,对近期的数值变化幅度也减小,这样的好处是使越接近现在的数值变化的范围可以小一些,减少近期失真或过度漂移的现象,不利的地方是使整条均线数值的大部分成为动态值,只不过动态范围很小. 如果xma(c,n)不使用嵌套循环,n值取的过小,均线不平滑.n值取得大一些,近期n的后半期数值变化(漂移)幅度会比嵌套循环的幅度大一些,也就是说接近近期的数值漂移会比嵌套的严重些,但优点是在n2之前的数值全部固定不变,不会有任何漂移了.因为他平均了上市以来的所有波动,因为时间漫长,摊到每一天上就很小了很小了.理解了这些函数的概念,我就直接做了个华山道的指标,同时把n值取向为1598(也就是1235813213455891442333776109871597,n+1=1598,谐音"要悟就发"股市里底部买进的股票要翻番也要会"要捂就发")有了这个就可以短线选股了.接下来贴图:(未完,待续) 由上图可以看出主图和选股均用到了未来函数xma,信号的漂移由于取值1598所以你们现在看到的紫色华山道已经极其平滑了,不会产生漂移,而且是堆量跟进(看附图筹码双峰中红色的云团和太极看量中的那根黄色量柱,堆量跟进,俗话说15分钟看量,30分钟看势,没有对概念的理解,盲目地跟进风险是巨大的,由于信号不多,攻击华山道也是带量而过的,信号就比较可靠,至于未来函数xma,其实也和普通函数ma等是一回事,不过更加科学和平滑而已,所以对未来函数不必怀有恐惧之心,而是对主流主力和庄家怀有崇敬之心,及时跟上他们的节奏,那么一览众山小,登临绝顶,举头红日近,俯首白云低的气势也就成了短线征服者梦寐以求的结果,其后涨幅也远远大于7%,主图中虚黄线也就是碰黄山天都峰抛的止盈点,一旦碰上就要注意克服贪婪点,而过了华山道征服了华山,美景自然尽收眼底,股价不上天都峰,等于未到黄山中,俗话说"五岳归来不看山,黄山归来不看岳"也就是我核心的思路所在.其登山的能量就是力量,背后的推手就是强大的资金作用.