OPEN-SOURCE SCRIPT

[SSS] ATR x Trend x Volume Signals

1 199
# ATR x Trend x Volume Signals

---

## ENGLISH

ATR x Trend x Volume Signals is a multi-factor, non-repainting indicator that combines volatility structure, trend direction, and volume expansion into a single decision-support framework. It is primarily designed for futures trading on the Moscow Exchange (MOEX), but can be adapted to any instrument with sufficient volume data. It is built for traders who rely on technical confluence and prefer clear, rule-based setups with built-in position sizing.

🎯 **Purpose**

This tool identifies high-probability moments when three independent analytical layers — ATR-based volatility, CCI-driven higher-timeframe trend, and statistical volume analysis — all align. It helps filter out market noise and focus attention on clean, actionable conditions.

⚙️ **Structure**

The indicator consists of three core analytical layers plus supporting modules:

1️⃣ **ATR Trailing Stop (Dual Layer)** — Two adaptive ATR trailing lines (fast and slow) define the volatility envelope. The fast trail (optional display) responds quickly to price changes, while the slow trail acts as the primary trend filter and dynamic stop-loss reference. When the fast trail is above the slow trail, the structure is bullish (green); otherwise bearish (red).

2️⃣ **Trend Indicator (CCI + ATR, Higher Timeframe)** — A CCI-based directional filter combined with ATR smoothing, calculated on a user-defined higher timeframe. It determines the dominant trend and reduces false signal flips. The indicator uses a confirmed-bar anti-repaint pattern (`[1]` + `lookahead_on`) to ensure values are locked to the last closed HTF bar and never change retroactively.

3️⃣ **Volume Analysis (Statistical Deviation)** — Volume is evaluated against its historical moving average using standard deviation bands. Bars are classified into three tiers:
- 🟡 Medium volume (> 1.0 σ)
- 🟠 High volume (> 2.5 σ)
- 🔴 Extra-high volume (> 4.0 σ)

All thresholds are fully configurable.

💡 **Signal Logic**

A **Buy Signal** 🟢 appears when ALL of the following conditions are met simultaneously:
- The ATR structure is bullish (fast trail > slow trail).
- The Trend Indicator is blue (CCI ≥ 0 on the higher timeframe).
- A bullish candle closes above both the slow ATR trail and the Trend Indicator line.
- The bar shows at least medium volume (≥ 1.0 σ above average).
- The current bar is within the user-defined trading session.

A **Sell Signal** 🔴 appears when:
- The ATR structure is bearish (fast trail < slow trail).
- The Trend Indicator is red (CCI < 0 on the higher timeframe).
- A bearish candle closes below both the slow ATR trail and the Trend Indicator line.
- The bar shows at least medium volume (≥ 1.0 σ above average).
- The current bar is within the user-defined trading session.

**One signal per ATR phase:** Only one Buy or Sell signal can fire per ATR trend cycle. A new signal is generated only after the ATR direction changes and all conditions re-align.

❌ **Exit Logic**

Exit markers (cross symbols) appear when price crosses the slow ATR trailing line after an entry. This simulates a trailing-stop exit. The exit is suppressed on the entry bar itself to prevent same-bar false exits. A small percentage offset (0.07%) is applied to reduce noise-triggered exits.

⏰ **Session Filter**

Signals are generated only between user-defined start and end times (default: 14:00–18:00 chart time). This allows traders to restrict signal generation to their preferred active trading hours. Additionally, the chart background can be colored to visually separate session zones:
- 🟦 Cold session (default 00:00–14:00)
- 🟩 Work session (default 14:00–18:00)
- 🟥 Hot session (default 18:00–23:59)

📐 **Position Sizing Module**

A built-in position sizing table (bottom-right corner) calculates in real time:
- Risk amount in account currency based on account capital and risk percentage.
- Effective stop distance = ATR stop % + user-defined buffer %.
- Number of contracts (rounded down to whole number).
- Actual risk in currency and as percentage of account.
- Separate row for the last signal's position size at the moment of signal occurrence.

All parameters (account capital, point value, risk %, ATR buffer %) are configurable via inputs.

📊 **ATR TP Table**

A second table (bottom-left corner) displays the current ATR percentage distance from the close to the slow trail, along with calculated take-profit levels at 0.5×, 1×, 1.5×, 2×, and 3× the ATR distance. Each TP level can be individually shown or hidden.

🔔 **Alerts**

