Всем доброго дня и ночи!
Пытаюсь разобраться как MT4 рассчитывает индикатор ADX. Перелопатил кучу статей с описанием расчета, читал и скудное описание в доке самой платформы, но что-то никак не сходится.
Экспериментирую на месячных данных, чтобы видеть расчет от первого бара истории. Использую стандартный период 14 и цену Close.
На графике
индикатор начинает рисоваться от 15-го бара, но если включить Окно Данных, то там значения показываются уже со второго бара.
Из документации MT5 понял, что применяется экспоненциальное сглаживание, что собственно и объясняется наличие значений со
второго бара.
Допустим значения OHLC первых двух баров следующие:
2002.06.01,00:00,0.93240,0.99140,0.93240,0.99100
2002.07.01,00:00,0.99100,1.01180,0.97260,0.97730
Тогда расчет первого значения (со второго бара) должен быть таким:
1. изменение цены
+M = High(i) - High(i - 1) => 0.0204
-M = Low(i - 1) - Low(i) =>
-0.0402
2. направленное движения
+DM = если +M > -M и +M > 0, то +M, иначе 0 => 0.0204
-DM
= если -M > +M и -M > 0, то -M, иначе 0
=> 0
TR = Max((High - Low), Abs(High - Close(i - 1)), Abs(Low - Close(i - 1)))
=> 0.0392
3. первое экспоненциальное значение индекса направленного движения
+DI = +DM / TR * 100 =>
52.0408
-DI = -DM / TR * 100 => 0
4. первое экспоненциальное значение усредненного индекса направленного движения
ADX = Abs(+DI - -DI) / (+DI + -DI)
* 100
=> 100
В терминале же в окне данных выдает:
+DI = 6.9388
-DI = 0
ADX = 13.3333
Что тут не так?
Алексей, спасибо за ссылку. Но я ее изучил уже вдоль и поперек. Алгоритм моего ручного расчета полностью совпадает с описанием, но почему результат не сходится то?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем доброго дня и ночи!
Пытаюсь разобраться как MT4 рассчитывает индикатор ADX. Перелопатил кучу статей с описанием расчета, читал и скудное описание в доке самой платформы, но что-то никак не сходится.
Экспериментирую на месячных данных, чтобы видеть расчет от первого бара истории. Использую стандартный период 14 и цену Close.
На графике индикатор начинает рисоваться от 15-го бара, но если включить Окно Данных, то там значения показываются уже со второго бара.
Из документации MT5 понял, что применяется экспоненциальное сглаживание, что собственно и объясняется наличие значений со второго бара.
Допустим значения OHLC первых двух баров следующие:
2002.06.01,00:00,0.93240,0.99140,0.93240,0.99100
2002.07.01,00:00,0.99100,1.01180,0.97260,0.97730
Тогда расчет первого значения (со второго бара) должен быть таким:
1. изменение цены
+M = High(i) - High(i - 1) => 0.0204
-M = Low(i - 1) - Low(i) => -0.0402
2. направленное движения
+DM = если +M > -M и +M > 0, то +M, иначе 0 => 0.0204
-DM = если -M > +M и -M > 0, то -M, иначе 0 => 0
TR = Max((High - Low), Abs(High - Close(i - 1)), Abs(Low - Close(i - 1))) => 0.0392
3. первое экспоненциальное значение индекса направленного движения
+DI = +DM / TR * 100 => 52.0408
-DI = -DM / TR * 100 => 0
4. первое экспоненциальное значение усредненного индекса направленного движения
ADX = Abs(+DI - -DI) / (+DI + -DI) * 100 => 100
В терминале же в окне данных выдает:
+DI = 6.9388
-DI = 0
ADX = 13.3333
Что тут не так?