
La stratégie est un système de trading quantitatif basé sur la combinaison de la forme du prix et des indicateurs techniques. Elle est principalement utilisée pour la négociation en identifiant les ruptures de la forme du triangle et en combinant la confirmation de la dynamique de l’indicateur RSI. La stratégie utilise une méthode de régression linéaire pour construire des lignes de tendance ascendantes et descendantes et déterminer les signaux de négociation en fonction de la position de la rupture du prix et du RSI, ce qui permet une combinaison organique de l’analyse de la forme et de l’analyse de la dynamique.
La logique centrale de la stratégie comprend deux parties principales: la reconnaissance de la forme du triangle et la confirmation de la dynamique du RSI. Tout d’abord, la méthode de régression linéaire est utilisée pour calculer les hauts et les bas des N cycles les plus récents et construire une ligne de tendance ascendante formant un triangle.
La stratégie de rupture triangulaire combinée à la dynamique RSI est un système de négociation quantitative avec une structure complète et une logique claire. Grâce à un mécanisme de double confirmation de la forme et de la dynamique, la fiabilité du signal de négociation est efficacement améliorée. Bien que certains risques existent, la stratégie présente une bonne valeur pratique grâce à une optimisation des paramètres et à des mesures de contrôle des risques raisonnables.
/*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")