Рассуждения о ADX

 

Уважаемые форумчане, хочу поделиться своими мыслями про ADX.

Анализируя работу индикатора ADX, я подумал, о том, что может быть не совсем правильно расчитывать DI используя ATR. Я думаю, что разница между максимумом(минимумом) двух дней - это часть диапазона двух дней, а не одного, т.е. нужно делить эту разницу не на максимум-минимум текушей свечи, а на HHV(H,2)-LLV(L,2). Величина самого ADX и пересечения DI линий мужду собой при этом не меняются, а вот пересечение линий DI с ADX меняется и сущуственно, а это ведь тоже торговые сигналы.

Какое ваше мнение?

Внизу переделанный ADX


 
осталось найти десять отличий - и грааль в кармане!
 
leman >>:

Уважаемые форумчане, хочу поделиться своими мыслями про ADX.

Анализируя работу индикатора ADX, я подумал, о том, что может быть не совсем правильно расчитывать DI используя ATR. Я думаю, что разница между максимумом(минимумом) двух дней - это часть диапазона двух дней, а не одного, т.е. нужно делить эту разницу не на максимум-минимум текушей свечи, а на HHV(H,2)-LLV(L,2). Величина самого ADX и пересечения DI линий мужду собой при этом не меняются, а вот пересечение линий DI с ADX меняется и сущуственно, а это ведь тоже торговые сигналы.

Какое ваше мнение?

Внизу переделанный ADX


Согласен полностью.Кстати, попробуйте ADX(20)(самому интересно)
 
alsu >>:
осталось найти десять отличий - и грааль в кармане!

А при чем здесь грааль?
 
В действительности, если вы выведите на график ATR и простую МА по разнице High[i]-Low[i], то вы не увидите существенной разницы, за исключением, когда предыдущий бар приходится на гэп. В записи в базе есть картинка, как это выглядит. И именно поэтому будет возникать разница в DMS.
 
Svinozavr >>:
В действительности, если вы выведите на график ATR и простую МА по разнице High[i]-Low[i], то вы не увидите существенной разницы, за исключением, когда предыдущий бар приходится на гэп. В записи в базе есть картинка, как это выглядит. И именно поэтому будет возникать разница в DMS.

Относительно самого ATR это понятно, а вот отношения (H[0]-H[1])/(H[0]-L[0]) и (H[0]-H[1])/(HHV(H,2)-LLV(L,2)), они изменятся
 
leman >>:

Относительно самого ATR это понятно, а вот отношения (H[0]-H[1])/(H[0]-L[0]) и (H[0]-H[1])/(HHV(H,2)-LLV(L,2)), они изменятся
Разумеется. И это также понятно, как и про ATR. Присутствует учет пред. бара.
Кстати, не хотите попробовать DMS на безгэповых котировках? Там все переделывается буквально за 5 минут. В записи есть, как это сделать.
 
Svinozavr >>:
Разумеется. И это также понятно, как и про ATR. Присутствует учет пред. бара.
Кстати, не хотите попробовать DMS на безгэповых котировках? Там все переделывается буквально за 5 минут. В записи есть, как это сделать.

Да, обязательно посмотрю.
 

Наткнулся на сранность в применении индикатора ADX, отображение и применение +-DI в MQL разняться, при написании простого советника, на пересечении вход закрытие противоположной позиции и прогоне через тестер, наблюдаеться картина закрытие позиции раньше обратного пересечения, почему визуализация и практика расходяться как можно устранить рассогласование

plus=iADX(NULL,0,3,PRICE_CLOSE,MODE_PLUSDI,0);
minus=iADX(NULL,0,3,PRICE_CLOSE,MODE_MINUSDI,0);

На buy, close sell: plus>minus

На sell, close buy: minus>plus

 
vilard:

Наткнулся на сранность в применении индикатора ADX, отображение и применение +-DI в MQL разняться, при написании простого советника, на пересечении вход закрытие противоположной позиции и прогоне через тестер, наблюдаеться картина закрытие позиции раньше обратного пересечения, почему визуализация и практика расходяться как можно устранить рассогласование

plus=iADX(NULL,0,3,PRICE_CLOSE,MODE_PLUSDI,0);
minus=iADX(NULL,0,3,PRICE_CLOSE,MODE_MINUSDI,0);

На buy, close sell: plus>minus

На sell, close buy: minus>plus


Нулевой бар при прайсклозе пользовать нельзя - первый, второй и т.д. - можно. Вот так все работает правильно.

double ADX1_1 = iADX(Symbol(),trend_period, Period_ADX, PRICE_CLOSE, MODE_MAIN,1);
double ADX1_2 = iADX(Symbol(), trend_period, Period_ADX, PRICE_CLOSE, MODE_MAIN,2);
double ADX_PLUS1_1 = iADX(Symbol(), trend_period, Period_ADX, PRICE_CLOSE, MODE_PLUSDI,1);
double ADX_PLUS1_2 = iADX(Symbol(), trend_period, Period_ADX, PRICE_CLOSE, MODE_PLUSDI,2);
double ADX_MINUS1_1 = iADX(Symbol(), trend_period, Period_ADX, PRICE_CLOSE, MODE_MINUSDI,1);
double ADX_MINUS1_2 = iADX(Symbol(), trend_period, Period_ADX, PRICE_CLOSE, MODE_MINUSDI,2);

Потом бьете свои условия на сравнение и открытие поз.

П.С. Нулевой бар использовать возможно, но только по ценам открытия.

 
спасибо
Причина обращения: