Strategi ini adalah sistem perdagangan kuantitatif yang menggabungkan pola harga dan indikator teknis. Strategi ini terutama mengidentifikasi perputaran pola segitiga dan mengkonfirmasi perdagangan menggunakan momentum RSI. Strategi ini menggunakan regresi linier untuk membangun garis tren atas dan bawah, menentukan sinyal perdagangan melalui perputaran harga dan posisi RSI, mencapai kombinasi organik dari analisis pola dan momentum.
Logika inti terdiri dari dua komponen utama: pengakuan pola segitiga dan konfirmasi momentum RSI. Pertama, menggunakan regresi linier untuk menghitung puncak dan terendah N-periode baru-baru ini, membangun garis tren atas dan bawah untuk membentuk segitiga. Ketika harga pecah di atas garis tren atas dan RSI di atas 50, ini memicu sinyal beli; ketika harga pecah di bawah garis tren bawah dan RSI di bawah 50, ini memicu sinyal jual. Strategi ini memiliki parameter yang dapat disesuaikan untuk panjang segitiga dan periode RSI, memberikan kemampuan beradaptasi yang kuat.
Triangle Breakout with RSI Momentum Strategy adalah sistem perdagangan kuantitatif yang lengkap dan logis jelas. Melalui mekanisme konfirmasi ganda pola dan momentum, secara efektif meningkatkan keandalan sinyal perdagangan. Meskipun ada risiko tertentu, strategi ini memiliki nilai praktis yang baik melalui optimasi parameter yang wajar dan langkah-langkah pengendalian risiko. Pedagang disarankan untuk melakukan optimasi parameter menyeluruh dan verifikasi backtesting berdasarkan karakteristik pasar tertentu sebelum perdagangan langsung.
/*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")