Cette stratégie est un système de trading basé sur le croisement de plusieurs moyennes mobiles et l'indicateur RSI. Elle combine EMA20, EMA50 et SMA200 pour déterminer les tendances du marché, utilise l'indicateur RSI pour filtrer les signaux de trading et exécute les transactions lorsque le prix dépasse les sommets précédents.
La logique de base repose sur les conditions clés suivantes: 1. Détermination de la tendance: l'EMA20 doit être supérieur à l'EMA50 et l'SMA200 inférieur aux deux EMA, confirmant une tendance à la hausse. 2. Position de prix: le prix de clôture actuel doit se situer dans une fourchette de 1% de l'EMA20 ou de l'EMA50, assurant des niveaux de soutien clés. Filtre RSI: la valeur du RSI doit être supérieure au seuil défini (défaut 40), filtrant les marchés forts. 4. Trigger d'entrée: La position longue est déclenchée lorsque le prix dépasse le niveau des bougies précédentes. 5. Gestion des risques: définit des niveaux de prise de profit de 25% et de stop-loss de 10% pour le contrôle des risques.
Cette stratégie est un système de suivi des tendances bien structuré et logiquement solide. Grâce à la combinaison de plusieurs indicateurs techniques, elle capture efficacement les tendances du marché tout en maintenant une gestion complète des risques. La stratégie a une marge d'optimisation significative et peut atteindre une stabilité et une rentabilité améliorées grâce à une amélioration continue. Pour les traders à moyen et long terme, cela représente un cadre stratégique utile.
/*backtest start: 2025-01-02 00:00:00 end: 2025-01-09 00:00:00 period: 5m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA/SMA Strategy", overlay=false) // Input parameters ema20Length = input(20, title="20 EMA Length") ema50Length = input(50, title="50 EMA Length") sma200Length = input(200, title="200 SMA Length") rsiLength = input(14, title="RSI Length") rsiThreshold = input(40, title="RSI Threshold") // Calculate indicators ema20 = ta.ema(close, ema20Length) ema50 = ta.ema(close, ema50Length) sma200 = ta.sma(close, sma200Length) rsiValue = ta.rsi(close, rsiLength) // Conditions emaCondition = ema20 > ema50 and sma200 < ema20 and sma200 < ema50 priceNearEMA = (close <= ema20 * 1.01 and close >= ema20 * 0.99) or (close <= ema50 * 1.01 and close >= ema50 * 0.99) rsiCondition = rsiValue > rsiThreshold // Entry condition: Price crosses previous candle high entryCondition = priceNearEMA and rsiCondition and emaCondition and (close > high[1]) // Strategy entry if entryCondition strategy.entry("Long", strategy.long) // Take profit and stop loss settings takeProfitLevel = strategy.position_avg_price * 1.25 // Take profit at +25% stopLossLevel = strategy.position_avg_price * 0.90 // Stop loss at -10% // Exit conditions if strategy.position_size > 0 strategy.exit("Take Profit", from_entry="Long", limit=takeProfitLevel) strategy.exit("Stop Loss", from_entry="Long", stop=stopLossLevel) // Plotting indicators for visualization plot(ema20, color=color.blue, title="20 EMA") plot(ema50, color=color.red, title="50 EMA") plot(sma200, color=color.green, title="200 SMA") hline(rsiThreshold, "RSI Threshold", color=color.orange)