期貨期權(quán)交流DirMovement系列函數(shù) [MC]
-
咨詢內(nèi)容:
本帖最后由 Alex 于 2017-7-25 20:19 編輯
DirMovement 系列函數(shù)DirMovement系列函數(shù)包括函數(shù)DirMovement、DMI、DMIMinus、DMIPlus、ADX、AvgTrueRange等函數(shù),詳細(xì)的請(qǐng)看表1 DirMovement系列函數(shù),它們是由威爾斯·懷爾德(Welles Wilder)創(chuàng)造出來(lái)的。
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? 表1 DirMovement系列函數(shù)
??DirMovement系列??功能DirMovement全稱Directional Movement,被函數(shù)DMI、DMIMinus、DMIPlus、ADX和Volatility調(diào)用DMI計(jì)算DX指數(shù)(Directional Movement Index,動(dòng)向指數(shù))DMICustom和函數(shù)DMI相同,不同的是多了三個(gè)價(jià)格輸入?yún)?shù)DMIMinus計(jì)算-DI指數(shù)(負(fù)向指數(shù))DMIMinusCustom和函數(shù)DMIMinus相同,不同的是多了三個(gè)價(jià)格輸入?yún)?shù)DMIPlus計(jì)算+DI指數(shù)(正向指數(shù))DMIPlusCustom和函數(shù)DMIPlus相同,不同的是多了三個(gè)價(jià)格輸入?yún)?shù)ADX計(jì)算ADX指數(shù)(Average Directional Movement Index,平均動(dòng)向指數(shù))ADXCustom和函數(shù)ADX相同,不同的是多了三個(gè)價(jià)格輸入?yún)?shù)ADXClassic和函數(shù)ADX相同,不同的是ADXClassic對(duì)結(jié)果取整ADXCustomClassic和函數(shù)ADXCustom相同,不同的是ADXCustomClassic對(duì)結(jié)果取整ADXR計(jì)算(ADX(len)+ADX(len)[len-1])/2的值,len需要計(jì)算bar的數(shù)量ADXRCustom和函數(shù)ADXR相同,不同的是多了三個(gè)價(jià)格輸入?yún)?shù)ADXRClassic和函數(shù)ADXR相同,不同的是ADXRClassic對(duì)結(jié)果取整ADXRCustomClassic和函數(shù)ADXRCustom相同,不同的是ADXRCustomClassic對(duì)結(jié)果取整Volatility計(jì)算平均真實(shí)波幅,使用加權(quán)平均計(jì)算平均真實(shí)波幅XAverageOrig懷爾德平滑(Wilder’s Smoothing),以1/len和1-1/len為權(quán)重的加權(quán)移動(dòng)平均TrueHigh當(dāng)根bar的最高價(jià)與前一根bar的收盤(pán)價(jià),取最高值TrueLow當(dāng)根bar的最低價(jià)與前一根bar的收盤(pán)價(jià),取最低值TrueRange計(jì)算真實(shí)波幅,TrueHigh-TrueLowXAverage指數(shù)移動(dòng)平均函數(shù)TrueRangeCustom和TrueRange相同,不同的是多了三個(gè)價(jià)格輸入?yún)?shù)AvgTrueRange平均真實(shí)波幅(Average True Range,簡(jiǎn)稱ATR指數(shù)),使用簡(jiǎn)單平均函數(shù)計(jì)算平均真實(shí)波幅表1中總共有23個(gè)MC內(nèi)置的函數(shù),大部分是通過(guò)直接或間接調(diào)用DirMovement來(lái)計(jì)算,所以我們只需要將DirMovement函數(shù)背后的原理及邏輯弄清楚,其它的函數(shù)也就會(huì)很清楚,進(jìn)一步,由這些函數(shù)組合得到的指標(biāo)也能很快掌握并且熟練應(yīng)用。下面主要通過(guò)對(duì)ADX指數(shù)的計(jì)算來(lái)介紹DirMovement函數(shù)的邏輯,然后再介紹其它函數(shù)及相同功能函數(shù)之間的比較。
1. ADX
1.1 ADX簡(jiǎn)介絕大多數(shù)指標(biāo)的計(jì)算都是以每一日的收盤(pán)價(jià)的走勢(shì)及漲跌幅的累計(jì)數(shù)計(jì)算出不同的分析數(shù)據(jù),其不足之處在于忽略了每一日的高低價(jià)之間的波動(dòng)幅度。比如某個(gè)股票的兩天的收盤(pán)價(jià)可能是一樣的,但是其中一天的波動(dòng)幅度只有2%,而另一天的波動(dòng)幅度是10%,如果僅僅考慮收盤(pán)價(jià)而忽略了每天市場(chǎng)的價(jià)格波動(dòng)幅度,那么并不能很好的判斷和分析市場(chǎng)行情。ADX指數(shù)的出現(xiàn)彌補(bǔ)了這一不足,它主要用于分析市場(chǎng)的漲跌力度,但并不反應(yīng)市場(chǎng)漲跌的方向;ADX全稱為Average Directional Movement Index,是對(duì)Directional Movement Index(動(dòng)向指數(shù),簡(jiǎn)稱DX)的加權(quán)平均,而DX是市場(chǎng)正向波動(dòng)和市場(chǎng)負(fù)向波動(dòng)的絕對(duì)差除以市場(chǎng)正向波動(dòng)和市場(chǎng)負(fù)向波動(dòng)之和得到的,其中市場(chǎng)正向波動(dòng)和市場(chǎng)負(fù)向波動(dòng)分別由+DI和-DI指數(shù)(前面的”+“和”-“只是代表方向,并不起到數(shù)學(xué)符號(hào)的作用)衡量。當(dāng)市場(chǎng)出現(xiàn)一波上漲或者下跌時(shí),ADX指數(shù)會(huì)隨之上升,在實(shí)盤(pán)操作中,常將ADX與+DI和-DI指標(biāo)結(jié)合起來(lái)判斷市場(chǎng)買(mǎi)賣(mài)點(diǎn)。
1.2 ADX指數(shù)計(jì)算邏輯
通過(guò)當(dāng)根bar的最高價(jià)與前一根bar的最高價(jià)進(jìn)行比較,計(jì)算得到當(dāng)根bar的正向波動(dòng)值+DM=max(high-high[1],0);通過(guò)前一根bar的最低價(jià)與當(dāng)根bar的最低價(jià)進(jìn)行比較,計(jì)算得到當(dāng)根bar的負(fù)向波動(dòng)值-DM=max(low[1]-low,0);但是每一根bar只允許有一個(gè)波動(dòng)方向,也就是說(shuō)只允許有一個(gè)波動(dòng)值,不能同時(shí)存在正向波動(dòng)值和負(fù)向波動(dòng)值,這時(shí),我們需要對(duì)+DM和-DM進(jìn)行比較,取最大值作為當(dāng)根bar的波動(dòng)值,波動(dòng)的方向和最大波動(dòng)方向一致,另一個(gè)波動(dòng)值賦值為0;舉例說(shuō)明,如果計(jì)算出+DM=2.3,-DM=2.1,那么+DM就是當(dāng)根bar的波動(dòng)值,方向是正向波動(dòng),同時(shí)-DM重新賦值為0。
在計(jì)算完當(dāng)根bar的波動(dòng)之后,還需要計(jì)算當(dāng)根bar的真實(shí)波動(dòng)幅度,真實(shí)波動(dòng)幅度和之前的正向波動(dòng)及負(fù)向波動(dòng)不一樣,真實(shí)波動(dòng)幅度沒(méi)有方向,只是用來(lái)衡量當(dāng)根bar價(jià)格波動(dòng)幅度,簡(jiǎn)稱TR(True Range);它是通過(guò)max(high,close[1])-min(low,close[1])計(jì)算得到。將TR進(jìn)行移動(dòng)平均計(jì)算之后,可以得到Volatility和ATR,即平均真實(shí)波動(dòng)幅度(Average True Range),具體使用加權(quán)平均還是指數(shù)平均因策略而異,ADX中計(jì)算的Volatility是使用XAverageOrig函數(shù)進(jìn)行計(jì)算的。
對(duì)于不同的商品合約及不同的周期,每一根bar正向波動(dòng)和負(fù)向波動(dòng)值差異很大,為了使用統(tǒng)一的標(biāo)準(zhǔn)對(duì)市場(chǎng)進(jìn)行判斷分析,需要先對(duì)正向波動(dòng)、負(fù)向波動(dòng)及真實(shí)波動(dòng)幅度進(jìn)行加權(quán)移動(dòng)平均計(jì)算,然后通過(guò)平均正向波動(dòng)與平均真實(shí)波幅的比值得到正向指數(shù)+DI,通過(guò)平均負(fù)向波動(dòng)與平均真實(shí)波幅的比值得到負(fù)向指數(shù)-DI,這里的平均計(jì)算統(tǒng)一使用XAverageOrig函數(shù)進(jìn)行計(jì)算,平均計(jì)算使用多少根bar來(lái)計(jì)算沒(méi)有統(tǒng)一的規(guī)定(本文以len代替)。
+DI和-DI計(jì)算出來(lái)之后,可以很容易得到DX指數(shù)、ADX指數(shù)和ADXR指數(shù)。DX=|(+DI)-(-DI)|/((+DI)+(-DI)),這里+DI和-DI都被括起來(lái)了;ADX是DX的加權(quán)移動(dòng)平均;ADXR=(ADX+ADX[len-1])*0.5;下面通過(guò)DirMovement函數(shù)的代碼來(lái)進(jìn)一步嚴(yán)謹(jǐn)?shù)慕榻BADX指數(shù)計(jì)算的邏輯。
1.3 DirMovement函數(shù)代碼
inputs: ? ?? ? PriceValueH( numericseries ),//最高價(jià)? ?? ? PriceValueL( numericseries ), //最低價(jià)? ?? ? PriceValueC( numericseries ), //收盤(pán)價(jià)? ?? ? Len( numericsimple ),? ?? ?? ?? ?//Len根bar ? ?? ? oDMIPlus( numericref ),? ?? ?? ?//代指+DI? ?? ? oDMIMinus( numericref ),? ?? ? //代指-DI? ?? ? oDMI( numericref ),? ?? ?? ?? ?//代指DX? ?? ? oADX( numericref ),? ?? ?? ?? ?//代指ADX? ?? ? oADXR( numericref ),? ?? ?? ???//代指ADXR? ?? ? oVolty( numericref ) ;? ?? ???//代指Volatility{這里,類似于oDMIPlus前面有o的參數(shù),后面的括號(hào)中都是使用numericref,這個(gè)是使用在函數(shù)的參數(shù)聲明語(yǔ)句中,定義為傳址數(shù)值,它使函數(shù)可以輸出多個(gè)結(jié)果,并且傳遞給調(diào)用該函數(shù)的腳本;powerlanguage中這種類型的參數(shù)還有numericarrayref、stringarrayref、stringref、truefalsearrayref、truefalseref}variables:? ?? ? var0( 0 ),? ? //計(jì)算每根bar的正向波動(dòng)值? ?? ? var1( 0 ),? ? //計(jì)算每根bar的負(fù)向波動(dòng)值? ?? ? var2( 0 ),? ?? ?? ? var3( 0 ),? ?? ?? ? var4( 0 ),? ?//計(jì)算len根bar的累計(jì)正向波動(dòng)值? ?? ? var5( 0 ),? ?//計(jì)算len根bar的累計(jì)負(fù)向波動(dòng)值? ?? ? var6( 0 ),? ?//計(jì)算len根bar的累計(jì)真實(shí)波動(dòng)幅度 ? ?? ? var7( 0 ),? ?//正向波動(dòng)值的加權(quán)移動(dòng)平均? ?? ? var8( 0 ),? ?//負(fù)向波動(dòng)值的加權(quán)移動(dòng)平均? ?? ? var9( 1 / Len ),? ???//計(jì)算中使用的加權(quán)移動(dòng)平均的權(quán)重為1/len和1-1/len??? ?? ?? ?? ???? ?? ? var10( 0 ) ;? ? //正向指數(shù)與負(fù)向指數(shù)之和if CurrentBar = 1 then? ?? ? begin? ?? ? for Value1 = 0 to Len - 1 ? ?? ?? ?? ???begin? ?? ?? ?? ???var0 = 0 ;? ?? ?? ?? ???var1 = 0 ;? ?? ?? ?? ???var2 = PriceValueH[Value1] - PriceValueH[ Value1 + 1 ] ;? ?? ?? ?? ???var3 = PriceValueL[ Value1 + 1 ] - PriceValueL[Value1] ;? ?? ?? ?? ???condition1 = var2 > var3 and var2 > 0 ;? ?? ?? ?? ???if condition1 then? ?? ?? ?? ?? ?? ?? ?var0 = var2{當(dāng)condition1條件成立的時(shí)候,當(dāng)根bar為正向波動(dòng),波動(dòng)值賦給var0,var1取默認(rèn)值0}? ?? ?? ?? ???else ? ?? ?? ?? ???begin? ?? ?? ?? ???condition1 = var3 > var2 and var3 > 0 ;? ?? ?? ?? ???if condition1 then? ?? ?? ?? ?? ?? ?? ?var1 = var3 ;{condition1被重新賦值之后,如果條件滿足,當(dāng)根bar為負(fù)向波動(dòng),波動(dòng)值賦給var1,var0取默認(rèn)值0}? ?? ?? ?? ?? ?? ?? ?end;? ? {到這里,for循環(huán)內(nèi)部最大的if判斷結(jié)束,下面是for循環(huán)內(nèi)部其它語(yǔ)句}? ?? ?? ?? ???var4 = var4 + var0 ;? ?//累加正向波動(dòng)值,總共計(jì)算len次? ?? ?? ?? ???var5 = var5 + var1 ;? ?//累加負(fù)向波動(dòng)值,總共計(jì)算len次? ?? ?? ?? ???var6 = var6 + TrueRangeCustom( PriceValueH, PriceValueL, PriceValueC )[Value1] ;??{累加真實(shí)波動(dòng)幅度,總共計(jì)算len次,第len次之后,循環(huán)結(jié)束}? ?? ?? ?? ???end ;? ?? ? var7 = var4 / Len ;??{正向波動(dòng)值的平均值,第一次平均是通過(guò)簡(jiǎn)單平均計(jì)算的,之后是通過(guò)加權(quán)移動(dòng)平均計(jì)算的}? ?? ? var8 = var5 / Len ;??//負(fù)向波動(dòng)值的平均值? ?? ? oVolty = var6 / Len ; //真實(shí)波動(dòng)幅度的平均值? ?? ? end else? ? {上面是判斷當(dāng)currentbar=1成立時(shí),使用簡(jiǎn)單平均去計(jì)算平均正向波動(dòng)值、平均負(fù)向波動(dòng)值和平均真實(shí)波動(dòng)幅度,之后else部分(即,currentbar>1時(shí))使用加權(quán)移動(dòng)平均去計(jì)算平均正向波動(dòng)值、平均負(fù)向波動(dòng)值和平均真實(shí)波動(dòng)幅度}? ?? ? begin? ?? ? var0 = 0 ;? ?? ? var1 = 0 ;? ?? ? var2 = PriceValueH - PriceValueH[1] ;? ?? ? var3 = PriceValueL[1] - PriceValueL ;? ?? ? condition1 = var2 > var3 and var2 > 0 ;? ?? ? if condition1 then? ?? ?? ?? ???var0 = var2? ?? ? else ? ?? ? begin ? ?? ? condition1 = var3 > var2 and var3 > 0 ;? ?? ? if condition1 then? ?? ?? ?? ???var1 = var3 ;? ?? ?? ?? ???end;? ?? ? var7 = var7[1] + var9 * ( var0 - var7[1] ) ;{即,var7=(1-1/len)*var7[1]+1/len*var0,權(quán)重分別為1-1/len和1/len}? ?? ? var8 = var8[1] + var9 * ( var1 - var8[1] ) ;? ?? ? oVolty = oVolty[1] + var9 * ( TrueRangeCustom( PriceValueH, PriceValueL, PriceValueC ) ? ?? ???- oVolty[1] ) ;? ?? ? end ;if oVolty > 0 then? ?? ? begin? ?? ? oDMIPlus = 100 * var7 / oVolty ;? ?? ? oDMIMinus = 100 * var8 / oVolty ;{平均正向波動(dòng)值與平均真實(shí)波動(dòng)幅度的比值得到+DI,之所以乘以100,是為了使DI的值落在區(qū)間[0,100]內(nèi);平均負(fù)向波動(dòng)值與平均真實(shí)波動(dòng)幅度的比值得到-DI。}? ?? ? end else? ?? ? begin? ?? ? oDMIPlus = 0 ;? ?? ? oDMIMinus = 0 ;{這里當(dāng)oVolty=0成立時(shí),因?yàn)槭欠帜笧?沒(méi)有意義,會(huì)導(dǎo)致編譯出現(xiàn)錯(cuò)誤,為了避免這種情況,需要在代碼中進(jìn)行判斷,此時(shí)需要將+DI和-DI分別賦值為0}? ?? ? end ;var10 = oDMIPlus + oDMIMinus ;if var10 > 0 then //在代碼的編寫(xiě)時(shí),所有的變量做分母時(shí)都需要判斷一下? ?? ? oDMI = 100 * AbsValue( oDMIPlus - oDMIMinus ) / var10 {計(jì)算得到DX值}else? ?? ? oDMI = 0 ;??condition1 = CurrentBar <= Len and CurrentBar > 0 ;{從這里之后的部分,需要計(jì)算ADX和ADXR,ADX是DX的平均計(jì)算,而DX的計(jì)算已經(jīng)是基于len根bar的平均計(jì)算,所以ADX的計(jì)算是二次平均計(jì)算,是基于2*len根bar的平均計(jì)算}if condition1 then? ?? ? begin? ?? ? oADX = Cum( oDMI ) / CurrentBar ;? ?? ? oADXR = ( oADX + oADX[ CurrentBar - 1 ] ) * .5 ;? ?{這里,由于currentbar<=len,即bar的數(shù)目不夠,所以需要進(jìn)行一次特殊的平均計(jì)算,計(jì)算ADX使用的分母是currentbar;同樣,ADXR的計(jì)算也進(jìn)行了特殊的計(jì)算}??? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? ? ?? ? endelse? ?? ? begin? ?? ? oADX = oADX[1] + var9 * ( oDMI - oADX[1] ) ;? ?? ? oADXR = ( oADX + oADX[ Len - 1 ] ) * .5 ;{對(duì)ADX進(jìn)行加權(quán)移動(dòng)平均計(jì)算,權(quán)重分別為1-1/len和1/len;ADXR的計(jì)算見(jiàn)代碼}? ?? ? end ;DirMovement = 1 ;??//這個(gè)函數(shù)的返回值沒(méi)有意義,關(guān)鍵是傳址參數(shù)的使用1.4 DirMovement系列函數(shù)使用說(shuō)明DirMovement函數(shù)代碼在上面已經(jīng)介紹過(guò)了,這個(gè)函數(shù)的返回值沒(méi)有意義,關(guān)鍵是傳址參數(shù)的使用。
DMI函數(shù)內(nèi)部調(diào)用了DirMovement,DMI函數(shù)的返回值就是DX指數(shù)的值;DMI(len)的參數(shù)是需要計(jì)算的bar的數(shù)目len,然后返回DX指數(shù)的值。
DMICustom函數(shù)的功能及內(nèi)部的代碼邏輯和DMI函數(shù)一樣,不同的是多了三個(gè)價(jià)格參數(shù),DMICustom(high,low,close,len)的參數(shù)分別是最高價(jià)、最低價(jià)、收盤(pán)價(jià)和bar的數(shù)目len,返回DX指數(shù)的值。
DMIMinus函數(shù)內(nèi)部調(diào)用了DirMovement,它的返回值就是-DI指數(shù)的值;DMIMinus(len)的參數(shù)是需要計(jì)算的bar的數(shù)目len,然后返回-DI指數(shù)的值。
DMIMinusCustom函數(shù)的功能及內(nèi)部的代碼邏輯和DMIMinus函數(shù)完全一樣,不同的是多了三個(gè)價(jià)格參數(shù),DMIMinusCustom(high,low,close,len)的參數(shù)分別是最高價(jià)、最低價(jià)、收盤(pán)價(jià)和bar的數(shù)目len,返回-DI指數(shù)的值。
ADX函數(shù)調(diào)用了DirMovement函數(shù);ADX(len)的參數(shù)是需要計(jì)算的bar的數(shù)目len,然后返回ADX指數(shù)的值。
ADXCustom函數(shù)的功能及內(nèi)部代碼邏輯和ADX函數(shù)完全一樣,不同的是多了三個(gè)價(jià)格參數(shù);ADXCustom(high,low,close,len)的參數(shù)分別是最高價(jià)、最低價(jià)、收盤(pán)價(jià)和bar的數(shù)目len,返回ADX指數(shù)的值。
ADXClassic函數(shù)功能及計(jì)算邏輯和ADX函數(shù)是一樣,參數(shù)也是一樣的,不同的是代碼的編寫(xiě)不一樣;ADXClassic函數(shù)調(diào)用了DMI函數(shù)來(lái)計(jì)算DX指數(shù),然后再對(duì)DX指數(shù)使用加權(quán)移動(dòng)平均來(lái)計(jì)算ADX指數(shù)的值,最后再使用intportion關(guān)鍵字對(duì)ADX指數(shù)取整;ADXClassic(len)的參數(shù)是需要計(jì)算的bar的數(shù)目len,然后返回ADX指數(shù)的取整值(即將小數(shù)點(diǎn)之后的值去除)。
ADXCustomClassic函數(shù)是ADXClassic和ADXCustom的結(jié)合,即使用了三個(gè)價(jià)格參數(shù),然后在內(nèi)部調(diào)用了DMI函數(shù)來(lái)計(jì)算DX指數(shù),然后再對(duì)DX指數(shù)使用加權(quán)移動(dòng)平均來(lái)計(jì)算ADX指數(shù)的值,最后再使用關(guān)鍵字intportion對(duì)ADX指數(shù)取整數(shù)值;ADXCustomClassic(high,low,close,len)的參數(shù)是最高價(jià)、最低價(jià)、收盤(pán)價(jià)和需要計(jì)算的bar的數(shù)目len。
ADXR函數(shù)調(diào)用了DirMovement函數(shù);ADXR(len)的參數(shù)是需要計(jì)算的bar的數(shù)目len,然后返回ADXR指數(shù)的值。
ADXRCustom、ADXRClassic、ADXRCustomClassic函數(shù)的計(jì)算、使用及相互區(qū)別可以參考ADX。
XAverageOrig是加權(quán)移動(dòng)平均函數(shù);XAverageOrig(pricevalue,len)的參數(shù)分別是價(jià)格值和需要計(jì)算的bar的數(shù)目len,權(quán)重分別為1-1/len和1/len,函數(shù)返回pricevalue的加權(quán)平均值,即XAverageOrig=(1-1/len)*XAverageOrig[1]+1/len*pricevalue。
TrueHigh函數(shù)返回當(dāng)根bar的最高價(jià)與前一根bar的收盤(pán)價(jià)的最高值,這個(gè)函數(shù)沒(méi)有參數(shù)。
TrueLow函數(shù)返回當(dāng)根bar的最低價(jià)與前一根bar的收盤(pán)價(jià)的最低值,這個(gè)函數(shù)沒(méi)有參數(shù)。
TrueRange函數(shù)返回當(dāng)根bar的真實(shí)波動(dòng)幅度,TrueRange=TrueHigh-TrueLow,這個(gè)函數(shù)沒(méi)有參數(shù)。
TrueRangeCustom函數(shù)的邏輯和TrueRange的計(jì)算邏輯是一樣的,不同的是它有三個(gè)價(jià)格參數(shù);TrueRangeCustom(high,low,close)的參數(shù)是當(dāng)根bar的最高價(jià)、最低價(jià)和收盤(pán)價(jià),返回當(dāng)根bar的真實(shí)波動(dòng)幅度。
Volatility的值等于XAverageOrig(TrueRange,len),這個(gè)函數(shù)的內(nèi)部調(diào)用函數(shù)XAverageOrig對(duì)真實(shí)波動(dòng)幅度進(jìn)行加權(quán)移動(dòng)平均計(jì)算;Volatility(len)的參數(shù)是需要計(jì)算的bar的數(shù)目len,返回平均真實(shí)波動(dòng)幅度。
XAverage是指數(shù)移動(dòng)平均函數(shù),它是一種特殊的加權(quán)平均函數(shù);XAverage(pricevalue,len)的參數(shù)分別是價(jià)格值和需要計(jì)算的bar的數(shù)目,返回pricevalue的指數(shù)移動(dòng)平均值,即XAverage=(len-1)/(len+1)*XAverage[1]+2/(len+1)*pricevalue。
AvgTrueRange函數(shù)調(diào)用Average函數(shù)計(jì)算平均真實(shí)波動(dòng)幅度,即先累加真實(shí)波動(dòng)幅度,然后再除以數(shù)目;AvgTrueRange(len)的參數(shù)是需要計(jì)算的bar的數(shù)目,返回平均真實(shí)波動(dòng)幅度值。
有思路,想編寫(xiě)各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫(xiě)!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒(méi)有相關(guān)內(nèi)容