SMA та EMA: як перевірити розрахунок, ваги й початкове значення
Відтворіть ковзну середню за власним рядом цін закриття. Порівняйте два явні способи початкового задання EMA, перегляньте всі ваги й внески та звірте результат в електронній таблиці.
Автор · Редактор
- Автор
- Микола Заваров
- Редактор
- Андрій Бондаренко
Перевірено

Головне
SMA надає останнім N цінам однакові ваги; EMA використовує рекурентну формулу з α = 2/(N + 1). Одиниця результату залишається одиницею ціни.
Початкове значення EMA впливає на ранні результати. У калькуляторі явно доступні початкова SMA та перша ціна.
Ранні значення SMA, для яких немає повного вікна, недоступні, а не дорівнюють нулю. Порожні рядки не заповнюються й не вилучаються непомітно.
Точні ваги в сумі дають одиницю та відтворюють вибрану середню. Для збігу з платформою також потрібні однакові дані, історія та правила розрахунку.
Почніть із порівнюваних цін закриття
На одному екрані ковзна середня має одне значення, а в електронній таблиці — інше. Перш ніж шукати помилку у формулі, визначте точний ряд даних і спосіб початкового задання. Напис EMA 3 не описує всіх умов, потрібних для відтворення числа. Результат цієї перевірки — вихідні ціни, кожна доступна середня, ваги вибраного рядка та перелік невідомих даних.
Використовуйте один інструмент, одне визначення ціни, одну одиницю та завершені періоди однакової тривалості, від найдавнішого до найновішого. Закриття може означати останню ціну bid, ask, останньої угоди або іншу ціну постачальника. Це різні вхідні дані. Запишіть джерело, часовий пояс, межі сесій і наявність коригувань. Для інструментів із корпоративними діями скоригована історична ціна закриття може відрізнятися від нескоригованої.
Що зафіксувати до розрахунку | Чому це впливає на результат |
|---|---|
Поле ціни закриття та одиниця | Середня цін у USD теж є ціною в USD, а не відсотковою дохідністю чи прибутком. |
Тривалість періоду, сесія та часовий пояс | Інші межі можуть давати інші спостереження на закритті. |
Повна впорядкована історія та пропущені періоди | EMA залежить від початкового значення та наступних спостережень. |
N і спосіб початкового задання EMA | За однакового N різні початкові значення можуть давати різні ранні EMA. |
Чи завершився останній період | Поточне значення, яке ще змінюється, не є завершеною ціною закриття. |
Прокрутіть убік, щоб порівняти всі стовпці ↔
Калькулятор отримує послідовність чисел, а не часові мітки чи ринковий потік. Він не може встановити, чи справді ваші рядки відповідають закритим періодам однакової тривалості. Перевірте це у джерелі до вставлення. Однакові послідовні ціни допустимі; пропущений період — інша ситуація, яку не можна замінювати вигаданим нулем.
Розрахуйте SMA та виберіть початкове значення EMA
SMA — проста ковзна середня, EMA — експоненційна ковзна середня. У рядку t проста ковзна середня дорівнює SMAₜ = (pₜ₋ₙ₊₁ + … + pₜ)/N. Вона з’являється в рядку N, коли вже є N спостережень. За правилом повного вікна рядки від 1 до N − 1 не мають значення. Довідка MetaQuotes про ковзні середні описує середнє арифметичне та експоненційне оновлення; окремий розділ про згладжену ковзну середню не слід трактувати як правило початкового задання EMA.
У цьому матеріалі α = 2/(N + 1), а β = 1 − α. Після початкового задання EMAₜ = αpₜ + βEMAₜ₋₁. Пояснення CME наводить цей множник і допускає початкову SMA або попередню ціну закриття. Опис EMA від TradingView також пояснює експоненційне оновлення з коефіцієнтом згладжування 2. Ці описи не встановлюють єдиного початкового значення для всіх платформ, обсягів історії та налаштувань.
Явний варіант у калькуляторі | Перше доступне значення EMA | Наступні рядки |
|---|---|---|
Початкова SMA | У рядку N: середнє цін 1…N | Рекурентне оновлення з рядка N + 1. |
Початкова перша ціна | У рядку 1: p₁ | Рекурентне оновлення з рядка 2. |
Прокрутіть убік, щоб порівняти всі стовпці ↔
Варіант із першою ціною означає саме першу ціну у вставленому ряді. Він не означає, що ви надали всю попередню історію платформи або її невідоме попереднє значення EMA. Обидва варіанти використовують однакове α. Вибір початкового значення є правилом для звірки розрахунків, а не порадою щодо індикатора для торгівлі.
Якщо N = 1, то α = 1, β = 0. SMA й обидва варіанти EMA в кожному рядку дорівнюють поточній ціні. Якщо N дорівнює довжині ряду, SMA та EMA з початковою SMA з’являються лише в останньому рядку. Якщо в ряді більше однієї ціни, EMA від першої ціни доступна раніше, бо для її початку достатньо одного значення.
Відтворіть повний приклад із п’яти цін
Візьміть вигаданий ряд 100, 110, 90, 110, 100 — ціни неназваного навчального інструмента в USD. Кожен рядок у вправі відповідає завершеному періоду однакової тривалості; це не ринкові спостереження. Задайте N = 3, отже α = β = 1/2. Зберігайте дроби або повну числову точність до фінального відображення.
Рядок | Ціна, USD | SMA, USD | EMA від початкової SMA, USD | EMA від першої ціни, USD |
|---|---|---|---|---|
1 | 100 | Недоступно | Недоступно | 100 |
2 | 110 | Недоступно | Недоступно | 105 |
3 | 90 | 100 | 100 | 97,5 |
4 | 110 | 310/3 ≈ 103,333333333333333 | 105 | 103,75 |
5 | 100 | 100 | 102,5 | 101,875 |
Прокрутіть убік, щоб порівняти всі стовпці ↔
Перша повна SMA становить (100 + 110 + 90)/3 = 100. У рядку 4 вікно містить 110, 90, 110 і дає 310/3; у рядку 5 це 90, 110, 100, що дає 100. Коли нова ціна входить у вікно SMA, найстаріша ціна повністю його залишає.
EMA від початкової SMA стартує в рядку 3 зі 100. Рядок 4: 0,5 × 110 + 0,5 × 100 = 105; рядок 5: 0,5 × 100 + 0,5 × 105 = 102,5. EMA від першої ціни починається зі 100 у рядку 1; далі йдуть 105, 97,5, 103,75 і 101,875. Ціни та множник однакові, а початкове задання різне.
Остання EMA від початкової SMA мінус остання EMA від першої ціни: 102,5 − 101,875 = 0,625 USD. Це різниця між двома середніми цінами, а не 0,625%, дохідність чи результат угоди. У рядку 3 різниця дорівнює 2,5; два наступні оновлення двічі множать її на β: 2,5 × 0,5² = 0,625. Так можна відокремити вплив початкового значення, не змінюючи даних.
Поясніть вибраний рядок через його ваги
Корисна звірка показує, чому результат має саме таке значення. У SMA кожна з останніх N цін має вагу 1/N, а всі старіші ціни — нуль. Для EMA на скінченному наданому ряді є явні ваги, що враховують початкове значення. Якщо пропустити його внесок, сума ваг буде меншою за одиницю, а середня — заниженою.
Для початкової SMA в рядку t ≥ N кожна з перших N цін має вагу β^(t − N)/N. Кожна пізніша ціна pⱼ, де j > N, має вагу αβ^(t − j). Для початкової першої ціни вага p₁ становить β^(t − 1), а кожної pⱼ за j ≥ 2 — αβ^(t − j). Це ваги для вибраного рядка, а не для спостережень із майбутнього.
Ціна під час перевірки рядка 5 | Вага SMA | Вага EMA від SMA | Вага EMA від першої ціни |
|---|---|---|---|
p₁ = 100 | 0 | 1/12 | 1/16 |
p₂ = 110 | 0 | 1/12 | 1/16 |
p₃ = 90 | 1/3 | 1/12 | 1/8 |
p₄ = 110 | 1/3 | 1/4 | 1/4 |
p₅ = 100 | 1/3 | 1/2 | 1/2 |
Сума ваг | 1 | 1 | 1 |
Прокрутіть убік, щоб порівняти всі стовпці ↔
Помножте кожну ціну на її вагу та додайте внески. EMA від початкової SMA в рядку 5: 100/12 + 110/12 + 90/12 + 110/4 + 100/2 = 102,5 USD. EMA від першої ціни: 100/16 + 110/16 + 90/8 + 110/4 + 100/2 = 101,875 USD. Ваги безрозмірні; внески та підсумкова середня виражені в USD.
Перегляд ваг охоплює всі спостереження до вибраного рядка, зокрема нульові ваги SMA, та суму внесків. Якщо вибраний метод ще недоступний, його ваги й середня теж недоступні. За N = 1 поточна ціна має вагу один, а всі попередні — нуль; тлумачити неоднозначний степінь нуль у нульовому степені не потрібно.
Перевірте свій ряд і перегляньте окремий рядок
Перевірте SMA, EMA та ваги початкових цін
Вставте послідовні ціни закриття в однакових одиницях. Порівняйте середні, виберіть початкове значення EMA та розгляньте внесок кожної попередньої ціни.
Використовуйте закриті періоди однакової тривалості в початковому порядку. Калькулятор не перевіряє пропущені ринкові періоди, сесії, коригування чи закриття свічки. Він не рекомендує індикатор або торговий період.
Компонент зберігає введення в пам’яті сторінки. Він не надсилає дані на сервер і не записує їх у постійне сховище браузера. Загальна аналітика сайту — окреме питання.
Фіксований навчальний еталон · окремо від ваших даних
Ціни 100, 110, 90, 110, 100 USD; N = 3; α = 1/2. В еталоні вибрано початок із SMA та рядок 5. Це вигадані ціни закриття, а не датовані ринкові спостереження.
Послідовних цін: 5 · N = 3 · одиниця: USD.
Вибрана EMA: EMA з початком від першої SMA.
- α · коефіцієнт оновлення EMA
- 0,5
Показати точне значення
- Точний дріб
- 1/2
- Точний десятковий запис
- 0,5
- β = 1 − α
- 0,5
Показати точне значення
- Точний дріб
- 1/2
- Точний десятковий запис
- 0,5
- SMA · Рядок 5 · USD
- 100
Показати точне значення
- Точний дріб
- 100/1
- Точний десятковий запис
- 100
- Вибрана EMA · Рядок 5 · USD
- 102,5
Показати точне значення
- Точний дріб
- 205/2
- Точний десятковий запис
- 102,5
Різниця початкових методів в останньому рядку: 0,625 USD = EMA з початком від SMA − EMA з початком від першої ціни.
- Ціна закриття
- SMA
- Вибрана EMA
Графік є візуальним наближенням. Порівнюйте цифри в таблиці й точному експорті; перетини ліній не є торговими рекомендаціями.
Переведіть фокус на область таблиці й прокручуйте її горизонтально клавішами зі стрілками.
| Рядок | Ціна | SMA | EMA · початок із SMA | EMA · початок із першої ціни |
|---|---|---|---|---|
| 1 | 100 Показати точне значення
| Ще недоступно | Ще недоступно | 100 Показати точне значення
|
| 2 | 110 Показати точне значення
| Ще недоступно | Ще недоступно | 105 Показати точне значення
|
| 3 | 90 Показати точне значення
| 100 Показати точне значення
| 100 Показати точне значення
| 97,5 Показати точне значення
|
| 4 | 110 Показати точне значення
| ≈ 103,333333333333333 Показати точне значення
| 105 Показати точне значення
| 103,75 Показати точне значення
|
| 5 | 100 Показати точне значення
| 100 Показати точне значення
| 102,5 Показати точне значення
| 101,875 Показати точне значення
|
Ваги й внески цін у рядку 5
Ваги безрозмірні; кожен внесок має одиницю ціни. Попередні ціни поза вікном SMA мають нульову вагу. Включено лише ціни, доступні на момент вибраного рядка.
| Початковий рядок | ЦінаUSD | Вага SMA | Внесок у SMAUSD | Вага вибраної EMA | Внесок у вибрану EMAUSD |
|---|---|---|---|---|---|
| 1 | 100 Показати точне значення
| 0 Показати точне значення
| 0 Показати точне значення
| ≈ 0,0833333333333333333 Показати точне значення
| ≈ 8,33333333333333333 Показати точне значення
|
| 2 | 110 Показати точне значення
| 0 Показати точне значення
| 0 Показати точне значення
| ≈ 0,0833333333333333333 Показати точне значення
| ≈ 9,16666666666666667 Показати точне значення
|
| 3 | 90 Показати точне значення
| ≈ 0,333333333333333333 Показати точне значення
| 30 Показати точне значення
| ≈ 0,0833333333333333333 Показати точне значення
| 7,5 Показати точне значення
|
| 4 | 110 Показати точне значення
| ≈ 0,333333333333333333 Показати точне значення
| ≈ 36,6666666666666667 Показати точне значення
| 0,25 Показати точне значення
| 27,5 Показати точне значення
|
| 5 | 100 Показати точне значення
| ≈ 0,333333333333333333 Показати точне значення
| ≈ 33,3333333333333333 Показати точне значення
| 0,5 Показати точне значення
| 50 Показати точне значення
|
| Сума ваг · Без одиниці | 1 Показати точне значення
| 1 Показати точне значення
| |||
| Сума добутків ціни на вагу · USD | 100 Показати точне значення
| 102,5 Показати точне значення
| |||
Сума внесків дорівнює середньому, показаному для цього рядка.
Основний показ містить до 18 значущих цифр. Знак ≈ означає скорочений або нескінченний десятковий запис. Точні дроби та повні скінченні десяткові значення доступні під кожним числом і в CSV; показані округлення не використовуються в обчисленні.
Еталонні файли й протокол перевірки
Статичні файли описують фіксований приклад, а не поточне введення. CSV початкових цін має заголовок: копіюйте у форму лише значення, по одному на рядок. Імпорту CSV немає.
Вставте по одній ціні на рядок, від найдавнішої, без заголовка. Десятковим роздільником може бути крапка або кома, але кома не розділяє спостереження: 100,5 — одне значення. Не вставляйте CSV-таблицю, символи валют, роздільники тисяч або експоненційний запис. Завантажуваний CSV із вхідними даними містить заголовок і контрольні ціни; у форму копіюйте лише комірки з цінами. Це поле не імпортує CSV.
Допускаються 1–240 додатних цін, кожна не більша за 1 000 000 000, із максимум 12 знаками після десяткового роздільника. Ліміт рядка — 80 символів, усього введення — 20 000. Один кінцевий перенос рядка дозволений. Порожні рядки на початку або всередині спричиняють помилку: пропущене спостереження не можна непомітно вилучити. Нуль, від’ємні значення, нескінченні значення та некоректний запис відхиляються.
Виберіть ціле N від 1 до кількості цін, позначення одиниці завдовжки 1–24 символи та один із двох способів початкового задання EMA. Позначення має починатися з літери або цифри; далі дозволені літери, цифри, пробіли й . _ - /. Воно позначає дані й не конвертує валюти. Після розрахунку ви побачите SMA й обидва ряди EMA; вибрана EMA використовується на графіку та в розборі ваг.
Зміна цін, N, одиниці або початкового задання приховує попередній результат і його CSV до нового розрахунку. Вибір іншого рядка для перегляду лише перемикає вже розраховані дані й не стирає результат. Контрольний, сталий і імпульсний набори є синтетичними прикладами, а не рекомендованими параметрами чи перевіреними стратегіями.
У всіх обчисленнях зберігаються точні дроби. Періодичні десяткові дроби та скорочені для показу значення позначено як наближені; відображення використовує 18 значущих цифр і не повертає округлені числа в рекурентну формулу. Коли потрібні додаткові знаки, зверніться до точного експорту. Повна контрольна таблиця та статичний CSV розрахунку доступні без JavaScript, як і CSV вхідних даних та протокол перевірки.
Компонент зберігає введене лише в пам’яті сторінки, не надсилає його на сервер і не записує у постійне сховище. Загальносайтова аналітика працює окремо. Без JavaScript інтерактивні елементи вимкнені, але повний фіксований приклад і завантаження залишаються доступними.
Звірте SMA та EMA в Excel або іншій електронній таблиці
Розмістіть п’ять контрольних цін у B2:B6, від найдавнішої. У H2 введіть 3 — це N; у H3 введіть =2/(H2+1) для α. Стовпець C призначте для SMA, D — для EMA від початкової SMA, E — для EMA від першої ціни. Перші дві комірки в C і D залиште порожніми: нулі створили б неіснуючі середні.
Комірка або діапазон | Формула або дія | Очікуваний результат |
|---|---|---|
C4 | =SUM(B2:B4)/$H$2 | 100 |
C5 | =SUM(B3:B5)/$H$2 | 310/3 |
C6 | =SUM(B4:B6)/$H$2 | 100 |
D4 | =C4 | 100 |
D5 | =$H$3*B5+(1-$H$3)*D4 | 105 |
D6 | =$H$3*B6+(1-$H$3)*D5 | 102,5 |
E2 | =B2 | 100 |
E3 | =$H$3*B3+(1-$H$3)*E2; протягніть до E6 | E6 = 101,875 |
F6 | =D6-E6 | 0,625 USD |
Прокрутіть убік, щоб порівняти всі стовпці ↔
За іншого N перенесіть першу повну SMA та початкову EMA в рядок із N-ю ціною, потім продовжуйте за тією самою логікою. Не можна лише змінити H2 і залишити три ціни у вікні формул. Довжина вікна, перший доступний рядок і діапазон початкової SMA мають відповідати N.
SUM тут наведено англійською; ваша програма може використовувати локалізовану назву функції. Десятковий роздільник також залежить від мовних налаштувань. Посилання на комірки й арифметичний зміст залишаються такими самими. Відділяйте форматування від обчислення: не додавайте ROUND на кожному кроці. Звичайні електронні таблиці мають скінченну числову точність, тому останні показані цифри можуть відрізнятися від точного дробу довільної довжини.
У файлах точні чисельники та знаменники відокремлено від десяткового відображення. Імпортуйте поля з точними дробами та довгими цілими числами як текст, щоб уникнути перетворення на дати або втрати цифр. Змістовна перевірка — це збіг контрольних значень, сум ваг і зважених сум. Самого скриншота округленого графіка недостатньо для відтворення обчислення.
Дослідіть розбіжність, не вигадуючи відсутню історію
Порівнюйте з найранішого рядка, у якому обидва розрахунки мають значення. Якщо ціни збігаються, але EMA різні вже в початковій точці, спершу зафіксуйте цю відмінність. За однакового α та однакових наступних цін наявна різниця на кожному кроці множиться на β. Це пояснює поступове зближення, але не дає підстав стверджувати, що невідоме початкове значення відновлено.
- Різна історія: перша вставлена ціна може бути значно пізнішою за першу ціну іншої системи. Запишіть, яких попередніх даних або попередньої EMA бракує.
- Різна ціна закриття: перевірте визначення bid, ask, останньої угоди або іншого джерела, не вважаючи всі поля close однаковими.
- Різні періоди: звірте часовий пояс, торгову сесію, межі агрегування та завершеність кожного періоду.
- Скориговані дані: зафіксуйте правила коригування там, де вони застосовуються; не змішуйте скориговану й нескориговану історію.
- Різна методика: підтвердьте N, множник, початкове значення та проміжне округлення. Назва EMA 3 не визначає цих умов.
Гайд із бектестингу розглядає окрему задачу: використання інформації лише після того, як вона стала доступною. Тут перевіряється вужче питання: пізніша ціна не має змінювати вже розраховану попередню середню. Калькулятор не моделює заявки, не оцінює стратегію і не перевіряє історичний потік термінала.
У завантажуваному протоколі збережіть джерело, визначення ціни, одиницю, інтервал, сесію, охоплений діапазон періодів, початкове значення та невирішені питання. Якщо історія або правило недоступні, зазначте прогалину, а не підганяйте числа до випадкового збігу округлених результатів.
Тлумачте результат у межах його можливостей
У рядку 5 прикладу з N = 3 найновіша ціна має вагу 1/2 в обох EMA, а в SMA — 1/3. Це пояснює одну конкретну відмінність у зважуванні. EMA також зберігає спадні внески попередньої історії, тоді як SMA відкидає спостереження поза поточним вікном. Самі ці визначення не встановлюють універсально кращого періоду чи прибуткового перетину.
Оскільки ваги тут невід’ємні й у сумі дорівнюють одиниці, середня лежить у межах цін, які роблять у неї внесок. Сталий додатний ряд дає те саме стале значення, щойно метод стає доступним. Множення всіх цін на додатний коефіцієнт множить усі доступні середні на нього ж; додавання сталої зсуває їх на цю сталу, якщо нові дані залишаються в допустимих межах.
Ковзна середня згладжує рівні цін. Вона не вимірює розсіювання цінових змін — це окрема задача з гайда про волатильність Forex. Ані графік, ані синтетичний імпульсний приклад не вимірюють торговий ризик, не прогнозують наступне закриття та не рекомендують вхід або вихід.
Відтворюваний результат — це запис розрахунку: точні вхідні дані й правила, доступні SMA та EMA, ваги вибраного рядка та перелік відсутніх доказів. Точна арифметика встановлює наслідки заданих чисел. Вона не доводить, що числа відповідають певній платформі або що індикатор має прогнозну цінність.
Поширені запитання
Чи використовує EMA лише останні N цін?
Ні, за винятком N = 1. Тут N визначає α = 2/(N + 1). За N > 1 давніші спостереження після початкового задання далі впливають зі спадними вагами. SMA використовує лише поточне вікно з N цін. За N = 1 обидва методи використовують тільки поточну ціну.
Чому одна EMA може починатися раніше за SMA?
Для початку з першої ціни достатньо p₁, тому значення доступне в рядку 1. Для початку з SMA потрібні N цін, тож він з’являється в рядку N. Ранні недоступні значення не дорівнюють нулю.
Яке початкове значення EMA правильне?
Обидва варіанти є явно визначеними розрахунками. Для звірки використовуйте правило та історію перевірюваного ряду, коли вони відомі. Цей матеріал не встановлює універсального початку для всіх платформ і не обирає кращий торговий індикатор.
Чи можна видалити порожні рядки перед вставленням?
Лише після з’ясування їхнього змісту у джерелі. Пропущений період не є звичайною прогалиною форматування. Калькулятор відхиляє порожні рядки на початку й усередині, а не стискає час непомітно й не вставляє нулі; один кінцевий перенос дозволений.
Чи потрібно округлювати кожне оновлення EMA в Excel?
Не для порівняння з цією точною моделлю. Зберігайте доступну програмі точність проміжних обчислень і форматуйте фінальне відображення. Якщо інша система навмисно округлює кожен крок, зафіксуйте це як окреме правило.
Чи буде результат точно таким, як у торговій платформі?
Таке очікування обґрунтоване лише за однакових даних і правил. Спочатку перевірте історію, визначення ціни закриття, межі сесій, N, початкове значення та округлення. Калькулятор не отримує даних платформи й не засвідчує збігу з нею.
Джерела та матеріали
- TradingView — Exponential Moving AverageПеревірено