一只独秀儿
2024-11-16 02:57:18
最佳回答
关于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,vol/capital)表示求以换手率作平滑因子的平均价xma(x,m):x的m日偏移移动平均这种移动平均可能会用到未来数据,用到了当日以后m/2日的数据,只供内部保留测试使用3.研究一下{关于 xma}xma(x,m):x的m日偏移移动平均这种移动平均可能会用到未来数据,用到了当日以后m/2日的数据,只供内部保留测试使用xma函数分析(通达信)a:xma(c,n);b:=ma(c,n);x:ref(a,floor(n/2));y:ma((c-forcast(c,ceiling(n/2))),n)+b;你将看到 x 和 y 基本吻合,而 x 滞后 a floor(n/2) 个周期飞狐可做如下模拟实现}input.:k(0,0,3),n(6,1,9999);m:=if(k=0,open,if(k=1,high,if(k=2,low,close)));xma:refx(ma((m-forcast(m,ceiling(n/2))),n)+ma(m,n),ceiling(n/2));普通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的一半(m/2)的关系,再对比出现黄绿信号时的指标数值,你一定会有新的发现} 20210311