Cette stratégie est un système de négociation quantitatif qui combine les tendances des prix et les indicateurs techniques. Elle identifie principalement les ruptures des tendances du modèle triangulaire et confirme les transactions en utilisant l'élan du RSI.
La logique de base se compose de deux composants principaux: la reconnaissance de la tendance triangulaire et la confirmation de l'élan du RSI. Premièrement, elle utilise la régression linéaire pour calculer les hauts et les bas récents de la période N, en construisant des lignes de tendance supérieures et inférieures pour former un triangle. Lorsque le prix dépasse la ligne de tendance supérieure et que le RSI est supérieur à 50, elle déclenche un signal d'achat; lorsque le prix dépasse la ligne de tendance inférieure et que le RSI est inférieur à 50, elle déclenche un signal de vente.
Le Triangle Breakout with RSI Momentum Strategy est un système de trading quantitatif complet et logiquement clair. Grâce au double mécanisme de confirmation du modèle et de l'élan, il améliore efficacement la fiabilité du signal de trading. Bien que certains risques existent, la stratégie a une bonne valeur pratique grâce à une optimisation raisonnable des paramètres et des mesures de contrôle des risques.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-04 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Triangle Breakout with RSI", overlay=true) // Input parameters len = input.int(15, title="Triangle Length") rsiPeriod = input.int(14, title="RSI Period") rsiThresholdBuy = input.int(50, title="RSI Threshold for Buy") rsiThresholdSell = input.int(50, title="RSI Threshold for Sell") // Calculate the RSI rsi = ta.rsi(close, rsiPeriod) // Calculate highest high and lowest low for triangle pattern highLevel = ta.highest(high, len) lowLevel = ta.lowest(low, len) // Create trendlines for the triangle upperTrend = ta.linreg(high, len, 0) lowerTrend = ta.linreg(low, len, 0) // Plot the trendlines on the chart plot(upperTrend, color=color.green, linewidth=2, title="Upper Trendline") plot(lowerTrend, color=color.red, linewidth=2, title="Lower Trendline") // Detect breakout conditions breakoutUp = close > upperTrend breakoutDown = close < lowerTrend // Confirm breakout with RSI buyCondition = breakoutUp and rsi > rsiThresholdBuy sellCondition = breakoutDown and rsi < rsiThresholdSell // Plot breakout signals with confirmation from RSI plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, size=size.small) plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small) // Strategy: Buy when triangle breaks upwards and RSI is above 50; Sell when triangle breaks downwards and RSI is below 50 if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) // Plot RSI on the bottom pane hline(50, "RSI 50 Level", color=color.gray, linestyle=hline.style_dotted) plot(rsi, color=color.blue, linewidth=2, title="RSI")