The indicator supports TradingView alerts for Buy and Sell signals. Each alert message includes: entry price, stop-loss price, ATR stop %, effective stop (ATR + buffer) %, position size in contracts, and all five TP levels.

🛡️ **Non-Repainting Design**

- The Trend Indicator uses the standard Pine Script anti-repaint pattern: `request.security()` with `lookahead = barmerge.lookahead_on` combined with `[1]` offset, ensuring only confirmed (closed) HTF bar data is used.
- All signals are evaluated at bar close (`alert.freq_once_per_bar_close`).
- No future data is referenced at any point.

🧠 **Key Features**
- Dual ATR trailing stop (fast + slow) for volatility structure
- CCI-based higher-timeframe trend filtering (non-repainting)
- Statistical volume deviation heatmap (3 tiers)
- Session-restricted signal generation with visual background zones
- Dynamic trailing-stop exit system
- Built-in position sizing calculator with ATR buffer
- Multi-level take-profit reference table
- Alert-ready with full trade context
- Fully configurable inputs
- Pine Script v6

📈 **Usage Tips**

- For best results, set the Trend Indicator timeframe higher than the chart timeframe (e.g., chart on 1 min → Trend Indicator on 15 min; chart on 5 min → Trend Indicator on 1 hour).
- Combine with support/resistance levels, market structure, or higher-timeframe confirmation for additional context.
- Adjust volume thresholds based on the instrument's typical volume profile.
- Use the position sizing table to maintain consistent risk management across trades.

🔧 **Configurable Parameters**

Almost every aspect of the indicator can be customized through the Settings/Inputs panel:

*ATR Trailing Stop:* Fast ATR Period and Multiplier, Slow ATR Period and Multiplier, option to show/hide the fast trail line.
*Trend Indicator:* Higher timeframe selection, CCI Period, ATR Multiplier and Period for the trend calculation, option to show/hide.
*Volume Analysis:* MA Length, StdDev Length, and three threshold levels (Medium, High, Extra-High) — adjust these to match the volume profile of your instrument. Option to show/hide bar coloring.
*Session Filter:* Signal Start/End time, three session zones (Cold/Work/Hot) with independent start/end times and background colors — all customizable to your exchange schedule.
*Position Sizing:* Account Capital (RUB), Point Value (RUB), Risk per Trade (%), ATR Buffer (%) — these drive the real-time position sizing table.
*TP Table:* Each take-profit level (TP0.5, TP1, TP1.5, TP2, TP3) can be individually shown or hidden. Text size for both tables is selectable.

This flexibility allows the indicator to be tuned for different instruments, timeframes, and trading styles without modifying the code.

💰 **Recommended Risk and Money Management**

It is strongly recommended to use a structured risk and money management system with multi-step exits:

*Risk per trade:* 1% of account capital. The built-in position sizing module calculates the exact number of contracts for this risk level automatically.

*Multi-step exit system:*
- **0.5R reached** — move the stop-loss to breakeven (entry price). This eliminates the risk on the trade.
- **1R reached** — close half of the position to lock in profit. For the remaining half, choose one of two approaches depending on the results of your own backtesting: either trail the stop using the slow ATR line, or hold for a fixed R-multiple target (e.g., 1.5R, 2R, or 3R).

The TP table on the chart displays all these R-levels in real time, making it easy to plan exits visually. Past performance does not guarantee future results — always validate any exit strategy with your own backtesting before trading live.

📈 **Credits**

Inspired by:
- ATR Trailing Stop by Ceyhun
- Trend Magic by Kivanc Ozbilgic
- Heatmap Volume by xdecow

---

## РУССКИЙ

ATR x Trend x Volume Signals — это мультифакторный индикатор без перерисовки, объединяющий анализ волатильности, направления тренда и объёма в единую систему принятия решений. Индикатор предназначен в первую очередь для торговли фьючерсами на Московской бирже (MOEX), но может быть адаптирован для любого инструмента с достаточными данными по объёму. Создан для трейдеров, использующих техническую конфлюэнцию и предпочитающих чёткие, основанные на правилах торговые сетапы со встроенным расчётом позиции.

🎯 **Назначение**

Инструмент определяет моменты высокой вероятности, когда три независимых аналитических слоя — волатильность на основе ATR, тренд на старшем таймфрейме через CCI и статистический анализ объёма — совпадают одновременно. Это помогает отфильтровать рыночный шум и сосредоточиться на чистых, пригодных для торговли условиях.

⚙️ **Структура**

Индикатор состоит из трёх основных аналитических слоёв и вспомогательных модулей:

