ADX函数系列
[p=30, 2, left]ADX函数系列包括函数DirMovement、DMI、DMIMinus、DMIPlus、ADX、AvgTrueRange等函数,详细的请看表1 ADX函数系列,它们是由威尔斯·怀尔德(Welles Wilder)创造出来的。[/p][p=30, 2, left] 表1 ADX函数系列[/p][table=98%]
[tr][td=1,1,130] [align=center][align=left]ADX函数系列[/align][/align] [/td][td=1,1,438][align=left][align=center]功能[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]DirMovement[/align][/align][/td][td=1,1,438][align=right][align=left]全称Directional Movement,被函数DMI、DMIMinus、DMIPlus、ADX和Volatility调用[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]DMI[/align][/align][/td][td=1,1,438][align=right][align=left]计算DX指数(Directional Movement Index,动向指数)[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]DMICustom[/align][/align][/td][td=1,1,438][align=right][align=left]和函数DMI相同,不同的是多了三个价格输入参数[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]DMIMinus[/align][/align][/td][td=1,1,438][align=right][align=left]计算-DI指数(负向指数)[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]DMIMinusCustom[/align][/align][/td][td=1,1,438][align=right][align=left]和函数DMIMinus相同,不同的是多了三个价格输入参数[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]DMIPlus[/align][/align][/td][td=1,1,438][align=right][align=left]计算+DI指数(正向指数)[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]DMIPlusCustom[/align][/align][/td][td=1,1,438][align=right][align=left]和函数DMIPlus相同,不同的是多了三个价格输入参数[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]ADX[/align][/align][/td][td=1,1,438][align=right][align=left]计算ADX指数(Average Directional Movement Index,平均动向指数)[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]ADXCustom[/align][/align][/td][td=1,1,438][align=right][align=left]和函数ADX相同,不同的是多了三个价格输入参数[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]ADXClassic[/align][/align][/td][td=1,1,438][align=right][align=left]和函数ADX相同,不同的是ADXClassic对结果取整[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]ADXCustomClassic[/align][/align][/td][td=1,1,438][align=right][align=left]和函数ADXCustom相同,不同的是ADXCustomClassic对结果取整[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]ADXR[/align][/align][/td][td=1,1,438][align=right][align=left]计算(ADX(len)+ADX(len)[len-1])/2的值,len需要计算bar的数量[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]ADXRCustom[/align][/align][/td][td=1,1,438][align=right][align=left]和函数ADXR相同,不同的是多了三个价格输入参数[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]ADXRClassic[/align][/align][/td][td=1,1,438][align=right][align=left]和函数ADXR相同,不同的是ADXRClassic对结果取整[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]ADXRCustomClassic[/align][/align][/td][td=1,1,438][align=right][align=left]和函数ADXRCustom相同,不同的是ADXRCustomClassic对结果取整[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]Volatility[/align][/align][/td][td=1,1,438][align=right][align=left]计算平均真实波幅,使用加权平均计算平均真实波幅[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]XAverageOrig[/align][/align][/td][td=1,1,438][align=right][align=left]怀尔德平滑(Wilder’s Smoothing),以1/len和1-1/len为权重的加权移动平均[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]TrueHigh[/align][/align][/td][td=1,1,438][align=right][align=left]当根bar的最高价与前一根bar的收盘价,取最高值[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]TrueLow[/align][/align][/td][td=1,1,438][align=right][align=left]当根bar的最低价与前一根bar的收盘价,取最低值[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]TrueRange[/align][/align][/td][td=1,1,438][align=right][align=left]计算真实波幅,TrueHigh-TrueLow[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]XAverage[/align][/align][/td][td=1,1,438][align=right][align=left]指数移动平均函数[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]TrueRangeCustom[/align][/align][/td][td=1,1,438][align=right][align=left]和TrueRange相同,不同的是多了三个价格输入参数[/align][/align][/td][/tr]
[tr][td=1,1,130][align=left][align=center]AvgTrueRange[/align][/align][/td][td=1,1,438][align=right][align=left]平均真实波幅(Average True Range,简称ATR指数),使用简单平均函数计算平均真实波幅[/align][/align][/td][/tr]
[/table]
[p=30, 2, left]表1中总共有23个MC内置的函数,大部分是通过直接或间接调用DirMovement来计算,所以我们只需要将DirMovement函数背后的原理及逻辑弄清楚,其它的函数也就会很清楚,进一步,由这些函数组合得到的指标也能很快掌握并且熟练应用。下面主要通过对ADX指数的计算来介绍DirMovement函数的逻辑,然后再介绍其它函数及相同功能函数之间的比较。[/p][size=5][color=#444444][font=Tahoma, 宋体, Simsun]1. ADX[/font][/color][/size]
[align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][size=4]1.1 ADX[font=宋体]简介[/font][/size][/size][/font][/color][/align][p=30, 2, left]绝大多数指标的计算都是以每一日的收盘价的走势及涨跌幅的累计数计算出不同的分析数据,其不足之处在于忽略了每一日的高低价之间的波动幅度。比如某个股票的两天的收盘价可能是一样的,但是其中一天的波动幅度只有2%,而另一天的波动幅度是10%,如果仅仅考虑收盘价而忽略了每天市场的价格波动幅度,那么并不能很好的判断和分析市场行情。ADX指数的出现弥补了这一不足,它主要用于分析市场的涨跌力度,但并不反应市场涨跌的方向;ADX全称为Average Directional Movement Index,是对Directional Movement Index(动向指数,简称DX)的加权平均,而DX是市场正向波动和市场负向波动的绝对差除以市场正向波动和市场负向波动之和得到的,其中市场正向波动和市场负向波动分别由+DI和-DI指数(前面的”+“和”-“只是代表方向,并不起到数学符号的作用)衡量。当市场出现一波上涨或者下跌时,ADX指数会随之上升,在实盘操作中,常将ADX与+DI和-DI指标结合起来判断市场买卖点。[/p][p=30, 2, left][size=4]1.2 ADX指数计算逻辑[/size][/p][p=30, 2, left]通过当根bar的最高价与前一根bar的最高价进行比较,计算得到当根bar的正向波动值+DM=max(high-high[1],0);通过前一根bar的最低价与当根bar的最低价进行比较,计算得到当根bar的负向波动值-DM=max(low[1]-low,0);但是每一根bar只允许有一个波动方向,也就是说只允许有一个波动值,不能同时存在正向波动值和负向波动值,这时,我们需要对+DM和-DM进行比较,取最大值作为当根bar的波动值,波动的方向和最大波动方向一致,另一个波动值赋值为0;举例说明,如果计算出+DM=2.3,-DM=2.1,那么+DM就是当根bar的波动值,方向是正向波动,同时-DM重新赋值为0。[/p][p=30, 2, left]在计算完当根bar的波动之后,还需要计算当根bar的真实波动幅度,真实波动幅度和之前的正向波动及负向波动不一样,真实波动幅度没有方向,只是用来衡量当根bar价格波动幅度,简称TR(True Range);它是通过max(high,close[1])-min(low,close[1])计算得到。将TR进行移动平均计算之后,可以得到Volatility和ATR,即平均真实波动幅度(Average True Range),具体使用加权平均还是指数平均因策略而异,ADX中计算的Volatility是使用XAverageOrig函数进行计算的。[/p][p=30, 2, left]对于不同的商品合约及不同的周期,每一根bar正向波动和负向波动值差异很大,为了使用统一的标准对市场进行判断分析,需要先对正向波动、负向波动及真实波动幅度进行加权移动平均计算,然后通过平均正向波动与平均真实波幅的比值得到正向指数+DI,通过平均负向波动与平均真实波幅的比值得到负向指数-DI,这里的平均计算统一使用XAverageOrig函数进行计算,平均计算使用多少根bar来计算没有统一的规定(本文以len代替)。[/p][p=30, 2, left]+DI和-DI计算出来之后,可以很容易得到DX指数、ADX指数和ADXR指数。DX=|(+DI)-(-DI)|/((+DI)+(-DI)),这里+DI和-DI都被括起来了;ADX是DX的加权移动平均;ADXR=(ADX+ADX[len-1])*0.5;下面通过DirMovement函数的代码来进一步严谨的介绍ADX指数计算的逻辑。[/p][size=4][color=#444444][font=Tahoma, 宋体, Simsun]1.3 DirMovement函数代码[/font][/color][/size]
[align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=blue][font="][size=10pt]inputs[/size][/font][/color][color=black][font="][size=10pt]:[/size][/font][/color][color=#646464][font="][size=10pt][/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueH[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]numericseries[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt]//[/size][/font][/color]最高价[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueL[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]numericseries[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] //[/size][/font][/color]最低价[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueC[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]numericseries[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] //[/size][/font][/color]收盘价[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]Len[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]numericsimple[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] //[/size][/font][/color]Len根bar[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oDMIPlus[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]numericref[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] //[/size][/font][/color]代指+DI[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oDMIMinus[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]numericref[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] //[/size][/font][/color]代指-DI[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oDMI[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]numericref[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] //[/size][/font][/color]代指DX[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oADX[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]numericref[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] //[/size][/font][/color]代指ADX[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oADXR[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]numericref[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]), //[/size][/font][/color]代指ADXR[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oVolty[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]numericref[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt])[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]; //[/size][/font][/color]代指Volatility[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px]{这里,类似于oDMIPlus前面有o的参数,后面的括号中都是使用numericref,这个是使用在函数的参数声明语句中,定义为传址数值,它使函数可以输出多个结果,并且传递给调用该函数的脚本;powerlanguage中这种类型的参数还有numericarrayref、stringarrayref、stringref、truefalsearrayref、truefalseref}[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=blue][font="][size=10pt]variables[/size][/font][/color][color=black][font="][size=10pt]:[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var0[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] //[/size][/font][/color]计算每根bar的正向波动值[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var1[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] //[/size][/font][/color]计算每根bar的负向波动值[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var2[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var3[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]), [/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var4[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] //[/size][/font][/color]计算len根bar的累计正向波动值[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var5[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]//[/size][/font][/color]计算len根bar的累计负向波动值[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var6[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] //[/size][/font][/color]计算len根bar的累计真实波动幅度[color=#646464][font="][size=10pt][/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var7[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] //[/size][/font][/color]正向波动值的加权移动平均[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var8[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] //[/size][/font][/color]负向波动值的加权移动平均[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var9[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]/[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]Len[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]),[/size][/font][/color][color=#646464][font="][size=10pt] //[/size][/font][/color]计算中使用的加权移动平均的权重为1/len和1-1/len [color=#646464][font="][size=10pt] [/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var10[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt])[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]; //[/size][/font][/color]正向指数与负向指数之和[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=blue][font="][size=10pt]if[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]CurrentBar[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]then[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]begin[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]for[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]Value1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]to[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]Len[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]-[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=#646464][font="][size=10pt][/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]begin[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var2[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueH[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=#A447C7][font="][size=10pt]Value1[/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]-[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueH[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]Value1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]+[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var3[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueL[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]Value1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]+[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]-[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueL[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=#A447C7][font="][size=10pt]Value1[/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]condition1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var2[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]>[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var3[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]and[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var2[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]>[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]if[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]condition1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]then[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var2[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px]{当condition1条件成立的时候,当根bar为正向波动,波动值赋给var0,var1取默认值0}[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]else[/size][/font][/color][color=#646464][font="][size=10pt][/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]begin[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]condition1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var3[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]>[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var2[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]and[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var3[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]>[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]if[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]condition1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]then[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var3[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px]{condition1被重新赋值之后,如果条件满足,当根bar为负向波动,波动值赋给var1,var0取默认值0}[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]end[/size][/font][/color][color=black][font="][size=10pt]; [/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px]{到这里,for循环内部最大的if判断结束,下面是for循环内部其它语句}[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var4[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var4[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]+[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]; //[/size][/font][/color]累加正向波动值,总共计算len次[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var5[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var5[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]+[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]; //[/size][/font][/color]累加负向波动值,总共计算len次[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var6[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var6[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]+[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=purple][font="][size=10pt]TrueRangeCustom[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueH[/size][/font][/color][color=black][font="][size=10pt],[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueL[/size][/font][/color][color=black][font="][size=10pt],[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueC[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt])[[/size][/font][/color][color=#A447C7][font="][size=10pt]Value1[/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]; [/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px]{累加真实波动幅度,总共计算len次,第len次之后,循环结束}[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]end[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var7[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var4[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]/[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]Len[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]; [/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px]{正向波动值的平均值,第一次平均是通过简单平均计算的,之后是通过加权移动平均计算的}[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var8[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var5[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]/[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]Len[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]; //[/size][/font][/color]负向波动值的平均值[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oVolty[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var6[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]/[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]Len[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]; //[/size][/font][/color]真实波动幅度的平均值[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]end[/size][/font][/color][color=#646464][font="][size=10pt][/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=blue][font="][size=10pt]else [/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px]{上面是判断当currentbar=1成立时,使用简单平均去计算平均正向波动值、平均负向波动值和平均真实波动幅度,之后else部分(即,currentbar>1时)使用加权移动平均去计算平均正向波动值、平均负向波动值和平均真实波动幅度}[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]begin[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var2[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueH[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]-[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueH[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var3[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueL[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]-[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueL[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]condition1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var2[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]>[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var3[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]and[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var2[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]>[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]if[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]condition1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]then[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var2[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]else[/size][/font][/color][color=#646464][font="][size=10pt][/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]begin[/size][/font][/color][color=#646464][font="][size=10pt][/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]condition1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var3[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]>[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var2[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]and[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var3[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]>[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]if[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]condition1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]then[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var3[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]end[/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var7[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var7[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]+[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var9[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]*[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]-[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var7[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt])[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px]{即,var7=(1-1/len)*var7[1]+1/len*var0,权重分别为1-1/len和1/len}[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var8[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var8[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]+[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var9[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]*[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]-[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var8[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt])[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oVolty[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oVolty[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]+[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var9[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]*[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=purple][font="][size=10pt]TrueRangeCustom[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueH[/size][/font][/color][color=black][font="][size=10pt],[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueL[/size][/font][/color][color=black][font="][size=10pt],[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]PriceValueC[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt])[/size][/font][/color][color=#646464][font="][size=10pt][/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]-[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oVolty[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt])[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]end[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=blue][font="][size=10pt]if[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oVolty[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]>[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]then[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]begin[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oDMIPlus[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]100[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]*[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var7[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]/[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oVolty[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oDMIMinus[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]100[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]*[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var8[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]/[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oVolty[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px]{平均正向波动值与平均真实波动幅度的比值得到+DI,之所以乘以100,是为了使DI的值落在区间[0,100]内;平均负向波动值与平均真实波动幅度的比值得到-DI。}[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]end[/size][/font][/color][color=#646464][font="][size=10pt][/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=blue][font="][size=10pt]else[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]begin[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oDMIPlus[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oDMIMinus[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px]{这里当oVolty=0成立时,因为是分母为0没有意义,会导致编译出现错误,为了避免这种情况,需要在代码中进行判断,此时需要将+DI和-DI分别赋值为0}[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]end[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#A447C7][font="][size=10pt]var10[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oDMIPlus[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]+[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oDMIMinus[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=blue][font="][size=10pt]if[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var10[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]>[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]then [/size][/font][/color][color=black][font="][size=10pt]//[/size][/font][/color]在代码的编写时,所有的变量做分母时都需要判断一下[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oDMI[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]100[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]*[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]AbsValue[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oDMIPlus[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]-[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oDMIMinus[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt])[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]/[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var10[/size][/font][/color][color=#646464][font="][size=10pt][/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px]{计算得到DX值}[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=blue][font="][size=10pt]else[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oDMI[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]; [/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#A447C7][font="][size=10pt]condition1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]CurrentBar[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]<=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]Len[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]and[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]CurrentBar[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]>[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]0[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px]{从这里之后的部分,需要计算ADX和ADXR,ADX是DX的平均计算,而DX的计算已经是基于len根bar的平均计算,所以ADX的计算是二次平均计算,是基于2*len根bar的平均计算}[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=blue][font="][size=10pt]if[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]condition1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]then[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]begin[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oADX[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=purple][font="][size=10pt]Cum[/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oDMI[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt])[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]/[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]CurrentBar[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oADXR[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oADX[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]+[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oADX[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]CurrentBar[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]-[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt])[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]*[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt].5[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px]{这里,由于currentbar<=len,即bar的数目不够,所以需要进行一次特殊的平均计算,计算ADX使用的分母是currentbar;同样,ADXR的计算也进行了特殊的计算} [color=#646464][font="][size=10pt] [/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]end[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=blue][font="][size=10pt]else[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]begin[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oADX[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oADX[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]+[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#A447C7][font="][size=10pt]var9[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]*[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oDMI[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]-[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oADX[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt])[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oADXR[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]([/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oADX[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]+[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]oADX[/size][/font][/color][color=black][font="][size=10pt][[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=#CC0066][font="][size=10pt]Len[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]-[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]][/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt])[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]*[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt].5[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px]{对ADX进行加权移动平均计算,权重分别为1-1/len和1/len;ADXR的计算见代码}[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=#646464][font="][size=10pt] [/size][/font][/color][color=blue][font="][size=10pt]end[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt];[/size][/font][/color][/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][color=purple][font="][size=10pt]DirMovement[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]=[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=darkblue][font="][size=10pt]1[/size][/font][/color][color=#646464][font="][size=10pt] [/size][/font][/color][color=black][font="][size=10pt]; //[/size][/font][/color]这个函数的返回值没有意义,关键是传址参数的使用[/size][/font][/color][/align][align=left][color=#444444][font=Tahoma, 宋体, Simsun][size=14px][size=4]1.4 DirMovement系列函数使用说明[/size][/size][/font][/color][/align][p=30, 2, left]DirMovement函数代码在上面已经介绍过了,这个函数的返回值没有意义,关键是传址参数的使用。[/p][p=30, 2, left]DMI函数内部调用了DirMovement,DMI函数的返回值就是DX指数的值;DMI(len)的参数是需要计算的bar的数目len,然后返回DX指数的值。[/p][p=30, 2, left]DMICustom函数的功能及内部的代码逻辑和DMI函数一样,不同的是多了三个价格参数,DMICustom(high,low,close,len)的参数分别是最高价、最低价、收盘价和bar的数目len,返回DX指数的值。[/p][p=30, 2, left]DMIMinus函数内部调用了DirMovement,它的返回值就是-DI指数的值;DMIMinus(len)的参数是需要计算的bar的数目len,然后返回-DI指数的值。[/p][p=30, 2, left]DMIMinusCustom函数的功能及内部的代码逻辑和DMIMinus函数完全一样,不同的是多了三个价格参数,DMIMinusCustom(high,low,close,len)的参数分别是最高价、最低价、收盘价和bar的数目len,返回-DI指数的值。[/p][p=30, 2, left]ADX函数调用了DirMovement函数;ADX(len)的参数是需要计算的bar的数目len,然后返回ADX指数的值。[/p][p=30, 2, left]ADXCustom函数的功能及内部代码逻辑和ADX函数完全一样,不同的是多了三个价格参数;ADXCustom(high,low,close,len)的参数分别是最高价、最低价、收盘价和bar的数目len,返回ADX指数的值。[/p][p=30, 2, left]ADXClassic函数功能及计算逻辑和ADX函数是一样,参数也是一样的,不同的是代码的编写不一样;ADXClassic函数调用了DMI函数来计算DX指数,然后再对DX指数使用加权移动平均来计算ADX指数的值,最后再使用intportion关键字对ADX指数取整;ADXClassic(len)的参数是需要计算的bar的数目len,然后返回ADX指数的取整值(即将小数点之后的值去除)。[/p][p=30, 2, left]ADXCustomClassic函数是ADXClassic和ADXCustom的结合,即使用了三个价格参数,然后在内部调用了DMI函数来计算DX指数,然后再对DX指数使用加权移动平均来计算ADX指数的值,最后再使用关键字intportion对ADX指数取整数值;ADXCustomClassic(high,low,close,len)的参数是最高价、最低价、收盘价和需要计算的bar的数目len。[/p][p=30, 2, left]ADXR函数调用了DirMovement函数;ADXR(len)的参数是需要计算的bar的数目len,然后返回ADXR指数的值。[/p][p=30, 2, left]ADXRCustom、ADXRClassic、ADXRCustomClassic函数的计算、使用及相互区别可以参考ADX。[/p][p=30, 2, left]XAverageOrig是加权移动平均函数;XAverageOrig(pricevalue,len)的参数分别是价格值和需要计算的bar的数目len,权重分别为1-1/len和1/len,函数返回pricevalue的加权平均值,即XAverageOrig=(1-1/len)*XAverageOrig[1]+1/len*pricevalue。[/p][p=30, 2, left]TrueHigh函数返回当根bar的最高价与前一根bar的收盘价的最高值,这个函数没有参数。[/p][p=30, 2, left]TrueLow函数返回当根bar的最低价与前一根bar的收盘价的最低值,这个函数没有参数。[/p][p=30, 2, left]TrueRange函数返回当根bar的真实波动幅度,TrueRange=TrueHigh-TrueLow,这个函数没有参数。[/p][p=30, 2, left]TrueRangeCustom函数的逻辑和TrueRange的计算逻辑是一样的,不同的是它有三个价格参数;TrueRangeCustom(high,low,close)的参数是当根bar的最高价、最低价和收盘价,返回当根bar的真实波动幅度。[/p][p=30, 2, left]Volatility的值等于XAverageOrig(TrueRange,len),这个函数的内部调用函数XAverageOrig对真实波动幅度进行加权移动平均计算;Volatility(len)的参数是需要计算的bar的数目len,返回平均真实波动幅度。[/p][p=30, 2, left]XAverage是指数移动平均函数,它是一种特殊的加权平均函数;XAverage(pricevalue,len)的参数分别是价格值和需要计算的bar的数目,返回pricevalue的指数移动平均值,即XAverage=(len-1)/(len+1)*XAverage[1]+2/(len+1)*pricevalue。[/p][p=30, 2, left]AvgTrueRange函数调用Average函数计算平均真实波动幅度,即先累加真实波动幅度,然后再除以数目;AvgTrueRange(len)的参数是需要计算的bar的数目,返回平均真实波动幅度值。[/p]
页:
[1]