OPEN-SOURCE SCRIPT
Trend Follow - EMA200 + ATR Risk

**What this script does**
This indicator flags trend changes based on the price crossing a 200-period EMA, and displays an indicative risk level based on ATR (Average True Range) at each signal. The orange dotted markers represent a suggested risk distance (2x ATR by default) — a visual reference only; this script does not execute any trades.
**Why this approach**
The logic follows a simple principle: stay aligned with the underlying trend as long as price confirms it relative to a long moving average, rather than stacking multiple indicators in search of a "perfect" signal. A small parameter count reduces the risk of curve-fitting — a common pitfall in scripts that combine many filters.
**Validation methodology**
This mechanism was tested using a walk-forward approach: parameters were fixed on one period (2020-2023) and then evaluated without any adjustment on an unseen period (2024-2026), on BTC/USDT and ETH/USDT, 4H timeframe. Profit factor stayed above 1 across all four tested combinations (both assets, both periods). More complex approaches (multi-indicator combinations, volatility squeeze detection) were tested with the same protocol and rejected for failing to generalize — this elimination process led to this intentionally simple version.
**Limitations and disclaimer**
A positive historical test does not guarantee future performance — market conditions change. This script is a trend-reading aid, not a complete trading system or investment advice. The win rate of a trend-following approach is structurally low (many small losses offset by a few larger moves) — understand this before use. Always test and validate independently on your own market and timeframe before real use.
**Parameters**
- EMA Length (default 200): trend moving average length.
- ATR Length (default 14) and suggested risk distance (x ATR, default 2.0): configuration of the displayed risk level.
Open-source script under the Mozilla Public License 2.0.
**Ce que fait ce script**
Cet indicateur signale les changements de tendance à partir du croisement du prix avec une EMA200, et affiche un niveau de risque indicatif basé sur l'ATR (Average True Range) à chaque signal. Les points orange en pointillés représentent une distance de risque suggérée (2x ATR par défaut) — un repère visuel, pas un ordre automatique : ce script n'exécute aucune transaction.
**Pourquoi cette approche**
La logique repose sur un principe simple : suivre la tendance de fond tant qu'elle est confirmée par le prix au-dessus (ou en-dessous) d'une moyenne mobile longue, plutôt que d'empiler plusieurs indicateurs à la recherche d'un signal "parfait". Un nombre réduit de paramètres limite le risque de sur-optimisation (curve-fitting) — un piège fréquent des scripts combinant de nombreux filtres.
**Méthodologie de validation**
Ce mécanisme a été testé en walk-forward : les paramètres ont été fixés sur une période (2020-2023), puis évalués sans aucun ajustement sur une période non vue (2024-2026), sur BTC/USDT et ETH/USDT en 4H. Le facteur de profit est resté supérieur à 1 sur les quatre combinaisons testées (les deux actifs, les deux périodes). D'autres approches plus complexes (combinaisons d'indicateurs, détection de squeeze de volatilité) ont été testées avec le même protocole et rejetées car elles ne se généralisaient pas — c'est ce processus d'élimination qui a mené à cette version volontairement simple.
**Limites et avertissement**
Un test historique positif ne garantit aucune performance future — les conditions de marché évoluent. Ce script est un outil d'aide à la lecture de tendance, pas un système de trading complet ni un conseil en investissement. Le taux de trades gagnants d'une approche de suivi de tendance est structurellement bas (beaucoup de petites pertes compensées par quelques mouvements plus larges) : à comprendre avant toute utilisation. Testez et validez toujours par vous-même sur votre marché et votre horizon de temps avant un usage réel.
**Paramètres**
- EMA Length (200 par défaut) : longueur de la moyenne mobile de tendance.
- ATR Length (14 par défaut) et distance de risque suggérée (x ATR, 2.0 par défaut) : configuration du niveau de risque affiché.
Script open-source sous licence Mozilla Public License 2.0.
This indicator flags trend changes based on the price crossing a 200-period EMA, and displays an indicative risk level based on ATR (Average True Range) at each signal. The orange dotted markers represent a suggested risk distance (2x ATR by default) — a visual reference only; this script does not execute any trades.
**Why this approach**
The logic follows a simple principle: stay aligned with the underlying trend as long as price confirms it relative to a long moving average, rather than stacking multiple indicators in search of a "perfect" signal. A small parameter count reduces the risk of curve-fitting — a common pitfall in scripts that combine many filters.
**Validation methodology**
This mechanism was tested using a walk-forward approach: parameters were fixed on one period (2020-2023) and then evaluated without any adjustment on an unseen period (2024-2026), on BTC/USDT and ETH/USDT, 4H timeframe. Profit factor stayed above 1 across all four tested combinations (both assets, both periods). More complex approaches (multi-indicator combinations, volatility squeeze detection) were tested with the same protocol and rejected for failing to generalize — this elimination process led to this intentionally simple version.
**Limitations and disclaimer**
A positive historical test does not guarantee future performance — market conditions change. This script is a trend-reading aid, not a complete trading system or investment advice. The win rate of a trend-following approach is structurally low (many small losses offset by a few larger moves) — understand this before use. Always test and validate independently on your own market and timeframe before real use.
**Parameters**
- EMA Length (default 200): trend moving average length.
- ATR Length (default 14) and suggested risk distance (x ATR, default 2.0): configuration of the displayed risk level.
Open-source script under the Mozilla Public License 2.0.
**Ce que fait ce script**
Cet indicateur signale les changements de tendance à partir du croisement du prix avec une EMA200, et affiche un niveau de risque indicatif basé sur l'ATR (Average True Range) à chaque signal. Les points orange en pointillés représentent une distance de risque suggérée (2x ATR par défaut) — un repère visuel, pas un ordre automatique : ce script n'exécute aucune transaction.
**Pourquoi cette approche**
La logique repose sur un principe simple : suivre la tendance de fond tant qu'elle est confirmée par le prix au-dessus (ou en-dessous) d'une moyenne mobile longue, plutôt que d'empiler plusieurs indicateurs à la recherche d'un signal "parfait". Un nombre réduit de paramètres limite le risque de sur-optimisation (curve-fitting) — un piège fréquent des scripts combinant de nombreux filtres.
**Méthodologie de validation**
Ce mécanisme a été testé en walk-forward : les paramètres ont été fixés sur une période (2020-2023), puis évalués sans aucun ajustement sur une période non vue (2024-2026), sur BTC/USDT et ETH/USDT en 4H. Le facteur de profit est resté supérieur à 1 sur les quatre combinaisons testées (les deux actifs, les deux périodes). D'autres approches plus complexes (combinaisons d'indicateurs, détection de squeeze de volatilité) ont été testées avec le même protocole et rejetées car elles ne se généralisaient pas — c'est ce processus d'élimination qui a mené à cette version volontairement simple.
**Limites et avertissement**
Un test historique positif ne garantit aucune performance future — les conditions de marché évoluent. Ce script est un outil d'aide à la lecture de tendance, pas un système de trading complet ni un conseil en investissement. Le taux de trades gagnants d'une approche de suivi de tendance est structurellement bas (beaucoup de petites pertes compensées par quelques mouvements plus larges) : à comprendre avant toute utilisation. Testez et validez toujours par vous-même sur votre marché et votre horizon de temps avant un usage réel.
**Paramètres**
- EMA Length (200 par défaut) : longueur de la moyenne mobile de tendance.
- ATR Length (14 par défaut) et distance de risque suggérée (x ATR, 2.0 par défaut) : configuration du niveau de risque affiché.
Script open-source sous licence Mozilla Public License 2.0.
Скрипт с открытым кодом
В истинном духе TradingView, создатель этого скрипта сделал его открытым исходным кодом, чтобы трейдеры могли проверить и убедиться в его функциональности. Браво автору! Вы можете использовать его бесплатно, но помните, что перепубликация кода подчиняется нашим Правилам поведения.
Отказ от ответственности
Информация и публикации не предназначены для предоставления и не являются финансовыми, инвестиционными, торговыми или другими видами советов или рекомендаций, предоставленных или одобренных TradingView. Подробнее читайте в Условиях использования.
Скрипт с открытым кодом
В истинном духе TradingView, создатель этого скрипта сделал его открытым исходным кодом, чтобы трейдеры могли проверить и убедиться в его функциональности. Браво автору! Вы можете использовать его бесплатно, но помните, что перепубликация кода подчиняется нашим Правилам поведения.
Отказ от ответственности
Информация и публикации не предназначены для предоставления и не являются финансовыми, инвестиционными, торговыми или другими видами советов или рекомендаций, предоставленных или одобренных TradingView. Подробнее читайте в Условиях использования.