
Ini adalah strategi perdagangan kuantitatif multi-indikator yang menggabungkan pita Brin, grafik keseimbangan pertama, dan level resistensi pendukung. Strategi ini mengidentifikasi peluang perdagangan potensial dengan menganalisis volatilitas pasar, kekuatan tren, dan tingkat harga kunci. Strategi ini menggunakan kondisi masuk yang tepat dan metode manajemen risiko untuk mencapai kinerja perdagangan yang kuat.
Strategi ini menggunakan tiga komponen indikator teknis utama: Bollinger Bands untuk mengukur volatilitas pasar dan kondisi overbought dan oversold; Equilibrium Diagram untuk menilai arah dan kekuatan tren; dan Resistance Levels untuk mendukung identifikasi tingkat harga kunci. Penggunaan kombinasi dari beberapa indikator memberikan perspektif pasar yang lebih komprehensif.
Sinyal perdagangan dihasilkan berdasarkan kondisi berikut: ketika harga menerobos Bollinger Bands ke arah atas, berada di atas awan pertama dan melewati titik tertinggi sebelumnya, sinyal multi-sinyal dipicu; ketika harga turun ke arah Bollinger Bands ke arah bawah, berada di bawah awan pertama dan melewati titik terendah sebelumnya, sinyal kosong dipicu. Strategi ini juga mencakup pengaturan stop loss berbasis persentase untuk mengendalikan risiko.
Ini adalah strategi perdagangan kuantitatif yang komprehensif yang menggunakan beberapa indikator teknis untuk menangkap peluang perdagangan melalui trend break dan konfirmasi sinyal ganda. Keunggulan strategi ini adalah keandalan sinyal yang tinggi, manajemen risiko yang sempurna, tetapi perlu diperhatikan masalah seperti false break dan optimasi parameter. Dengan optimasi dan manajemen risiko yang berkelanjutan, strategi ini diharapkan untuk mempertahankan kinerja yang stabil di berbagai lingkungan pasar.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("BB Ichimoku S/R Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Input parameters
bb_length = input.int(20, "Bollinger Bands Length")
bb_mult = input.float(2.0, "Bollinger Bands Multiplier")
ichimoku_tenkan = input.int(9, "Ichimoku Tenkan-sen")
ichimoku_kijun = input.int(26, "Ichimoku Kijun-sen")
ichimoku_senkou = input.int(52, "Ichimoku Senkou Span B")
sr_lookback = input.int(14, "S/R Lookback Period")
profit_target = input.float(1.5, "Profit Target (%)", minval=0.1, step=0.1)
stop_loss = input.float(1.0, "Stop Loss (%)", minval=0.1, step=0.1)
// Bollinger Bands
[bb_middle, bb_upper, bb_lower] = ta.bb(close, bb_length, bb_mult)
// Ichimoku Cloud
tenkan = ta.ema(hl2, ichimoku_tenkan)
kijun = ta.ema(hl2, ichimoku_kijun)
spanA = (tenkan + kijun) / 2
spanB = ta.ema(hl2, ichimoku_senkou)
// Support and Resistance
highest_high = ta.highest(high, sr_lookback)
lowest_low = ta.lowest(low, sr_lookback)
// Entry conditions
long_condition = close > bb_upper and close > spanA and close > spanB and close > highest_high[1]
short_condition = close < bb_lower and close < spanA and close < spanB and close < lowest_low[1]
// Execute trades
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Set profit target and stop loss
strategy.exit("TP/SL", "Long", profit=strategy.position_avg_price * (1 + profit_target / 100), loss=strategy.position_avg_price * (1 - stop_loss / 100))
strategy.exit("TP/SL", "Short", profit=strategy.position_avg_price * (1 - profit_target / 100), loss=strategy.position_avg_price * (1 + stop_loss / 100))
// Plot indicators
plot(bb_middle, color=color.blue, title="BB Middle")
plot(bb_upper, color=color.red, title="BB Upper")
plot(bb_lower, color=color.red, title="BB Lower")
plot(tenkan, color=color.orange, title="Tenkan-sen")
plot(kijun, color=color.purple, title="Kijun-sen")
spanA_plot = plot(spanA, color=color.green, title="Senkou Span A")
spanB_plot = plot(spanB, color=color.red, title="Senkou Span B")
plot(highest_high, color=color.green, title="Resistance")
plot(lowest_low, color=color.red, title="Support")
// Fill Ichimoku Cloud
fill(spanA_plot, spanB_plot, color=spanA > spanB ? color.rgb(76, 175, 80, 90) : color.rgb(255, 82, 82, 90))