Cette stratégie est un système de trading global de suivi des tendances qui intègre le Cloud Ichimoku, l'indice de force relative (RSI) et la divergence de convergence moyenne mobile (MACD).
La logique de base repose sur la synergie de trois indicateurs techniques: 1. Ichimoku Cloud identifie l'environnement de tendance, avec des tendances haussières au-dessus du nuage et des tendances baissières en dessous. 2. Le RSI filtre les conditions extrêmes, exigeant un RSI supérieur à 30 pour les longs (non survendus) et inférieur à 70 pour les courts (non surachetés). 3. Les croisements des lignes de signaux MACD déclenchent des entrées et des sorties, avec des croisements haussiers pour les longs et des croisements baissiers pour les courts.
Les règles de négociation sont les suivantes: Conditions d'entrée à long terme: - Le prix est au-dessus des nuages. - RSI supérieur à 30 - La ligne MACD traverse la ligne de signal
Conditions d'entrée courtes: - Le prix est au-dessous des nuages. - RSI inférieur à 70 - La ligne MACD traverse le niveau inférieur à la ligne de signal
Risque d'inversion de tendance: des arrêts consécutifs sont possibles à des points tournants de la tendance. Suggestion: augmenter les délais de confirmation des tendances.
Risque de marché lié à la fourchette: des transactions fréquentes peuvent avoir lieu sur les marchés latéraux. Suggestion: Ajoutez des filtres de signaux, par exemple des exigences minimales en matière de mouvement.
Risque de décalage: les indicateurs présentent un décalage inhérent, ce qui peut entraîner l'absence de points d'entrée optimaux. Suggestion: intégrer des indicateurs plus rapides ou une analyse de l'action des prix.
Sensibilité des paramètres: des paramètres incorrects peuvent entraîner de mauvaises performances. Suggestion: Optimiser les paramètres par le biais de tests antérieurs.
Cette stratégie construit un système de trading complet suivant la tendance en combinant les indicateurs Ichimoku Cloud, RSI et MACD. Ses principales forces résident dans son mécanisme de confirmation multiple et ses règles de trading claires, tout en accordant une attention particulière aux risques aux points d'inversion de tendance et sur les marchés en marge.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Ichimoku + RSI + MACD Strategy", overlay=true) // Ichimoku Cloud parameters tenkanPeriod = 9 kijunPeriod = 26 senkouSpanBPeriod = 52 displacement = 26 // RSI parameters rsiLength = 14 rsiOverbought = 70 rsiOversold = 30 // MACD parameters [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) // Ichimoku calculations tenkanSen = (ta.highest(high, tenkanPeriod) + ta.lowest(low, tenkanPeriod)) / 2 kijunSen = (ta.highest(high, kijunPeriod) + ta.lowest(low, kijunPeriod)) / 2 senkouSpanA = (tenkanSen + kijunSen) / 2 senkouSpanB = (ta.highest(high, senkouSpanBPeriod) + ta.lowest(low, senkouSpanBPeriod)) / 2 chikouSpan = close[displacement] // Plotting Ichimoku Cloud plot(tenkanSen, color=color.red, title="Tenkan-sen") plot(kijunSen, color=color.blue, title="Kijun-sen") plot(senkouSpanA[displacement], color=color.green, title="Senkou Span A") plot(senkouSpanB[displacement], color=color.red, title="Senkou Span B") fill(plot(senkouSpanA[displacement]), plot(senkouSpanB[displacement]), color=color.new(color.green, 90), title="Cloud") // RSI calculation rsi = ta.rsi(close, rsiLength) // Long entry condition longCondition = (close > senkouSpanA) and (close > senkouSpanB) and (rsi > rsiOversold) and (ta.crossover(macdLine, signalLine)) if (longCondition) strategy.entry("Long", strategy.long) // Short entry condition shortCondition = (close < senkouSpanA) and (close < senkouSpanB) and (rsi < rsiOverbought) and (ta.crossunder(macdLine, signalLine)) if (shortCondition) strategy.entry("Short", strategy.short) // Exit conditions if (ta.crossunder(macdLine, signalLine) and strategy.position_size > 0) strategy.close("Long") if (ta.crossover(macdLine, signalLine) and strategy.position_size < 0) strategy.close("Short") // Plot RSI hline(rsiOverbought, "Overbought", color=color.red) hline(rsiOversold, "Oversold", color=color.green) plot(rsi, color=color.blue, title="RSI")