Cette stratégie combine les méthodes de suivi des tendances et d'analyse de l'élan, en utilisant les indicateurs Simple Moving Average (SMA) et Moving Average Convergence Divergence (MACD) pour identifier les opportunités de trading potentielles.
La logique de base de la stratégie repose sur les éléments clés suivants:
Plus précisément, un signal long est déclenché lorsque la ligne MACD traverse au-dessus de zéro et que le prix de clôture est au-dessus de la ligne Trendilo. Inversement, un signal court est déclenché lorsque la ligne MACD traverse au-dessous de zéro et que le prix de clôture est au-dessous de la ligne Trendilo. Après l'entrée, la stratégie utilise des niveaux d'arrêt-perte et de prise de profit basés sur ATR pour gérer le risque et verrouiller les bénéfices.
Cette stratégie combine habilement le suivi des tendances et l'analyse de l'élan, offrant aux traders un cadre d'analyse de marché relativement complet grâce à la synergie de Trendilo et MACD. L'approche de gestion dynamique des risques améliore l'adaptabilité de la stratégie, lui permettant de maintenir la stabilité dans différents environnements de marché. Cependant, les traders doivent toujours faire preuve de prudence lors de l'utilisation de cette stratégie, en particulier en termes d'optimisation des paramètres et de contrôle des risques. Grâce à une surveillance et une optimisation continues, cette stratégie a le potentiel de devenir un outil de trading fiable, particulièrement adapté aux investisseurs qui cherchent à saisir les opportunités sur les marchés en tendance.
/*backtest start: 2019-12-23 08:00:00 end: 2024-09-24 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("NNFX Trendilo + Zero MACD Strategy", overlay=true) // --- Inputs --- atrPeriod = input.int(14, title="ATR Period") stopLossMultiplier = input.float(1.5, minval=0.0, maxval = 20.0, step = 0.1 ,title="Stop Loss Multiplier") takeProfitMultiplier = input.float(2.0, minval=0.0 , maxval = 20.0, step = 0.1,title="Take Profit Multiplier") // --- Trendilo --- trendiloPeriod = input.int(50, title="Trendilo Period") trendilo = ta.sma(close, trendiloPeriod) // --- MACD --- [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) macdZeroCrossUp = ta.crossover(macdLine, 0) macdZeroCrossDown = ta.crossunder(macdLine, 0) // --- ATR for Stop Loss and Take Profit --- atr = ta.atr(atrPeriod) stopLoss = atr * stopLossMultiplier takeProfit = atr * takeProfitMultiplier // --- Trading Logic --- longCondition = macdZeroCrossUp and close > trendilo shortCondition = macdZeroCrossDown and close < trendilo // --- Execute Long Trades --- if (longCondition) strategy.entry("Buy", strategy.long) strategy.exit("Take Profit/Stop Loss", "Buy", limit=close + takeProfit, stop=close - stopLoss) // --- Execute Short Trades --- if (shortCondition) strategy.entry("Sell", strategy.short) strategy.exit("Take Profit/Stop Loss", "Sell", limit=close - takeProfit, stop=close + stopLoss) // --- Plot Signals --- plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell") // --- Plot Trendilo --- plot(trendilo, color=color.blue, linewidth=2)