Ini adalah strategi perdagangan kuantitatif pelbagai penunjuk yang menggabungkan Bollinger Bands, Ichimoku Cloud, dan tahap Sokongan / Rintangan. Strategi ini mengenal pasti peluang perdagangan yang berpotensi dengan menganalisis turun naik pasaran, kekuatan trend, dan tahap harga utama. Ia menggunakan syarat kemasukan yang tepat dan kaedah pengurusan risiko untuk mencapai prestasi perdagangan yang kukuh. Kekuatan teras terletak pada pengesahan silang melalui pelbagai penunjuk teknikal untuk meningkatkan kebolehpercayaan isyarat.
Strategi ini menggunakan tiga komponen penunjuk teknikal utama: Bollinger Bands untuk mengukur turun naik pasaran dan keadaan overbought / oversold; Ichimoku Cloud untuk menilai arah trend dan kekuatan; Tahap Sokongan / Rintangan untuk mengenal pasti tahap harga utama. Gabungan beberapa penunjuk memberikan perspektif pasaran yang lebih komprehensif.
Isyarat perdagangan dihasilkan berdasarkan syarat-syarat berikut: Isyarat panjang diaktifkan apabila harga memecahkan di atas Bollinger Band atas, kedudukan di atas Ichimoku Cloud, dan memecahkan di atas paras tertinggi sebelumnya; Isyarat pendek diaktifkan apabila harga memecahkan di bawah Bollinger Band bawah, kedudukan di bawah Ichimoku Cloud, dan memecahkan di bawah paras rendah sebelumnya. Strategi ini termasuk sasaran keuntungan berasaskan peratusan dan hentikan kerugian untuk kawalan risiko.
Ini adalah strategi dagangan kuantitatif yang menggunakan pelbagai penunjuk teknikal secara komprehensif, menangkap peluang dagangan melalui penembusan trend dan pengesahan isyarat berbilang. kekuatan strategi terletak pada kebolehpercayaan isyarat yang tinggi dan pengurusan risiko yang kukuh, tetapi perlu memberi perhatian kepada masalah penembusan palsu dan pengoptimuman parameter. Melalui pengoptimuman dan pengurusan risiko yang berterusan, strategi mempunyai potensi untuk mengekalkan prestasi yang stabil di pelbagai keadaan 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))