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:
Les règles de négociation sont les suivantes: Conditions d'entrée à long terme:
Conditions d'entrée courtes:
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")