
Strategi ini adalah sistem perdagangan kuantitatif yang berasaskan kombinasi bentuk harga dan petunjuk teknikal. Ia dilakukan terutamanya dengan mengenal pasti penembusan bentuk segitiga, dan digabungkan dengan pengesahan dinamik RSI. Strategi ini menggunakan kaedah regresi linear untuk membina garis trend ke atas dan ke bawah, menentukan isyarat perdagangan melalui penembusan harga dan kedudukan RSI, mewujudkan kombinasi organik analisis bentuk dengan analisis dinamik.
Logik teras strategi ini merangkumi dua bahagian utama: pengenalan bentuk segitiga dan pengesahan momentum RSI. Pertama, menggunakan kaedah regresi linear untuk mengira tinggi dan rendah dalam N kitaran terakhir, membina garis trend ke atas dan ke bawah untuk membentuk segitiga.
Triangle Breakthrough Combination RSI Dynamic Strategy adalah sistem perdagangan kuantitatif yang strukturnya utuh, logiknya jelas. Melalui mekanisme pengesahan ganda bentuk dan dinamik, ia meningkatkan kebolehpercayaan isyarat perdagangan. Walaupun terdapat risiko tertentu, tetapi dengan pengoptimuman parameter yang munasabah dan langkah-langkah kawalan risiko, strategi ini mempunyai nilai amalan yang baik.
/*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")