
La stratégie est une stratégie de négociation en ligne courte conçue spécialement pour les graphiques de 15 minutes, combinant le suivi de la tendance et la confirmation de la dynamique, tout en utilisant des niveaux d’arrêt et de stop dynamiques basés sur la volatilité du marché. L’idée centrale est d’identifier la direction de la tendance principale à l’aide de l’EMA (de 50), de la colonne MACD pour confirmer la direction de la dynamique, du RSI pour filtrer les conditions de survente et de survente et de l’ATR pour définir les positions de stop et de stop en fonction de la dynamique de la volatilité du marché.
Le principe de fonctionnement de la stratégie repose sur la synergie de plusieurs indicateurs techniques:
Identifier les tendances: Utilisation d’une moyenne mobile à 50 cycles (EMA) comme principal indicateur de tendance. Identifié comme tendance à la hausse lorsque le prix est au-dessus de l’EMA; identifié comme tendance à la baisse lorsque le prix est en dessous de l’EMA.
Confirmation du moteurLe MACD Histogramme détermine la dynamique des prix. Les valeurs positives représentent la dynamique ascendante et les valeurs négatives la dynamique descendante. L’indicateur est calculé par la ligne rapide (12 cycles), la ligne lente (26 cycles) et la ligne de signal (9 cycles).
Filtre sur l’état du marchéLe RSI entre 50 et 70 est considéré comme un bullish mais pas un overbought, et le RSI entre 30 et 50 est considéré comme un bearish mais pas un overbought.
Gestion des risquesLe stop loss et le stop stop sont réglés sur la base de la plage moyenne réelle (ATR) de la dynamique. Le stop loss est réglé sur 1x l’ATR et le stop stop est réglé sur 2x l’ATR, en fonction des préférences de risque individuelles.
Les conditions d’entrée sont claires:
Cette combinaison de conditions à plusieurs niveaux assure la qualité des signaux de transaction et réduit efficacement les signaux erronés.
En analysant le code en profondeur, la stratégie présente plusieurs avantages notables:
Mécanisme de confirmation multipleIl a été créé par la société de gestion d’actifs de la société, qui a été créée en 2008 et qui est basée à New York.
Gestion des risques adaptéeUtilisation de l’ATR pour ajuster dynamiquement les niveaux de stop loss et stop loss, permettant à la stratégie de s’adapter aux différentes conditions de volatilité du marché, d’élargir automatiquement la portée de stop loss dans les marchés à forte volatilité et de réduire la portée de stop loss dans les marchés à faible volatilité.
Une logique de transaction claireLes conditions d’entrée et de sortie sont clairement définies, sans jugement subjectif, faciles à appliquer et à évaluer.
Adaptation des paramètres avec souplesse: Tous les paramètres clés sont personnalisables, y compris la longueur de l’EMA, les paramètres MACD, les valeurs minimales du RSI et le multiplicateur ATR, ce qui permet à la stratégie de s’adapter à différents environnements de marché et styles de négociation individuels.
Signaux de négociation visualisés: Le code inclut une fonctionnalité de visualisation des signaux, qui affiche les points d’entrée de manière intuitive sur le graphique, ce qui aide à comprendre et à optimiser la stratégie.
Résultats de l’analyseIl est possible d’obtenir des rendements à long terme grâce à un rapport bénéfice-risque favorable en fixant le stop loss deux fois plus élevé que le stop loss.
Malgré la bonne conception de la stratégie, les risques potentiels sont les suivants:
Le marché de l’électricité est en baisse: Dans les marchés à choc horizontal, la stratégie peut générer plusieurs signaux erronés, entraînant des pertes continues. La solution consiste à ajouter des conditions de filtrage supplémentaires aux marchés à choc, ou à suspendre la négociation pendant une période de choc évidente.
Risque de fausse percéeUne reprise rapide après une brève rupture de l’EMA peut déclencher un signal erroné. L’ajout d’un cycle de confirmation ou la combinaison d’un indicateur de volume de transaction peut être envisagé pour filtrer les fausses ruptures.
Limitation du nombre de fois ATR fixe: Bien que l’ATR puisse s’adapter aux variations de volatilité, un multiplicateur fixe peut être trop grand ou trop petit dans certaines conditions de marché. La solution est d’ajuster le multiplicateur ATR en fonction de la dynamique des fluctuations historiques.
Paramètres optimisés pour le risque de suradaptation: Les paramètres d’indicateur d’optimisation excessive peuvent entraîner une stratégie qui fonctionne bien sur les données historiques mais qui échoue dans le jeu réel. Il est recommandé d’utiliser l’optimisation progressive et la vérification avancée pour atténuer ce risque.
Les risques extrêmes du marché: En cas de fortes fluctuations ou de sauts de marché, les arrêts peuvent ne pas être exécutés comme prévu, ce qui entraîne des pertes au-delà des attentes.
En analysant le code, nous avons identifié les points d’optimisation suivants:
Conditions de filtrage de temps supplémentaire: En fonction de l’activité du marché, un filtre temporel peut être ajouté, afin de négocier uniquement à des périodes spécifiques, en évitant les périodes de faible liquidité ou de forte volatilité. La méthode de mise en œuvre consiste à ajouter un code de jugement des conditions temporelles.
Confirmation de la quantité intégrée: La stratégie actuelle est basée uniquement sur l’indicateur de prix, mais l’indicateur de volume de transactions peut être ajouté comme confirmation supplémentaire pour améliorer la qualité du signal. Une logique de comparaison entre le volume de transactions et sa moyenne mobile peut être ajoutée.
Modifier dynamiquement le multiplicateur ATR: Ajustez automatiquement le multiplicateur ATR des arrêts et arrêts en fonction de l’historique des fluctuations du marché, en augmentant le multiplicateur pendant les périodes de forte volatilité et en diminuant le multiplicateur pendant les périodes de faible volatilité. Cela peut être réalisé en calculant l’indicateur de volatilité (par exemple, la différence standard de la portée réelle quotidienne).
Joignez-vous au filtrage de force de tendance: Utilisez des indicateurs de force de tendance tels que l’ADX, ne négociez que lorsque la tendance est claire et évitez les faux signaux des marchés en tremblement. La méthode de mise en œuvre consiste à augmenter le jugement conditionnel de l’ADX.
Introduction de l’arrêt du suivi: la stratégie actuelle utilise des arrêts fixes, il est envisageable de réaliser des arrêts mobiles basés sur l’ATR, pour verrouiller une partie des bénéfices. Cela nécessite une modification de la stratégie.
Mécanisme de répartition des bénéficesConsidérer la réalisation de bénéfices par étapes, par exemple en atteignant 50% de la position de clôture à 1 fois l’ATR et le reste de la position de clôture à 2 fois l’ATR, améliorer la rentabilité globale. Cela nécessite de modifier la partie de l’exécution de la transaction pour réaliser une fonction de clôture partielle.
La stratégie de suivi des tendances du graphique de 15 minutes est un système de trading de courte ligne bien conçu qui fournit un signal d’entrée de haute qualité en combinant les EMA, le MACD et le RSI, et utilise l’ATR pour la gestion des risques dynamiques. La stratégie est particulièrement adaptée aux environnements de marché où les tendances sont claires et est bien adaptée aux variétés de transactions qui changent rapidement.
Le principal avantage de la stratégie réside dans le mécanisme de confirmation multiple et la gestion des risques d’adaptation, principalement limitée à la performance du marché de choc et à la difficulté d’optimisation des paramètres. La stabilité et la rentabilité de la stratégie peuvent être encore améliorées par l’introduction de mesures d’optimisation telles que la confirmation de la quantité de transaction, le filtrage de la force de la tendance et l’ajustement des paramètres dynamiques.
Pour les traders, il s’agit d’un cadre stratégique logiquement clair, facile à comprendre et à exécuter, qui peut servir de base à la construction de systèmes de trading personnels. Cependant, toute stratégie doit être soigneusement testée en arrière et en avant avant d’être mise en œuvre sur le marché, et adaptée en fonction de la tolérance au risque et de l’environnement du marché.
/*backtest
start: 2025-04-02 00:00:00
end: 2025-04-06 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Scalping 15min: EMA + MACD + RSI + ATR-based SL/TP", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === INPUTURI ===
emaLength = input.int(50, title="EMA Length")
macdFast = input.int(12, title="MACD Fast Length")
macdSlow = input.int(26, title="MACD Slow Length")
macdSignal = input.int(9, title="MACD Signal Smoothing")
rsiLength = input.int(14, title="RSI Length")
rsiOB = input.int(70, title="RSI Overbought")
rsiOS = input.int(30, title="RSI Oversold")
atrLength = input.int(14, title="ATR Length")
slATRmult = input.float(1.0, title="SL Multiplier (ATR)")
tpATRmult = input.float(2.0, title="TP Multiplier (ATR)")
// === CALCULE ===
ema = ta.ema(close, emaLength)
[macdLine, signalLine, _] = ta.macd(close, macdFast, macdSlow, macdSignal)
macdHist = macdLine - signalLine
rsi = ta.rsi(close, rsiLength)
atr = ta.atr(atrLength)
// === CONDIȚII DE INTRARE ===
longCond = close > ema and macdHist > 0 and rsi > 50 and rsi < rsiOB
shortCond = close < ema and macdHist < 0 and rsi < 50 and rsi > rsiOS
// === EXECUTARE TRADE ===
if (longCond)
strategy.entry("Long", strategy.long)
if (shortCond)
strategy.entry("Short", strategy.short)
// === TP & SL DINAMIC PRIN ATR ===
float stopLevel = na
float takeLevel = na
if (strategy.position_size > 0)
stopLevel := close - slATRmult * atr
takeLevel := close + tpATRmult * atr
if (strategy.position_size < 0)
stopLevel := close + slATRmult * atr
takeLevel := close - tpATRmult * atr
strategy.exit("Exit", from_entry="", stop=stopLevel, limit=takeLevel)
// === DESENARE ===
plot(ema, color=color.orange, title="EMA 50")
plotshape(longCond, location=location.belowbar, color=color.green, style=shape.triangleup, title="Long Signal", size=size.small)
plotshape(shortCond, location=location.abovebar, color=color.red, style=shape.triangledown, title="Short Signal", size=size.small)