
Strategi ini dirancang berdasarkan Brin band dan indikator yang relatif kuat (RSI) untuk strategi perdagangan kuantitatif. Strategi ini menggabungkan pelacakan tren dan penilaian overbought oversold untuk memasuki pasar pada tahap awal tren dan keluar dari overbought oversold untuk mencapai keuntungan.
Strategi ini menggunakan Bollinger Bands untuk menilai tren harga dan mendukung resistensi. Ketika harga mendekati Bollinger Bands down, ini dianggap sebagai sinyal oversold; Ketika harga mendekati Bollinger Bands up, ini dianggap sebagai sinyal overbought.
Aturan perdagangan yang spesifik adalah: melakukan over entry ketika harga lebih rendah dari Bollinger Bands down dan RSI lebih rendah dari 30; melakukan entry dengan posisi kosong ketika harga lebih tinggi dari Bollinger Bands up dan RSI lebih tinggi dari 70. Ketika berhenti Exit, pilih garis tengah Bollinger Bands atau Bollinger Bands ke arah yang berlawanan sebagai stop position. Stop loss ditetapkan sebagai persentase dari harga masuk.
Strategi ini menggabungkan trend tracking di Brin Belt dan penilaian overbought dan oversold di RSI untuk lebih memahami titik awal tren. Selain itu, strategi stop and loss juga lebih jelas dan membantu manajemen risiko.
Strategi ini menggunakan berbagai indikator dan parameter secara komprehensif yang dapat meningkatkan akurasi keputusan dibandingkan dengan penggunaan indikator seperti Brinks atau RSI secara tunggal. Dengan penyesuaian parameter yang tepat, kinerja perdagangan akan lebih stabil.
Strategi ini terutama bergantung pada optimasi parameter, dan jika parameter disetel dengan tidak benar, akan menghadapi risiko yang lebih besar. Misalnya, tidak cocoknya parameter periode Brin, mungkin akan kehilangan tren atau menghasilkan sinyal palsu. Selain itu, titik stop loss juga perlu dievaluasi dengan hati-hati.
Strategi ini juga memiliki ketergantungan pada varietas yang diperdagangkan. Untuk varietas yang lebih berfluktuasi, perlu menyesuaikan parameter Brinks. Untuk varietas yang tidak menunjukkan tren, efeknya juga akan dikurangkan. Selain itu, strategi ini juga dipengaruhi oleh biaya perdagangan, slippage, dan situasi ekstrem.
Dianjurkan untuk melakukan pengujian optimasi parameter, menilai tingkat stop loss, dan menguji kinerja dalam berbagai varietas dan lingkungan pasar. Sementara itu, cadangan dana Space untuk manajemen risiko.
Strategi ini dapat terus dioptimalkan dari beberapa arah:
Mengevaluasi dan mengoptimalkan parameter BRI dan RSI agar lebih sesuai dengan karakteristik varietas yang diperdagangkan
Menambahkan penilaian indikator lain, seperti KDJ, MACD, dan lain-lain, untuk membentuk model multi-faktor
Evaluasi strategi stop loss, pengaturan stop loss floating atau stop loss batch
Optimalisasi parameter dinamis berdasarkan varietas dan lingkungan pasar tertentu
Menambahkan model pembelajaran mesin untuk menilai kualitas sinyal dan tingkat risiko
Strategi ini mengintegrasikan indikator Brin dan RSI, merancang strategi pelacakan tren yang lebih lengkap. Efektivitas dan stabilitas masih ada ruang untuk perbaikan lebih lanjut melalui pengoptimalan parameter dan manajemen risiko.
/*backtest
start: 2023-11-01 00:00:00
end: 2023-11-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("BB + RSI Estrategia", overlay=true)
longitud = input(20, title="Longitud BB", minval=5, maxval=50, step=1)
multiplicador = input(2.0, title="Multiplicador BB", type=input.float, step=0.1)
timeframe_bb = input("D", title="Marco de Tiempo BB", type=input.resolution)
rsi_length = input(14, title="Longitud RSI", minval=5, maxval=50, step=1)
rsi_overbought = input(70, title="Nivel de sobrecompra RSI", minval=50, maxval=80, step=1)
rsi_oversold = input(30, title="Nivel de sobreventa RSI", minval=20, maxval=50, step=1)
take_profit = input("Central", title="Take Profit (banda)", options=["Central", "Opuesta"])
stop_loss = input(2.00, title="Stop Loss", type=input.float, step=0.10)
var SL = 0.0
[banda_central, banda_superior, banda_inferior] = security(syminfo.tickerid, timeframe_bb, bb(close, longitud, multiplicador))
rsi_value = rsi(close, rsi_length)
comprado = strategy.position_size > 0
vendido = strategy.position_size < 0
if not comprado and not vendido
if close < banda_inferior and rsi_value < rsi_oversold
// Realizar la compra
cantidad = round(strategy.equity / close)
strategy.entry("Compra", strategy.long, qty=cantidad, when=cantidad > 0)
SL := close * (1 - (stop_loss / 100))
if close > banda_superior and rsi_value > rsi_overbought
// Realizar la Venta
cantidad = round(strategy.equity / close)
strategy.entry("Venta", strategy.short, qty=cantidad, when=cantidad > 0)
SL := close * (1 + (stop_loss / 100))
if comprado
// Verificar el take profit
if take_profit == "Central" and close >= banda_central
strategy.close("Compra", comment="TP")
SL := 0
if take_profit == "Opuesta" and close >= banda_superior
strategy.close("Compra", comment="TP")
SL := 0
// Verificar el stop loss
if close <= SL
strategy.close("Compra", comment="SL")
SL := 0
if vendido
// Verificar el take profit
if take_profit == "Central" and close <= banda_central
strategy.close("Venta", comment="TP")
SL := 0
if take_profit == "Opuesta" and close <= banda_inferior
strategy.close("Venta", comment="TP")
SL := 0
// Verificar el Stop loss
if close >= SL
strategy.close("Venta", comment="SL")
SL := 0
// Salida
plot(SL > 0 ? SL : na, style=plot.style_circles, color=color.red)
g1 = plot(banda_superior, color=color.aqua)
plot(banda_central, color=color.red)
g2 = plot(banda_inferior, color=color.aqua)
fill(g1, g2, color=color.aqua, transp=97)
// Dibujar niveles de sobrecompra/sobreventa del RSI
hline(rsi_overbought, "RSI Overbought", color=color.red)
hline(rsi_oversold, "RSI Oversold", color=color.green)