ADX

  • Автор темы aspi
  • Дата начала

aspi

New member
Коллеги, столкнулся со следующей проблемой:

АДХ, который я считаю на достаочно длинных периодах при явно гладких значения дает локальные всплески. Например
20 20 20 21 20 20 20

Конечные значения почти всегда сходятся с Quik, но вот эта лишняя/недостающая единица ломает всю мою стратегию.
Я склоняюсь к неправильному сглаживанию с моей стороны, Воможно что-то не учитываю или есть проблемы округлеения.

Делаю следующим образом:

All prices rounded bye 2 (ex. round(price,2)


1. First the positive and the negative derectional movement is calculated - +DMj and -DMj
if Highj > Highj-1, then +DMj = Highj - Highj-1, otherwise +DMj = 0
if Lowj < Lowj-1, then -DMj = Lowj-1 - Lowj, otherwise -DMj = 0
The lesser of +DMj and -DMj is set to zero; if they are equal, both are set to zero.

round(DM, 6)


2. True range is calculated - TRj
TRj = max( |Lowj - Closej-1|, |Highj - Closej-1|, |Highj - Lowj| )

round(TR,6)

3. A positive and negative directional index is calculated - + and -DIj
if TRj = 0, then +SDIj = 0, -SDIj = 0,
if TRj ? 0, then +SDIj = +DMj / TRj; -SDIj = -DMj / TRj

round(SDI,6)

By smoothing +SDI and -SDI with exponential moving average (EMAve), get +DIj and -DIj
+DIj = EMAvej(+SDI, N)
-DIj = EMAvej(-SDI, N)

round(DI,6)


4. Calculate average directional movement - ADXj. First calculate directional movement DXj:
DXj = (|+DIj - -DIj| / |+DIj + -DIj|) ? 100

round(DX,6)

By averaging DX find ADX:
ADXj = EMAvej(DX, N)

round(ADX) -> final


У кого какие мысли?
 
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху