RSI + EMA Combo — stratégie Pine Script v5
Ce script combine le RSI et une EMA 50 dans une seule règle d'entrée à la hausse. Il achète quand le RSI recroise au-dessus de 30 alors que le prix reste au-dessus de l'EMA, et ferme la position quand le RSI dépasse 70 ou que la clôture passe sous l'EMA.
Code complet (gratuit, à copier)
//@version=5
strategy("RSI + EMA Combo", overlay=true)
rsiVal = ta.rsi(close, 14)
ema50 = ta.ema(close, 50)
if (ta.crossover(rsiVal, 30) and close > ema50)
strategy.entry("Long", strategy.long)
if (rsiVal > 70 or close < ema50)
strategy.close("Long")Comment fonctionne le script
Le script calcule ta.rsi(close, 14) et ta.ema(close, 50) une fois par bougie et stocke les résultats dans rsiVal et ema50. Ces deux séries forment toute la couche indicateur : le RSI mesure l'évolution des clôtures sur 14 bougies, l'EMA lisse la clôture sur 50 bougies. La déclaration strategy() fixe overlay=true, donc les tracés se superposent au graphique de prix.
Le bloc if teste ensemble ta.crossover(rsiVal, 30) et close > ema50 avec l'opérateur and. ta.crossover n'est vrai que sur la bougie où le RSI passe de 30 ou moins à plus de 30 : un RSI déjà haut ne redéclenche donc rien. strategy.entry("Long", strategy.long) n'ouvre une position longue que si le croisement et le filtre EMA sont vrais en même temps.
Le second bloc if utilise or : il se déclenche si rsiVal > 70 ou si close < ema50. Une seule des deux conditions suffit, et le test est réévalué à chaque bougie où la position est ouverte. Si le test est vrai, strategy.close("Long") envoie un ordre au marché qui ferme la position longue. Aucun stop, objectif ou trailing n'existe ici : cette règle est la seule sortie.
Paramètres du code
| Paramètre | Valeur | Rôle |
|---|---|---|
Longueur du RSI | 14 | Second argument de ta.rsi(close, 14) ; nombre de bougies utilisées pour construire rsiVal. |
Longueur de l'EMA | 50 | Second argument de ta.ema(close, 50) ; longueur de lissage utilisée pour construire ema50. |
Seuil d'entrée du RSI | 30 | Niveau passé à ta.crossover(rsiVal, 30) ; l'entrée exige que le RSI passe de 30 ou moins à plus de 30. |
Filtre de tendance | close > ema50 | Seconde moitié de la condition d'entrée ; la clôture doit être strictement au-dessus de l'EMA sur la même bougie. |
Seuil de sortie du RSI | 70 | Première moitié de la condition de sortie ; rsiVal > 70 ferme la position. |
Condition de sortie EMA | close < ema50 | Seconde moitié de la condition de sortie, reliée au seuil RSI par l'opérateur or. |
overlay | true | Argument de strategy() ; le script s'affiche par-dessus le graphique de prix. |
Ordre d'entrée | strategy.entry("Long", strategy.long) | Ouvre une position longue sous l'identifiant d'ordre Long. |
Ordre de sortie | strategy.close("Long") | Ferme la position portant le même identifiant ; aucun prix stop ou limite n'est passé. |
Commission et glissement | not set | strategy() ne déclare ni commission_type ni slippage, les deux restent donc à leur valeur par défaut. |
Quantité | not set | strategy.entry n'a pas d'argument qty, la taille d'ordre par défaut de la stratégie est utilisée. |
Version | v5 | Le code déclare //@version=5 et utilise les fonctions ta.* de cette version. |
Limites connues de cette règle
- La règle ne prend que des positions longues : elle ignore les baisses qui surviennent hors position et ne tire rien d'un marché qui descend.
- Le croisement du RSI et le filtre EMA sont des conditions de momentum : dans un range, le RSI peut franchir le niveau plusieurs fois en quelques bougies et enchaîner entrées et sorties.
- La commission, le glissement, la taille d'ordre, le stop loss et l'objectif ne sont pas réglés dans le code, donc l'affichage du graphique ne tient pas compte des frais ni du risque par trade.
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 n'utilise que close, il peut donc tourner sur des paires crypto comme sur d'autres symboles. Le comportement change avec l'unité de temps, car les longueurs 14 et 50 restent fixes.
Comment ajouter un stop loss ?
Ajoutez un appel strategy.exit avec un argument stop, ou envoyez un prix de stop avec l'ordre de sortie. Vous pouvez ensuite rejouer la règle modifiée sur une période jamais vue dans Strategy Arena Lab, qui est gratuit.
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.