Cette stratégie combine le nuage Ichimoku, les moyennes mobiles simples (SMA) à court terme (55) et à long terme (200) pour identifier les signaux d'achat et de vente potentiels. Les signaux d'achat exigent que le prix soit au-dessus du nuage et de la SMA à long terme, et de retester la SMA à court terme après avoir traversé au-dessus de celui-ci. Les signaux de vente exigent que le prix soit en dessous du nuage et de la SMA à long terme, et de retester la SMA à court terme après avoir traversé au-dessous de celui-ci. La stratégie évite de générer des signaux pendant les marchés en évolution ou les événements d'actualité, car ces périodes ont tendance à avoir plus de faux-sauts.
La stratégie repose sur les principes suivants:
Le code calcule d'abord les composants nécessaires du nuage Ichimoku (ligne de conversion, ligne de base, portée principale A et B), ainsi que les SMA à court et à long terme. Il définit ensuite plusieurs conditions pour identifier la position des prix par rapport au nuage et aux moyennes mobiles.
La stratégie Ichimoku Cloud and Moving Average cherche des opportunités d'entrée à faible risque en combinant le Cloud Ichimoku avec des moyennes mobiles simples dans les tendances établies. En filtrant les transactions pendant les marchés variés et les événements d'actualité, la stratégie réduit les risques de falsification et améliore les performances globales. Elle convient principalement aux traders à moyen et long terme et fonctionne bien sur les délais de 1 heure et 2 heures. Cependant, il reste encore une marge d'optimisation supplémentaire, comme l'introduction de stop-loss clairs, l'optimisation des combinaisons de signaux et l'ajustement des paramètres de stratégie, pour atteindre des performances plus robustes.
/*backtest start: 2023-05-11 00:00:00 end: 2024-05-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Ichimoku Cloud and Moving Average Strategy", shorttitle="ICMA", overlay=true) // Input parameters shortMA = input.int(55, title="Short-term Moving Average Length") longMA = input.int(200, title="Long-term Moving Average Length") // Calculate moving averages shortSMA = ta.sma(close, shortMA) longSMA = ta.sma(close, longMA) // Ichimoku Cloud settings conversionPeriod = input.int(9, title="Conversion Line Period") basePeriod = input.int(26, title="Base Line Period") spanBPeriod = input.int(52, title="Span B Period") displacement = input.int(26, title="Displacement") // Calculate Ichimoku Cloud components conversionLine = ta.sma(high + low, conversionPeriod) / 2 baseLine = ta.sma(high + low, basePeriod) / 2 leadSpanA = (conversionLine + baseLine) / 2 leadSpanB = ta.sma(high + low, spanBPeriod) / 2 // Plot Ichimoku Cloud components plot(leadSpanA, color=color.blue, title="Leading Span A") plot(leadSpanB, color=color.red, title="Leading Span B") // Entry conditions aboveCloud = close > leadSpanA and close > leadSpanB belowCloud = close < leadSpanA and close < leadSpanB aboveShortMA = close > shortSMA aboveLongMA = close > longSMA belowShortMA = close < shortSMA belowLongMA = close < longSMA // Buy condition (Price retests 55 moving average after being above it) buyCondition = aboveCloud and aboveLongMA and close[1] < shortSMA and close > shortSMA // Sell condition (Price retests 55 moving average after being below it) sellCondition = belowCloud and belowLongMA and close[1] > shortSMA and close < shortSMA // Strategy entry and exit strategy.entry("Buy", strategy.long, when = buyCondition) strategy.entry("Sell", strategy.short, when = sellCondition) // Plot moving averages plot(shortSMA, color=color.green, title="Short-term SMA") plot(longSMA, color=color.red, title="Long-term SMA") // Plot buy and sell signals plotshape(series=buyCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") plotshape(series=sellCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")