1.XMA只在通達信可用,其他股軟可用下面代碼的后兩句代替XMA測試A:=XMA(H,N);B:=MA(H,N);REF(A,FLOOR(N/2));MA((H-FORCAST(H,CEILING(N/2))),N)+B;需要注意的是 FORCAST 是屬于"未來"的3樓的把動態行情和財務數據都歸于"未來",那就什么也別做了
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)的關系,再對比出現黃綠信號時的指標數值,你一定會有新的發現}
5.關于 XMAXMA(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)));REFX(MA((M-FORCAST(M,CEILING(N/2))),N)+MA(M,N),CEILING(N/2));其他股軟不易實現由于使用了未來數據,慎用!!!
6.先說說偶使用xma的基本理念供大家討論:首先回顧一下xma(c,n)1、在n/2日以前部分,是移中均線(這段基于已經發生的歷史數據,是真實可信的,以后也不會再變動)2、在n/2日以后部分,簡單的取已知數據的平均值作為未來數據供計算使用。(例釋:根據已經知道的40個交易日數據,xma預計下一個交易的收盤價是這40天的均價;根據已經知道的39個交易日數據,xma預計下2個交易的收盤價都是這39天的均價)(這段使用了部分未來數據,以后會變的)因此提出下面兩條使用xma的基本原則1、以更合理的方法對未來進行預測n/2日以后,xma簡單的取已知數據的平均值作為未來數據供計算使用,這實際上是隨機走動理論的體現,否定了股市中存在趨勢偶根據道瓊斯理論按歷史上數據變動的趨勢對未來進行預測(順便說一句,偶是道氏的粉絲^_^)2、嚴格區分已經發生的歷史和對未來的預測偶目前的方法是將xma的輸出截斷,保留真實可靠的移中均線部分雖然偶認為趨勢理論優于隨機走動理論,但預測畢竟是預測不能等同于事實因此將兩部分分段畫圖,中間留一個缺口,明確兩者之間的邊界
7.XMA到底是什么?揭開XMA的面紗!
XMA到底是什么?揭開XMA的面紗!我將XMA函數的面紗向大家揭開,但從上次我發出XMA函數源碼求助帖至今,我仍然沒有獲得XMA函數的源碼,如果有高手知道的可以交流。我上次因是新人不知道版規就為求助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.{指標名稱----------觀察偏移}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)的關系,再對比出現黃綠信號時的指標數值,你一定會有新的發現}------------聲明:這可不是飛狐的喲
9.昨天XMA,感覺指示蠻準的,為了搞清編制原理,上網搜索一下,好像沒人知道,經過一天的琢磨,終于破解:XMA(X,N)為INT(N/2)+i個X的均值,其中 i 由最后一交易日倒數到INT(N/2)+1, 即 1 到INT(N/2)+1,i 倒數至INT(N/2)+1后,XMA(X,N)值為2*INT(N/2)+1個X的均值。因此,倒數INT(N/2)+1個XMA值便是最終值(不再變化),而倒數1 到INT(N/2)個XMA終值受未來INT(N/2)-i+1個X的影響,由此看來XMA(X,N)是個未來函數,具有欺騙性。
補充說明:X的取值在 i >INT(N/2)后,以 i 為中心的2*INT(N/2)+1個數值;i <=INT(N/2),右側被截斷INT(N/2)-i+1個。謝謝指點!破解前沒有搜索到該帖,現在補看一下。
不過,我還是要奉勸你一句:為人最好謙虛點,特別是想教訓或懷疑別人的時候。
象你這樣連我對XMA描述都看不懂,就懷疑我抄襲。等同于我懷疑你有智障一樣無禮!盡管我懷疑你有智障有充分的理由。
為了讓你明白我關于XMA(X,N)的描述,再多說幾句:
XMA(X,N)值觀察點的位置對應于X序列倒數排序值i
1. 在i >INT(N/2)時,X序列中X(i)位于X(INT(N/2))左側,如:
...、X(i)、...、X(INT(N/2))、...、X(3)、X(2)、X(1)
在X(i)處顯示的XMA(X,N),是以X(i)為中心的2*INT(N/2)+1個X均值
此時XMA(X,N)的X均值數組為:
X(i+INT(N/2))、...、X(i)...、X(i-INT(N/2)),即X(i)為中心、向左/右再連續各取INT(N/2)個X。
由于i >INT(N/2),所以i-INT(N/2)>=1,只要最后交易日收盤后X(1)就不再變化,XMA(X,N)向右連續取INT(N/2)個X時就不存在不確定值,所以說序列倒數至INT(N/2)+1后對應的XMA值便是最終值(不再受未來數據影響),這時通達信的REF(XMA(X,N),INTPART(N/2))與MA(X,2*INTPART(N/2)+1)完全一致。
2. 在i <=INT(N/2)時,X序列中X(i)位于X(INT(N/2))右側,如:
...、X(INT(N/2))、...、X(i)...、X(3)、X(2)、X(1)
在X(i)處顯示的XMA(X,N),不再是以X(i)為中心的2*INT(N/2)+1個X均值,而是X(i)、向左連續取INT(N/2)個X、向右只能取到i-1個X,由這INT(N/2)+i個X的均值得到此處的XMA(X,N),即此時XMA(X,N)的X均值數組為:
X(i+INT(N/2))、...、X(INT(N/2))、...、X(i)...、X(1)。
相比X均值數組的飽和個數2*INT(N/2)+1,此時數組被截斷2*INT(N/2)+1-(INT(N/2)+i)=INT(N/2)-i+1個X。
在未來不斷增添的最后一交易日過程中,目前觀察點在X序列將重新排序,同一交易日所對應的序列位置將左移,即i 值會增大,該交易日的XMA(X,N) 均值數組擴大(直至i >INT(N/2)后均值數組飽和為止),數值被不斷修正、發生漂移,此時的XMA(X,N)最終值受未來INT(N/2)-i+1個X的影響。