您可以自己試著摸索她的算法,。知道了算法,,就徹底了解她了.
關(guān)于XMA函數(shù)的探討
1.XMA只在通達(dá)信可用,其他股軟可用下面代碼的后兩句代替XMA測(cè)試A:=XMA(H,N);B:=MA(H,N);REF(A,FLOOR(N/2));MA((H-FORCAST(H,CEILING(N/2))),N)+B;需要注意的是 FORCAST 是屬于"未來(lái)"的3樓的把動(dòng)態(tài)行情和財(cái)務(wù)數(shù)據(jù)都?xì)w于"未來(lái)",那就什么也別做了,。
2.通達(dá)信公式系統(tǒng)的幾個(gè)函數(shù)的解釋MA:簡(jiǎn)單移動(dòng)平均SMA:移動(dòng)平均EMA(EXPMA):指數(shù)移動(dòng)平均EXPMEMA:指數(shù)平滑移動(dòng)平均MEMA:平滑移動(dòng)平均DMA:動(dòng)態(tài)移動(dòng)平均XMA(X,M):偏移移動(dòng)平均EMA同EXPMA一樣的意思EMA(X,N)=SMA(X,N+1,2)SMA:返回累積平均用法:SMA(X,N,M):X的M日累積平均,M為權(quán)重,如Y=(X*M+Y'*(N-M))/NMA(X,N)=SMA(X,N,1)MEMA(X,N)與MA的差別在于起始值為一平滑值,而不是初始值EXPMEMA同EMA(即EXPMA)的差別在于他的起始值為一平滑值DMA:求動(dòng)態(tài)移動(dòng)平均.用法:DMA(X,A),求X的動(dòng)態(tài)移動(dòng)平均.算法: 若Y=DMA(X,A)則 Y=A*X+(1-A)*Y',其中Y'表示上一周期Y值,A必須小于1.例如:DMA(CLOSE,VOL/CAPITAL)表示求以換手率作平滑因子的平均價(jià)XMA(X,M):X的M日偏移移動(dòng)平均這種移動(dòng)平均可能會(huì)用到未來(lái)數(shù)據(jù),用到了當(dāng)日以后M/2日的數(shù)據(jù),只供內(nèi)部保留測(cè)試使用
3.自己研究一下{關(guān)于 XMA}XMA(X,M):X的M日偏移移動(dòng)平均這種移動(dòng)平均可能會(huì)用到未來(lái)數(shù)據(jù),用到了當(dāng)日以后M/2日的數(shù)據(jù),只供內(nèi)部保留測(cè)試使用xma函數(shù)分析(通達(dá)信)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) 個(gè)周期飛狐可做如下模擬實(shí)現(xiàn)}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.{指標(biāo)名稱----------觀察偏移}M:20,NODRAW;{M的大小可在這里自由調(diào)}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(偏移,1) AND REF(偏移,1)REF(原形,2),原形,'◎'),COLOR00BBFF;DRAWTEXT(偏移REF(偏移,2),偏移,'◎'),COLOR99FF00;{先用這個(gè)原碼看看圖形,重點(diǎn)看綠★到黃★ 綠◎到黃◎的間隔周期與M的一半(M/2)的關(guān)系,再對(duì)比出現(xiàn)黃綠信號(hào)時(shí)的指標(biāo)數(shù)值,你一定會(huì)有新的發(fā)現(xiàn)}
5.關(guān)于 XMAXMA(X,M):X的M日偏移移動(dòng)平均這種移動(dòng)平均可能會(huì)用到未來(lái)數(shù)據(jù),用到了當(dāng)日以后M/2日的數(shù)據(jù),只供內(nèi)部保留測(cè)試使用xma函數(shù)分析(通達(dá)信)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) 個(gè)周期飛狐可做如下模擬實(shí)現(xiàn)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));其他股軟不易實(shí)現(xiàn)由于使用了未來(lái)數(shù)據(jù),慎用!!!
6.先說(shuō)說(shuō)偶使用xma的基本理念供大家討論:首先回顧一下xma(c,,n)1,、在n/2日以前部分,,是移中均線(這段基于已經(jīng)發(fā)生的歷史數(shù)據(jù),,是真實(shí)可信的,,以后也不會(huì)再變動(dòng))2,、在n/2日以后部分,,簡(jiǎn)單的取已知數(shù)據(jù)的平均值作為未來(lái)數(shù)據(jù)供計(jì)算使用。(例釋:根據(jù)已經(jīng)知道的40個(gè)交易日數(shù)據(jù),,xma預(yù)計(jì)下一個(gè)交易的收盤(pán)價(jià)是這40天的均價(jià);根據(jù)已經(jīng)知道的39個(gè)交易日數(shù)據(jù),,xma預(yù)計(jì)下2個(gè)交易的收盤(pán)價(jià)都是這39天的均價(jià))(這段使用了部分未來(lái)數(shù)據(jù),,以后會(huì)變的)因此提出下面兩條使用xma的基本原則1,、以更合理的方法對(duì)未來(lái)進(jìn)行預(yù)測(cè)n/2日以后,xma簡(jiǎn)單的取已知數(shù)據(jù)的平均值作為未來(lái)數(shù)據(jù)供計(jì)算使用,,這實(shí)際上是隨機(jī)走動(dòng)理論的體現(xiàn),否定了股市中存在趨勢(shì)偶根據(jù)道瓊斯理論按歷史上數(shù)據(jù)變動(dòng)的趨勢(shì)對(duì)未來(lái)進(jìn)行預(yù)測(cè)(順便說(shuō)一句,,偶是道氏的粉絲^_^)2,、嚴(yán)格區(qū)分已經(jīng)發(fā)生的歷史和對(duì)未來(lái)的預(yù)測(cè)偶目前的方法是將xma的輸出截?cái)?,保留真?shí)可靠的移中均線部分雖然偶認(rèn)為趨勢(shì)理論優(yōu)于隨機(jī)走動(dòng)理論,但預(yù)測(cè)畢竟是預(yù)測(cè)不能等同于事實(shí)因此將兩部分分段畫(huà)圖,,中間留一個(gè)缺口,,明確兩者之間的邊界
7.XMA到底是什么?揭開(kāi)XMA的面紗,!
XMA到底是什么,?揭開(kāi)XMA的面紗,!我將XMA函數(shù)的面紗向大家揭開(kāi),,但從上次我發(fā)出XMA函數(shù)源碼求助帖至今,我仍然沒(méi)有獲得XMA函數(shù)的源碼,,如果有高手知道的可以交流。我上次因是新人不知道版規(guī)就為求助XMA函數(shù)源碼,、長(zhǎng)時(shí)間掛貼,、沒(méi)獲得最滿意的解答擦掉求助帖而挨千鈞老師的板子,,在此向千鈞老師再次道歉,現(xiàn)在知道版規(guī)了,,不會(huì)再瞎擦了,請(qǐng)放心,。 XMA到底是什么?揭開(kāi)XMA的面紗,!1,,2,,3,4,,5,,6,7,,8,9,,10,,11,12,,13,,14,,15,16,,17,,18,,19,,20.。,。。,。,。。,。,。如果在10這個(gè)地方統(tǒng)計(jì)MA(C,5)=(6+7+8+9+10)/5;這是以10為終點(diǎn),向前統(tǒng)計(jì)法;如果在10這個(gè)地方統(tǒng)計(jì)XMA(C,5)=(8+9+10+11+12)/5;這是以10為中點(diǎn),從中間向前和向后統(tǒng)計(jì)法;如果在10這個(gè)地方統(tǒng)計(jì)MA(C,7)=(4+5+6+7+8+9+10)/7;這是以10為終點(diǎn),向前統(tǒng)計(jì)法;如果在10這個(gè)地方統(tǒng)計(jì)XMA(C,7)=(7+8+9+10+11+12+13)/7;這是以10為中點(diǎn),從中間向前和向后統(tǒng)計(jì)法;如果在10這個(gè)地方統(tǒng)計(jì)MA(C,9)=(2+3+4+5+6+7+8+9+10)/9;這是以10為終點(diǎn),向前統(tǒng)計(jì)法;如果在10這個(gè)地方統(tǒng)計(jì)XMA(C,9)=(6+7+8+9+10+11+12+13+14)/9;這是以10為中點(diǎn),從中間向前和向后統(tǒng)計(jì)法;假如今天就是10號(hào)收盤(pán),前面的數(shù)據(jù)已經(jīng)發(fā)生了,但是11號(hào)、12,、13,、14、15,、16,、17、18,、19,、20......沒(méi)有發(fā)生,沒(méi)有發(fā)生就沒(méi)數(shù)據(jù),,但XMA如何給沒(méi)發(fā)生的賦值數(shù)據(jù)呢,?原理很簡(jiǎn)單:假如是XMA(C,7),以10號(hào)收盤(pán)來(lái)統(tǒng)計(jì)XMA(C,7),7、8,、9,、10數(shù)據(jù)已經(jīng)有了,但11,、12,、13還沒(méi)發(fā)生,數(shù)據(jù)沒(méi)有,,怎么辦,?就是這用7、8、9,、10這4天的平均價(jià)賦值分別給11,、12、13,;然后全部求平均,。如果是N天呢?N天后的沒(méi)有發(fā)生的怎么賦值,?那就用N天前的包括N天的((N+1)/2)天的平均價(jià)賦值,;但是有一點(diǎn),XMA還怪在這里:當(dāng)今天10號(hào)已經(jīng)過(guò)去,,11號(hào)變成今天,,昨天對(duì)11號(hào)沒(méi)發(fā)生的賦值又會(huì)用今天的實(shí)際值來(lái)取代。用11號(hào)實(shí)際發(fā)生的數(shù)值取代昨天對(duì)今天的賦值,;XMA(C,N)里的一般為奇數(shù),當(dāng)N設(shè)定為偶數(shù)時(shí)候,,它怎么辦呢,?就是自動(dòng)采用N+1法自動(dòng)調(diào)整為奇數(shù)。
8.{指標(biāo)名稱----------觀察偏移}M:20,NODRAW;{M的大小可在這里自由調(diào)}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(偏移,1) AND REF(偏移,1)REF(原形,2),原形,'◎'),COLOR00BBFF;DRAWTEXT(偏移REF(偏移,2),偏移,'◎'),COLOR99FF00;{先用這個(gè)原碼看看圖形,重點(diǎn)看綠★到黃★ 綠◎到黃◎的間隔周期與M的一半(M/2)的關(guān)系,再對(duì)比出現(xiàn)黃綠信號(hào)時(shí)的指標(biāo)數(shù)值,你一定會(huì)有新的發(fā)現(xiàn)}------------聲明:這可不是飛狐的喲
9.昨天XMA,,感覺(jué)指示蠻準(zhǔn)的,,為了搞清編制原理,上網(wǎng)搜索一下,,好像沒(méi)人知道,,經(jīng)過(guò)一天的琢磨,終于破解:XMA(X,N)為INT(N/2)+i個(gè)X的均值,,其中 i 由最后一交易日倒數(shù)到INT(N/2)+1, 即 1 到INT(N/2)+1,,i 倒數(shù)至INT(N/2)+1后,XMA(X,N)值為2*INT(N/2)+1個(gè)X的均值,。因此,,倒數(shù)INT(N/2)+1個(gè)XMA值便是最終值(不再變化),而倒數(shù)1 到INT(N/2)個(gè)XMA終值受未來(lái)INT(N/2)-i+1個(gè)X的影響,,由此看來(lái)XMA(X,N)是個(gè)未來(lái)函數(shù),,具有欺騙性。
補(bǔ)充說(shuō)明:X的取值在 i >INT(N/2)后,,以 i 為中心的2*INT(N/2)+1個(gè)數(shù)值,;i <=INT(N/2),右側(cè)被截?cái)郔NT(N/2)-i+1個(gè),。謝謝指點(diǎn),!破解前沒(méi)有搜索到該帖,現(xiàn)在補(bǔ)看一下,。
不過(guò),,我還是要奉勸你一句:為人最好謙虛點(diǎn),,特別是想教訓(xùn)或懷疑別人的時(shí)候。
象你這樣連我對(duì)XMA描述都看不懂,,就懷疑我抄襲,。等同于我懷疑你有智障一樣無(wú)禮!盡管我懷疑你有智障有充分的理由,。
為了讓你明白我關(guān)于XMA(X,N)的描述,,再多說(shuō)幾句:
XMA(X,N)值觀察點(diǎn)的位置對(duì)應(yīng)于X序列倒數(shù)排序值i
1. 在i >INT(N/2)時(shí),X序列中X(i)位于X(INT(N/2))左側(cè),,如:
...,、X(i)、...,、X(INT(N/2)),、...、X(3),、X(2),、X(1)
在X(i)處顯示的XMA(X,N),是以X(i)為中心的2*INT(N/2)+1個(gè)X均值
此時(shí)XMA(X,N)的X均值數(shù)組為:
X(i+INT(N/2)),、...,、X(i)...、X(i-INT(N/2)),,即X(i)為中心,、向左/右再連續(xù)各取INT(N/2)個(gè)X。
由于i >INT(N/2),,所以i-INT(N/2)>=1,,只要最后交易日收盤(pán)后X(1)就不再變化,XMA(X,N)向右連續(xù)取INT(N/2)個(gè)X時(shí)就不存在不確定值,,所以說(shuō)序列倒數(shù)至INT(N/2)+1后對(duì)應(yīng)的XMA值便是最終值(不再受未來(lái)數(shù)據(jù)影響),,這時(shí)通達(dá)信的REF(XMA(X,N),INTPART(N/2))與MA(X,2*INTPART(N/2)+1)完全一致。
2. 在i <=INT(N/2)時(shí),,X序列中X(i)位于X(INT(N/2))右側(cè),,如:
...、X(INT(N/2)),、...,、X(i)...、X(3),、X(2),、X(1)
在X(i)處顯示的XMA(X,N),不再是以X(i)為中心的2*INT(N/2)+1個(gè)X均值,而是X(i),、向左連續(xù)取INT(N/2)個(gè)X,、向右只能取到i-1個(gè)X,由這INT(N/2)+i個(gè)X的均值得到此處的XMA(X,N),,即此時(shí)XMA(X,N)的X均值數(shù)組為:
X(i+INT(N/2)),、...、X(INT(N/2)),、...,、X(i)...、X(1),。
相比X均值數(shù)組的飽和個(gè)數(shù)2*INT(N/2)+1,,此時(shí)數(shù)組被截?cái)?*INT(N/2)+1-(INT(N/2)+i)=INT(N/2)-i+1個(gè)X。
在未來(lái)不斷增添的最后一交易日過(guò)程中,,目前觀察點(diǎn)在X序列將重新排序,,同一交易日所對(duì)應(yīng)的序列位置將左移,即i 值會(huì)增大,,該交易日的XMA(X,N) 均值數(shù)組擴(kuò)大(直至i >INT(N/2)后均值數(shù)組飽和為止),,數(shù)值被不斷修正、發(fā)生漂移,,此時(shí)的XMA(X,N)最終值受未來(lái)INT(N/2)-i+1個(gè)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
這兩個(gè)函數(shù)的這個(gè)值算法相同,。不同的是這個(gè)值放到什么位置上。
MA是把這個(gè)值放到計(jì)算當(dāng)天,。而XMA把這個(gè)值放到向前數(shù)第(N+1)/2的位置上,。所以從這個(gè)角度看,XMA更符合平均值的計(jì)算原理,,把平均值賦給中間數(shù)才是合理的,。MA雖然使數(shù)值固定不變,但對(duì)原理來(lái)講并不合理,。
因?yàn)閄MA把數(shù)值賦給中間位置的數(shù),,所以就存在一個(gè)問(wèn)題,就是所有在中間數(shù)值{(N+1)/2}這個(gè)位置以前的數(shù)都是固定不變的了,,那么就出現(xiàn)一個(gè)問(wèn)題,,在中間數(shù)值{(N+1)/2}這個(gè)位置以后的{(N-1)/2}位的數(shù)值怎么給定?這些位置數(shù)值的算法是什么樣的那,?
我們這里舉個(gè)容易判斷的例子,。給定N值=5。
那么(5+1)/2=3,3位和其之前的數(shù)都固定了,只有本位數(shù)和{(N-1)/2}位數(shù)沒(méi)有固定,,這兩個(gè)數(shù)值怎么給出那,?
當(dāng)日本位MA(C,N)的數(shù)值=[當(dāng)日起向前((N+1)/2)位的數(shù)值之和]/(N+1)/2。
當(dāng)日向前M日位置的數(shù)值:
=[當(dāng)日起向前((N+1)/2+M)位的數(shù)值之和]/[(N+1)/2+M],。
一直到((N+1)/2+M)+1=N為止,。
期間位數(shù)為偶數(shù)時(shí)等同加一位,例如N=2相當(dāng)于N=3來(lái)處理,。
XMA(C,N)嵌套循環(huán),,其中N值取的小一些,這樣,,如果循環(huán)的次數(shù)越多,,對(duì)以前的數(shù)值影響長(zhǎng)度就越大,但數(shù)值變化幅度減小,,對(duì)近期的數(shù)值變化幅度也減小,,這樣的好處是使越接近現(xiàn)在的數(shù)值變化的范圍可以小一些,減少近期失真或過(guò)度漂移的現(xiàn)象,,不利的地方是使整條均線數(shù)值的大部分成為動(dòng)態(tài)值,,只不過(guò)動(dòng)態(tài)范圍很小。
如果XMA(C,N)不使用嵌套循環(huán),,N值取的過(guò)小,,均線不平滑。N值取得大一些,,近期N的后半期數(shù)值變化(漂移)幅度會(huì)比嵌套循環(huán)的幅度大一些,,也就是說(shuō)接近近期的數(shù)值漂移會(huì)比嵌套的嚴(yán)重些,但優(yōu)點(diǎn)是在N/2之前的數(shù)值全部固定不變,,不會(huì)有任何漂移了,。
下面是我為了分析做的圖表,從圖表中可以看出,,(這里我做的是一個(gè)3天23層循環(huán)套XMA的原理)循環(huán)的層數(shù)等于向前影響的天數(shù),,就是說(shuō)一個(gè)3天23層的XMA循環(huán)套的均線值從收盤(pán)當(dāng)日起向前23天都是變化的,而且隨著嵌套層的增加,,這種向前的影響不斷增加,,但幅度不斷減小。因?yàn)閷訑?shù)越多其中參與計(jì)算的固定下來(lái)的數(shù)值越多,,第一天沒(méi)有固定值,,第二天有兩個(gè)固定值,第三天有三個(gè),,不斷增加,。我們假設(shè)一下,,如果這種嵌套接近無(wú)窮,那么可以認(rèn)為這條均線每天都變化,,是整體變化,,就是說(shuō)當(dāng)天的收盤(pán)數(shù)值將影響到上市前3天的均線數(shù)值,哈哈,,這個(gè)未來(lái)影響滿大的,,不過(guò)幅度會(huì)很小很小,因?yàn)樗骄松鲜幸詠?lái)的所有波動(dòng),,因?yàn)闀r(shí)間漫長(zhǎng),,攤到每一天上就很小了很小了。
如果有時(shí)間,,我想用編程語(yǔ)言模擬進(jìn)行一次計(jì)算,,看看影響到底是什么樣子的。
【東方昱曉】