EMA Ribbon 8/21/55 — stratégie Pine Script v5
Ce script calcule trois moyennes mobiles exponentielles sur la clôture et n'achète que lorsqu'elles sont empilées dans le bon ordre. Il ferme la position quand la moyenne rapide repasse sous la moyenne médiane.
Code complet (gratuit, à copier)
//@version=5
strategy("EMA Ribbon", overlay=true)
ema1 = ta.ema(close, 8)
ema2 = ta.ema(close, 21)
ema3 = ta.ema(close, 55)
if (ema1 > ema2 and ema2 > ema3)
strategy.entry("Long", strategy.long)
if (ema1 < ema2)
strategy.close("Long")Comment fonctionne le script
Les premières lignes calculent trois moyennes mobiles exponentielles sur la clôture : ta.ema(close, 8), ta.ema(close, 21) et ta.ema(close, 55), rangées dans ema1, ema2 et ema3. Le script s'exécute à chaque bougie, donc chaque valeur est mise à jour à la clôture de cette bougie. Ces trois séries sont les seules entrées de la règle : ni volume, ni autre indicateur, ni données d'unité de temps supérieure.
Le bloc d'entrée teste ema1 > ema2 and ema2 > ema3, c'est-à-dire que la moyenne rapide est au-dessus de la médiane et la médiane au-dessus de la lente. Quand les deux comparaisons sont vraies sur une bougie, le script appelle strategy.entry avec l'identifiant Long et la direction strategy.long. L'ordre part à l'ouverture de la bougie suivante, et le pyramiding par défaut ne garde qu'une position longue.
Le bloc de sortie ne teste qu'une condition : ema1 < ema2. Dès que l'EMA rapide passe sous l'EMA médiane, strategy.close est appelé avec l'identifiant Long et la position est fermée. Le test ne demande pas que ema2 soit au-dessus de ema3, donc la sortie peut se déclencher alors que les trois moyennes restent ordonnées. Le script ne code ni stop loss, ni take profit, ni vente à découvert.
Paramètres du code
| Paramètre | Valeur | Rôle |
|---|---|---|
ema1 | ta.ema(close, 8) | Moyenne mobile exponentielle rapide sur la clôture, première série comparée dans les deux blocs. |
ema2 | ta.ema(close, 21) | Moyenne médiane, elle doit rester sous ema1 pour autoriser l'entrée et au-dessus pour autoriser la sortie. |
ema3 | ta.ema(close, 55) | Moyenne lente, elle ne participe qu'au filtre d'entrée. |
condition d'entrée | ema1 > ema2 and ema2 > ema3 | Les deux comparaisons doivent être vraies sur la même bougie avant l'envoi d'un ordre. |
ordre d'entrée | strategy.entry("Long", strategy.long) | Envoie un ordre au marché long avec l'identifiant Long tant que l'alignement tient. |
condition de sortie | ema1 < ema2 | Ferme la position longue dès que la moyenne rapide croise sous la médiane. |
ordre de sortie | strategy.close("Long") | Ferme la position rattachée à l'identifiant Long, à l'ouverture de la bougie suivante par défaut. |
overlay | true | La stratégie est dessinée sur le graphique des prix et non dans un panneau séparé. |
stop loss et take profit | aucun | Aucune sortie de risque n'est codée ; la seule sortie est la condition EMA. |
vente à découvert | aucune | Aucune entrée short n'est codée, la stratégie est uniquement acheteuse. |
Limites connues de cette règle
- Tout est évalué à la clôture de la bougie, donc un mouvement qui se retourne avant la fin de la bougie n'est pas vu et les entrées comme les sorties arrivent après le retournement.
- En range, les trois moyennes s'aplatissent et se croisent à répétition, ce qui produit des entrées au milieu du range puis des sorties rapides dès que la moyenne rapide repasse dessous.
- Les commissions, le spread et le glissement ne sont pas modélisés dans le script et aucun stop loss n'est défini, donc un backtest brut est plus flatteur qu'un compte réel.
Avant de lui faire confiance : testez-la sur des données jamais vues
Un backtest dans le Strategy Tester de TradingView montre un seul chemin passé, avec les réglages que vous avez choisis. Strategy Arena Lab (gratuite, Windows et Linux) rejoue ce Pine sur votre PC, compare ses trades un par un à ceux de TradingView pour le Pine pris en charge, compte les variantes essayées, puis juge la règle sur une période restée scellée pendant la recherche : résiste, mirage ou non concluant.
FAQ
Est-ce que ça marche sur les cryptos ?
Le code ne lit que la clôture et la fonction ta.ema, il peut donc s'appliquer aux paires crypto, au forex ou aux indices sur n'importe quelle unité de temps. Le comportement varie selon le marché, et vous pouvez le rejouer sur une période jamais vue dans Strategy Arena Lab, qui est gratuite.
Comment ajouter un stop loss ?
Le script n'a pas de stop : la seule sortie est ema1 < ema2. Vous pouvez ajouter strategy.exit("Exit", "Long", stop=...) après l'appel d'entrée, ou ajouter une seconde condition de fermeture dans le bloc de sortie existant.
Autres stratégies Pine Script v5 gratuites
Autres parcours TradingView
Code pédagogique sur données passées. Aucun conseil d’investissement, aucun résultat promis.