Does anyone know the algorithm usually used to calculate ADX? I tried googling it, but I see tons of different algorithms used.... Does anyone have a relatively simple and straight forward method that is similar to what most charting aplications use?
ok I see nobody answered. I can give you here the calculation you find in Wealth lab for ADX, it's a lot of stuff. Hope it can help Description ADX stands for Average Directional movement Index and is used to measure the overall strength of the trend. The ADX indicator is an average of DX values, see DX. The ADX is a component of the Directional Movement System developed by Welles Wilder. This system attempts to measure the strength of price movement in positive and negative direction using the DIPlus and DIMinus indicators along with the ADX. ADX Calculation ADX is equivalent to the Wilder's moving average (see WilderMA) of the direction movement (DX) over the specified Period. ------------------------------------------------------- DX Calculation DX = Round( 100 * |DIPlus - DIMinus| / |DIPlus + DIMinus| ) ------------------------------------------------------ DI Minus Calculation -DI = Round( -DM / TR )* 100 where, -DI = DIMinus TR = True Range of current bar The -DI is then smoothed over the Period specified, the same way as a simple moving average, and, -DM is calculated as follows: (i) For up trending days, -DM = zero (ii) For down trending days, -DM = yesterday's low - today's low (iii) For inside days, -DM = zero (iv) For outside days, if yesterday's low - today's low, is greater than today's high- yesterday's high, then -MD = yesterday's low - today's low, otherwise -DM = zero (v) For upwards gap days, -DM = zero (vi) For downwards gap days, -DM = yesterday's low - today's low ----------------------------------------------- Di Plus Calculation +DI = Round( +DM / TR ) * 100 where, DI+ = DIPlus TR = True Range of current bar The +DI is then smoothed over the period specified, the same way as a simple moving average, and +DM is calculated as follows: (i) For up trending days, +DM = today's high - yesterday's high (ii) For down trending days, +DM = zero (iii) For inside days, +DM = zero (iv) For outside days, if today's high - yesterday's high, is greater than yesterday's low- today's low, then +MD = today's high - yesterday's high, otherwise +DM = zero (v) For upwards gap days, +DM = today's high - yesterday's high (vi) For downwards gap days, +DM = zero ------------------------------------------------- WilderMA Calculation WilderMA is calculated for periods "n" as follows: Wilder MA = ( Previous Wilder MA * ( n - 1 ) + Price Series Value ) / n where, n = number of periods Price Series Value = data you wish to average -------------------------------------------------- True Range Calculation True Range is always a positive number and is defined by Welles Wilder to be the greatest of the following for each period: The distance from today's high to today's low. The distance from yesterday's close to today's high. The distance from yesterday's close to today's low. Geez, good luck