
Ini adalah strategi perdagangan kuantitatif berbilang indikator yang menggabungkan Brin Belt, carta keseimbangan pertama, dan sokongan rintangan. Strategi ini mengenal pasti peluang perdagangan yang berpotensi dengan menganalisis turun naik pasaran, kekuatan trend, dan tahap harga kritikal. Strategi ini menggunakan syarat kemasukan yang tepat dan kaedah pengurusan risiko untuk prestasi perdagangan yang mantap.
Strategi ini menggunakan tiga komponen utama penunjuk teknikal: Brinband untuk mengukur turun naik pasaran dan keadaan overbought dan oversold; Garis keseimbangan pertama untuk menilai arah dan kekuatan trend; Tahan rintangan untuk mengenal pasti tahap harga kritikal. Penggunaan gabungan pelbagai penunjuk memberikan pandangan pasaran yang lebih menyeluruh.
Isyarat perdagangan dihasilkan berdasarkan syarat berikut: apabila harga menembusi Bollinger Bands ke atas, berada di atas awan pertama dan menembusi tahap awal yang tinggi, mencetuskan sinyal lebih banyak; apabila harga jatuh Bollinger Bands ke bawah, berada di bawah awan pertama dan jatuh tahap awal yang rendah, mencetuskan sinyal kosong. Strategi ini juga mengandungi peratusan yang berasaskan stop loss untuk mengawal risiko.
Ini adalah strategi perdagangan kuantitatif yang komprehensif yang menggunakan beberapa petunjuk teknikal untuk menangkap peluang perdagangan melalui penembusan trend dan pengesahan isyarat berganda. Keunggulan strategi ini adalah kebolehpercayaan isyarat yang tinggi, pengurusan risiko yang sempurna, tetapi perlu berhati-hati dengan isu-isu seperti penembusan palsu dan pengoptimuman parameter. Dengan pengoptimuman dan pengurusan risiko yang berterusan, strategi ini dijangka dapat mengekalkan prestasi yang stabil dalam pelbagai jenis persekitaran pasaran.
/*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))