536 / 736EMA

Exponential moving average

Експоненційне ковзне середнє

EMA надає більшу вагу новим цінам, а вплив давніших даних поступово слабшає. Розберімося, як із попереднього результату виходить нова точка і чому дві правильно обчислені лінії можуть відрізнятися.

Exponential moving average, або EMA, — це середнє, яке сильніше враховує новіші ціни. Його згладжена лінія допомагає стежити за рухом ціни на графіку. Кожне нове значення поєднує поточну ціну з попереднім результатом. Тому EMA зазвичай реагує швидше, ніж Simple moving average, або SMA, але все одно спирається на вже доступні ціни.

Наприкінці кожного часового інтервалу, зображеного на графіку свічкою, Petr записує останню ціну. Замість того щоб знову додавати всі значення, він може наблизити попередню EMA до цієї ціни на частину відстані між ними. Так метод пояснює Fidelity. TradingView записує той самий розрахунок як суму зваженої нової ціни та зваженої попередньої EMA. Це рекурсивне обчислення: наступний крок використовує результат попереднього. [1] [2]

Цю частину визначає коефіцієнт — число, яке задає вагу нової ціни. TradingView наводить поширене співвідношення 2 / (N + 1), де N — вибрана довжина. Більше N означає меншу вагу нового значення й повільніше пристосування. Тож Petr має знати не лише назву EMA, а й довжину та спосіб обчислення коефіцієнта. Довжина керує розподілом ваг; нижче наведено конкретний крок із числами. [3]

На самому початку Petr ще не має попередньої EMA. Fidelity описує початок зі SMA, звичайного середнього перших цін. Вибір початкового результату називають ініціалізацією. Якщо інший інструмент починає інакше або завантажує інший обсяг історії, лінії можуть відрізнятися навіть за однакових наступних цін. Із подальшими обчисленнями різниця поступово зменшується. Сама назва EMA тому не гарантує однакових значень. [1]

Попередня EMA вже містить вплив давніших цін. Як пояснює TradingView, кожен наступний крок знову його послаблює. Звідси слово експоненційна: за незмінного коефіцієнта вплив початкового значення щоразу множиться на той самий множник. Отже, довжина не задає скінченне вікно останніх цін, за межами якого все зникає, як у SMA. Дуже малий вплив також не є точно нульовим у математичному описі. Для довжини 1 із наведеним коефіцієнтом є простий виняток: EMA дорівнює новій ціні, а попередній результат уже не має ваги. [3]

Petr змінює SMA на EMA, і за однакового періоду лінія зазвичай ближче слідує за новою ціною. Fidelity наголошує на обох наслідках цієї чутливості: раннішій реакції та частіших коротких змінах. На ринку без чіткого напряму Petr може побачити низку швидких розворотів. Торгове правило має враховувати також витрати на такі операції. Близькість лінії до ціни сама собою не визначає якість рішень. [1]

Petr порівнює свій графік із графіком друга. У TradingView параметр Source вибирає вхідні дані, наприклад Close — останню ціну свічки. Timeframe задає інтервал даних індикатора, який може відрізнятися від інтервалу показаного графіка. Перш ніж назвати розбіжність помилкою, вони порівнюють ринок, постачальника даних, використану ціну, інтервал і обробку пропущених значень. Лише за однакових входів є сенс порівнювати сам розрахунок. [2] [4]

На графіку в реальному часі найновіша EMA рухається разом із ціною. TradingView пояснює, що Close незакритої свічки — це постійно оновлюване значення, а не остаточна ціна закриття. Якщо EMA його використовує, змінюються і результат, і можливий перетин. Тож Petr має відрізняти правило, яке перевіряється протягом інтервалу, від правила, що чекає його завершення. Історичний тест не може вважати кінцеву ціну інформацією, відомою раніше. [5]

Petr уміє обчислити EMA, але це ще не визначає, коли і як торгувати. У документації стратегій TradingView розділяє сигнал, створення заявки та її фактичне виконання. Потрібні також правила виходу з позиції, час дій і витрати. Варто остерігатися overfitting — підлаштування правил під випадковості минулого графіка. Перевірка на окремих даних без нових підлаштувань допомагає виявити цю слабкість. Навіть точний розрахунок не обіцяє майбутнього результату. [6]

Приклад · EMA

Однакова ціна, різний початок

Для умовного навчального розрахунку виберімо коефіцієнт 0.5, тобто довжину 3 за співвідношенням 2 / (N + 1). Попередня EMA становить 100000 USD/BTC, а нова ціна — 100040 USD/BTC. Маємо 0.5 × 100040 + 0.5 × 100000 = 100020 USD/BTC. Інший розрахунок використовує ту саму нову ціну, але попередню EMA 100010 USD/BTC: 0.5 × 100040 + 0.5 × 100010 = 100025 USD/BTC. Початкова різниця 10 USD/BTC зменшилася до 5 USD/BTC, але не зникла. Так поступово може згасати різниця початкових значень. Числа пояснюють метод, а не поточний ринок чи вказівку торгувати.

Для повної картини прочитайте також Moving average, Simple moving average, Moving average crossover, Timeframe, MACD, Backtesting. На цю статтю також посилаються Moving average, Simple moving average, Moving average crossover, Relative Strength Index.

01Чи EMA використовує лише вибрану кількість останніх цін?

Не у вигляді скінченного вікна, як SMA. Попередня EMA передає також слабший із часом вплив давнішої історії. Довжина зазвичай визначає коефіцієнт, а не межу, де минуле раптом зникає. Для точного відтворення результату потрібно знати й спосіб ініціалізації.

02Чи швидша EMA завжди краща за SMA?

Залежить від того, що ви хочете спостерігати. Чутливіша лінія може раніше показати зміну, але й частіше розвертатися під час коротких коливань. Тому оцінюйте все торгове правило разом із виконанням і витратами, зокрема на даних, які не використовували для його підлаштування. Сама швидкість не доводить переваги.

DOC · 001Fidelity — EMAДокументація DOC · 002TradingView — EMAДокументація DOC · 003TradingView — Moving averagesДокументація DOC · 004TradingView — MTFДокументація DOC · 005TradingView — RepaintingДокументація DOC · 006TradingView — StrategiesДокументація
Переглянуто: Спочатку джерела · Не інвестиційна порада