1️⃣ **ATR Trailing Stop (двойной)** — Две адаптивные линии ATR (быстрая и медленная) формируют контур волатильности. Быстрая линия (отображение опционально) реагирует на цену оперативно, медленная служит основным трендовым фильтром и динамическим уровнем стоп-лосса. Когда быстрая линия выше медленной — структура бычья (зелёная), иначе — медвежья (красная).

2️⃣ **Trend Indicator (CCI + ATR, старший таймфрейм)** — Направленный фильтр на основе CCI в сочетании со сглаживанием ATR, рассчитываемый на заданном пользователем старшем таймфрейме. Определяет доминирующий тренд и снижает ложные переключения. Используется стандартный анти-репейнт паттерн Pine Script (`[1]` + `lookahead_on`), что гарантирует использование только данных последнего закрытого бара старшего ТФ без ретроспективных изменений.

3️⃣ **Анализ объёма (статистическое отклонение)** — Объём оценивается относительно исторического среднего с помощью стандартного отклонения. Бары классифицируются на три уровня:
- 🟡 Средний объём (> 1.0 σ)
- 🟠 Высокий объём (> 2.5 σ)
- 🔴 Сверхвысокий объём (> 4.0 σ)

Все пороги полностью настраиваемы.

💡 **Логика сигналов**

**Сигнал на покупку** 🟢 появляется при одновременном выполнении ВСЕХ условий:
- Структура ATR бычья (быстрая линия > медленной).
- Trend Indicator синий (CCI ≥ 0 на старшем таймфрейме).
- Бычья свеча закрывается выше медленной линии ATR и линии Trend Indicator.
- Бар показывает как минимум средний объём (≥ 1.0 σ выше среднего).
- Текущий бар находится в пределах заданной торговой сессии.

**Сигнал на продажу** 🔴 появляется при:
- Структура ATR медвежья (быстрая линия < медленной).
- Trend Indicator красный (CCI < 0 на старшем таймфрейме).
- Медвежья свеча закрывается ниже медленной линии ATR и линии Trend Indicator.
- Бар показывает как минимум средний объём (≥ 1.0 σ выше среднего).
- Текущий бар находится в пределах заданной торговой сессии.

**Один сигнал за фазу ATR:** Только один Buy или Sell сигнал может сработать за один цикл тренда ATR. Новый сигнал генерируется только после смены направления ATR и повторного совпадения всех условий.

❌ **Логика выхода**

Маркеры выхода (крестики) появляются при пересечении ценой медленной линии ATR после входа. Это имитирует выход по трейлинг-стопу. Выход подавляется на баре входа для предотвращения ложных закрытий. Применяется небольшой процентный отступ (0.07%) для снижения шумовых срабатываний.

⏰ **Фильтр по сессиям**

Сигналы генерируются только в пределах заданного временного окна (по умолчанию: 14:00–18:00 по времени графика). Это позволяет ограничить генерацию сигналов активными торговыми часами. Дополнительно фон графика может окрашиваться для визуального разделения сессий:
- 🟦 Холодная сессия (по умолчанию 00:00–14:00)
- 🟩 Рабочая сессия (по умолчанию 14:00–18:00)
- 🟥 Горячая сессия (по умолчанию 18:00–23:59)

📐 **Модуль расчёта позиции**

Встроенная таблица расчёта позиции (правый нижний угол) рассчитывает в реальном времени:
- Сумму риска в валюте счёта на основе капитала и процента риска.
- Эффективное расстояние до стопа = ATR стоп % + пользовательский буфер %.
- Количество контрактов (округление вниз до целого числа).
- Фактический риск в валюте и в процентах от счёта.
- Отдельная строка с размером позиции последнего сигнала на момент его возникновения.

Все параметры (капитал, стоимость пункта, % риска, буфер ATR) настраиваются через входные данные.

📊 **Таблица ATR TP**

Вторая таблица (левый нижний угол) отображает текущее процентное расстояние ATR от цены закрытия до медленной линии, а также рассчитанные уровни тейк-профита: 0.5×, 1×, 1.5×, 2× и 3× от ATR-расстояния. Каждый уровень TP можно включить или скрыть индивидуально.

🔔 **Алерты**

Индикатор поддерживает алерты TradingView для сигналов Buy и Sell. Каждое сообщение алерта содержит: цену входа, цену стоп-лосса, ATR стоп %, эффективный стоп (ATR + буфер) %, размер позиции в контрактах и все пять уровней TP.

