Индикатор ATR %: формула, настройки и чтение
ATR % — средний истинный диапазон Уайлдера, делённый на текущее закрытие и выраженный в процентах; это делает волатильность от бара к бару сопоставимой между инструментами с очень разными уровнями цены. Senzoukria строит его в отдельной панели, по умолчанию со средним Уайлдера за 14 периодов.
Senzoukria · Индикаторы · Updated September 2026
ATR % — Волатильность, в отдельной панели под графиком.
Что измеряет ATR %
Истинный диапазон каждого бара — наибольшее из трёх расстояний: его собственный максимум минус минимум, разрыв между максимумом и предыдущим закрытием и разрыв между минимумом и предыдущим закрытием, так что ночное движение между барами учитывается, а не игнорируется. У самого первого бара загруженной истории предшественника нет, поэтому его истинный диапазон — просто его размах. Истинные диапазоны сглаживаются рекурсией Уайлдера, стартующей со среднего арифметического первых N значений, затем делятся на закрытие бара и умножаются на 100. Значение 0,35 означает, что средний бар проходит примерно треть процента цены, будь то MNQ или 6E. Пока среднее прогревается, ряд ничего не возвращает — как и при закрытии, равном нулю или ниже, потому что процент от неположительной базы не является шкалой.
Формула — так, как она реализована
Это не привычное определение из других источников, а то, что вычисляет поставляемый код, задокументированное рядом с реализацией:
True Range de Wilder : TR[0] = high − low ; TR[i] = max(high − low, |high − closeₚ|, |low − closeₚ|). */ function trueRanges(bars: readonly FootprintBar[]): number[] { const tr: number[] = new Array(bars.length); for (let i = 0; i < bars.length; i++) { const b = bars[i]; if (i === 0) { tr[i] = b.high - b.low; } else { const pc = bars[i - 1].close; tr[i] = Math.max( b.high - b.low, Math.abs(b.high - pc), Math.abs(b.low - pc), ); } } return tr; } /** ATR de Wilder (1978) : graine = moyenne des N premiers TR, puis ATR[i] = (ATR[i−1]·(N−1) + TR[i]) / N. Warm-up (< N barres) → null. Même récurrence que `atrSeries` d'averages.ts — recopiée pour que la famille reste autonome pendant la migration (cf. note d'en-tête). */ function wilderAtr( bars: readonly FootprintBar[], period: number, ): Array<number | null> { const n = Math.max(1, Math.floor(period)); const out: Array<number | null> = new Array(bars.length).fill(null); if (bars.length < n) return out; const tr = trueRanges(bars); let atr = 0; for (let i = 0; i < n; i++) atr += tr[i]; atr /= n; out[n - 1] = atr; for (let i = n; i < bars.length; i++) { atr = (atr * (n - 1) + tr[i]) / n; out[i] = atr; } return out; } /** σ de POPULATION fenêtré (÷N — la convention Bollinger, parité TradingView/ATAS). Two-pass autour de la moyenne de fenêtre (stabilité numérique, cf. en-tête). Warm-up (< N échantillons) → null. */ function stdPopSeries( values: readonly number[], period: number, ): Array<number | null> { const n = Math.max(1, Math.floor(period)); const means = smaSeries(values, n); const out: Array<number | null> = new Array(values.length).fill(null); for (let i = n - 1; i < values.length; i++) { const m = means[i]; if (m === null) continue; let acc = 0; for (let j = i - n + 1; j <= i; j++) { const d = values[j] - m; acc += d * d; } out[i] = Math.sqrt(acc / n); } return out; } // ── Defs ──────────────────────────────────────────────────────────────────── /** ATR % : ATR_N / close × 100 — l'ATR normalisé par le prix, comparable d'un instrument à l'autre (MNQ vs 6E). Même lissage Wilder que `atr`, défaut N=14. close ≤ 0 → null (pas d'échelle honnête) ; warm-up → null.
Как его читать
- Растущий ATR % означает, что каждый бар проходит больше относительно цены; падающая линия — что диапазоны сужаются, даже если цена продолжает двигаться.
- Поскольку значение нормировано на цену, одно и то же число на двух символах описывает сопоставимое движение — именно это позволяет использовать его для расчёта объёма позиции по разным инструментам.
- У меры нет направления: расширение от низкого плато читается одинаково, расширились ли диапазоны на росте или на падении.
- Сравнивайте текущее значение с тем же временем суток в предыдущих сессиях, а не с абсолютным порогом: у открытия и периода ролловера свой нормальный уровень.
- Один аномально большой бар среднее Уайлдера распределяет на N баров, поэтому видимая ступенька линии меньше вызвавшего её бара.
Параметры и значения по умолчанию
Период по умолчанию — 14, исходный выбор Уайлдера; он задаёт и стартовое среднее, и вес каждого нового истинного диапазона. Допустимо от 1 до 200: короткое значение, например 5, реагирует за несколько баров и шумнее, а 50 и более превращает линию в медленную меру режима. При минимуме 1 выход сводится к сырому истинному диапазону, делённому на закрытие.
| Параметр | Тип | По умолчанию | Диапазон |
|---|---|---|---|
| Period | number | 14 | 1 – 200 |
Чего он не показывает
ATR % говорит, насколько сдвинулся бар, но никогда — в какую сторону и кто его сдвинул: два бара с одинаковым диапазоном могут нести противоположную дельту и противоположный исход. Сглаживание Уайлдера по построению запаздывает, поэтому смена режима проявляется постепенно, примерно за N баров. В тонких сессиях диапазоны сужаются, потому что сделок мало, и показание снижается, хотя рынок на деле не успокоился. Знаменатель — закрытие самого бара, поэтому процент слегка дрейфует при тренде цены, даже когда абсолютный диапазон не меняется.
Похожие индикаторы
- True Range — Волатильность
- Std Dev — Волатильность
- Squeeze — Волатильность
- Chaikin Volatility — Волатильность
- Realized Vol — Волатильность
- Skewness — Волатильность
Эта страница на других языках
Frequently asked questions
- Чем ATR отличается от ATR %?
- ATR выражен в ценовых единицах инструмента, поэтому 12 пунктов на одном контракте нельзя сравнить с 12 пунктами на другом. ATR % делит то же среднее Уайлдера на текущее закрытие и умножает на 100, получая безразмерную величину. Сглаживание и определение истинного диапазона идентичны; меняется только шкала.
- Почему в начале графика ATR % пуст?
- Среднее Уайлдера стартует со среднего первых N истинных диапазонов, поэтому до загрузки N баров значения нет. Для этих баров индикатор ничего не возвращает, а не рисует частичное среднее по неполной выборке. С периодом по умолчанию 14 линия начинается на четырнадцатом баре.
- Можно ли сравнивать ATR % между фьючерсным и крипто-графиком?
- Процентная форма убирает разницу уровней цены, так что числа оказываются на одной шкале. Не переносится торговый контекст: часы сессий, ликвидность и состав баров различаются, а крипто-символы в Senzoukria — только для анализа, без маршрутизации ордеров. Сравнивайте уровни в схожих условиях ликвидности, а не тихое ночное окно с открытием основной сессии.