🛡️ **Защита от перерисовки**

- Trend Indicator использует стандартный анти-репейнт паттерн Pine Script: `request.security()` с `lookahead = barmerge.lookahead_on` в сочетании со сдвигом `[1]`, что гарантирует использование только подтверждённых (закрытых) данных старшего ТФ.
- Все сигналы оцениваются на закрытии бара (`alert.freq_once_per_bar_close`).
- Будущие данные не используются ни в одном месте кода.

🧠 **Основные возможности**
- Двойной ATR trailing stop (быстрый + медленный) для структуры волатильности
- Трендовый фильтр на CCI со старшего таймфрейма (без перерисовки)
- Тепловая карта объёма по статистическому отклонению (3 уровня)
- Генерация сигналов с ограничением по сессии и визуальным фоном
- Динамическая система выхода по трейлинг-стопу
- Встроенный калькулятор размера позиции с ATR-буфером
- Многоуровневая справочная таблица тейк-профитов
- Готовые алерты с полным торговым контекстом
- Полностью настраиваемые параметры
- Pine Script v6

📈 **Рекомендации по использованию**

- Для лучших результатов устанавливайте таймфрейм Trend Indicator выше таймфрейма графика (например: график на 1 мин → Trend Indicator на 15 мин; график на 5 мин → Trend Indicator на 1 час).
- Комбинируйте с уровнями поддержки/сопротивления, рыночной структурой или подтверждением со старшего таймфрейма.
- Настраивайте пороги объёма в зависимости от типичного профиля объёма инструмента.
- Используйте таблицу расчёта позиции для поддержания последовательного управления рисками.

🔧 **Настраиваемые параметры**

Практически каждый аспект индикатора можно настроить через панель Настройки/Аргументы:

*ATR Trailing Stop:* Период и множитель быстрого ATR, период и множитель медленного ATR, возможность показать/скрыть быструю линию.
*Trend Indicator:* Выбор старшего таймфрейма, период CCI, множитель и период ATR для расчёта тренда, возможность показать/скрыть.
*Анализ объёма:* Длина MA, длина StdDev и три порога (средний, высокий, сверхвысокий) — настраивайте их под профиль объёма вашего инструмента. Возможность показать/скрыть окраску баров.
*Фильтр сессий:* Время начала/окончания сигналов, три зоны сессий (холодная/рабочая/горячая) с независимыми временами начала/окончания и цветами фона — всё настраивается под расписание вашей биржи.
*Расчёт позиции:* Капитал счёта (RUB), стоимость пункта (RUB), риск на сделку (%), буфер ATR (%) — эти параметры управляют таблицей расчёта позиции в реальном времени.
*Таблица TP:* Каждый уровень тейк-профита (TP0.5, TP1, TP1.5, TP2, TP3) можно индивидуально показать или скрыть. Размер текста обеих таблиц выбирается отдельно.

Эта гибкость позволяет адаптировать индикатор под различные инструменты, таймфреймы и торговые стили без изменения кода.

💰 **Рекомендуемый риск- и мани-менеджмент**

Настоятельно рекомендуется использовать структурированную систему управления рисками и капиталом с многоступенчатыми выходами:

*Риск на сделку:* 1% от капитала счёта. Встроенный модуль расчёта позиции автоматически вычисляет точное количество контрактов для этого уровня риска.

*Многоступенчатая система выходов:*
- **Достигнут 0.5R** — перевод стоп-лосса в безубыток (цена входа). Это полностью устраняет риск по сделке.
- **Достигнут 1R** — фиксация половины позиции для закрепления прибыли. Для оставшейся части выберите один из двух подходов в зависимости от результатов вашего собственного бэктеста: либо трейлинг стопа по медленной линии ATR, либо удержание до фиксированного R-мультипла (например, 1.5R, 2R или 3R).

Таблица TP на графике отображает все эти R-уровни в реальном времени, что позволяет визуально планировать выходы. Прошлые результаты не гарантируют будущих — всегда проверяйте любую стратегию выхода собственным бэктестом перед реальной торговлей.

📈 **Благодарности**

Создано на основе идей:
- ATR Trailing Stop — Ceyhun
- Trend Magic — Kivanc Ozbilgic
- Heatmap Volume — xdecow

Aviso legal

As informações e publicações não se destinam a ser, e não constituem, conselhos ou recomendações financeiras, de investimento, comerciais ou de outro tipo fornecidos ou endossados pela TradingView. Leia mais nos Termos de Uso.