
Strategi pengesanan titik gelombang dan pergerakan Bollinger Bands adalah kaedah perdagangan berdasarkan analisis teknikal yang bertujuan untuk mengenal pasti titik harga penting dalam pergerakan ke sisi pasaran. Inti strategi ini adalah menggabungkan lebar jalur Bollinger Bands, purata gelombang sebenar (ATR) dan kedudukan harga terhadap lintasan tengah Bollinger Bands, untuk menangkap peluang perdagangan dalam persekitaran yang kurang bergelombang. Dengan menetapkan nilai paras peratusan tertentu, strategi ini dapat menyaring pergerakan pasaran yang semakin ketat dan harga yang semakin stabil, dan dengan itu meramalkan arah kemungkinan harga.
Dasar teori strategi ini adalah bahawa pasaran sering mengalami terobosan arah setelah mengalami turun naik selama beberapa waktu. Mekanisme pelaksanaan spesifik adalah sebagai berikut:
Pengiraan Brin BeltStrategi: Menggunakan data harga 20 hari untuk mengira purata bergerak sederhana (SMA) dan perbezaan piawai, dan kemudian membina laluan Brinband dengan koefisien perbezaan piawai 2. Lebar jalur Brinband ditakrifkan sebagai (track up-track down) / medium-track untuk mengukur tahap turun naik pasaran.
Pengurusan standard ATR: Menggunakan purata gelombang sebenar dalam kitaran 14 hari ((ATR), dan memproseskan standard dengan harga penutupan semasa, untuk mendapatkan penunjuk turun naik relatif.
Penyaringan nilai paras peratusStrategi: Menggunakan konsep terhad peratusan secara inovatif. Dengan mengira lebar jalur Brin dan menstandardkan nilai tertinggi dan terendah ATR dalam kitaran pemerhatian, kemudian menentukan terhad khusus berdasarkan nilai persentas yang ditetapkan oleh pengguna ((25% dan 30%).
Pengesahan ke pasaran: Apabila lebar jalur Brin adalah lebih rendah daripada nilai terhad yang dikira, pasaran ditentukan dalam keadaan turun naik ke sisi.
Sinyal dagangan dihasilkan: menghasilkan isyarat beli apabila memenuhi tiga syarat: pasaran berada dalam keadaan sisi, ATR standard di bawah paras paras terendah, harga berhampiran dengan lintasan tengah Brin (tidak lebih daripada 2% penyimpangan).
Riska rendah, ketepatan tinggiStrategi ini memberi tumpuan kepada peluang dagangan dalam persekitaran turun naik yang rendah, mengelakkan risiko yang disebabkan oleh turun naik yang besar. Penggunaan gabungan Brinband dan ATR meningkatkan kebolehpercayaan isyarat.
Mekanisme penyaringan kuantitatifDengan menggunakan mekanisme penyesuaian dinamik penurunan nilai peratusan, strategi dapat menyesuaikan diri dengan keadaan pasaran yang berbeza dan sifat turun naik varieti, mengelakkan batasan yang mungkin dibawa oleh parameter tetap.
Kebolehan menyesuaikan diriDengan mengira bandwidth Brin relatif dan menstandardkan ATR, strategi ini dapat menunjukkan prestasi yang konsisten dalam pelbagai lingkungan harga dan turun naik.
Mudah difahami dan dioptimumkanStrategi menggunakan petunjuk teknikal standard, tanpa pengiraan matematik yang rumit, mudah difahami oleh peniaga.
Kelebihan dagangan dalam talianStrategi ini berkesan mengelakkan risiko masuk pada harga yang melampau dan meningkatkan kadar kemenangan dengan meminta harga berhampiran dengan pertengahan Brin Belt.
Risiko penembusan palsuDalam pasaran yang kurang bergolak, mungkin terdapat isyarat pemicu pergerakan harga yang singkat, tetapi kemudiannya ditarik balik, menyebabkan penembusan palsu. Ia boleh dikurangkan dengan menambah mekanisme pengesahan atau memanjangkan masa pemerhatian.
Kepekaan ParameterPrestasi strategi sangat bergantung kepada parameter seperti kitaran Brin, kesenjangan standard, dan peratusan penurunan. Persamaan parameter yang berbeza mungkin diperlukan dalam keadaan pasaran yang berbeza dan perlu dioptimumkan secara berkala.
Pergantungan persekitaran pasaranStrategi ini berfungsi dengan baik dalam pasaran yang bergolak, tetapi ia mungkin kehilangan pergerakan yang besar atau menghasilkan terlalu banyak isyarat dalam pasaran yang sedang tren. Ia disyorkan untuk digunakan bersama dengan indikator pengenalan trend.
Kekurangan mekanisme penghalang kerugianTidak ada mekanisme hentian kerugian yang jelas dalam kod semasa, dan perlu ditambah dan disempurnakan dalam perdagangan sebenar untuk mengawal risiko perdagangan tunggal.
Kemiskinan isyaratOleh kerana syarat-syarat yang agak ketat, strategi mungkin tidak dapat menghasilkan isyarat perdagangan untuk jangka masa yang lama, mempengaruhi kecekapan penggunaan dana. Anda boleh mempertimbangkan untuk melonggarkan syarat-syarat yang sesuai atau menambah logik perdagangan lain.
Tambah penapis trendMemperkenalkan indikator penilaian trend (seperti arah purata bergerak, ADX, dan lain-lain), meningkatkan penilaian terhadap keadaan keseluruhan pasaran, dengan mengekalkan asas logik goyah asal, dan mengelakkan operasi berlawanan dalam pasaran yang kuat.
Optimumkan logik keluarStrategi semasa hanya mempunyai isyarat masuk dan kurangnya mekanisme keluar yang jelas. Anda boleh menambah program hentian dan kerugian berdasarkan sempadan Brin, ATR atau perkalian keuntungan dan kerugian tetap, dan menyelesaikan penutupan perdagangan.
Penambahan boleh disahkanJumlah transaksi sering menjadi penunjuk pengesahan penting ke atas keberkesanan harga yang pecah. Logik pengesanan yang tidak normal boleh ditingkatkan dan kualiti isyarat dapat ditingkatkan.
Frekuensi isyarat optimum: Mengimbangi hubungan antara frekuensi isyarat dan kualiti, meningkatkan kecekapan penggunaan dana dengan menyesuaikan parameter atau menambah kriteria penilaian tambahan.
Tambah isyarat pembalikanBerasaskan pada logik yang sama, menambah syarat penjanaan isyarat shorting, menjadikan strategi lebih menyeluruh dan menyesuaikan diri dengan lebih banyak keadaan pasaran.
Mekanisme penyesuaian parameter: Memperkenalkan mekanisme pengoptimuman dinamik parameter untuk menyesuaikan secara automatik kitaran Brin dan faktor standard deviasi mengikut prestasi pasaran dalam tempoh yang baru-baru ini untuk menyesuaikan diri dengan keadaan pasaran yang berubah.
Strategi deteksi titik gelombang dengan strategi guncangan Brin adalah kaedah perdagangan kuantitatif yang memberi tumpuan kepada menangkap peluang penembusan pasaran yang rendah. Strategi ini dapat mengenal pasti titik-titik perubahan yang berpotensi di pasaran yang berlawanan dengan cara mengkombinasikan bandwidth Brin dan ATR standard.
/*backtest
start: 2024-03-25 00:00:00
end: 2025-03-24 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
*/
//@version=5
strategy("Pivot Point Detection", overlay=true)
// === INPUT PARAMETERS ===
lookback = input(20, title="Bollinger Bands Lookback")
std_factor = input(2, title="Bollinger Bands Std Dev")
atr_lookback = input(14, title="ATR Lookback")
bb_percentile = input(25, title="BB Width Percentile") / 100 // Convert to decimal
atr_percentile = input(30, title="ATR Percentile") / 100 // Convert to decimal
// === BOLLINGER BANDS CALCULATION ===
ma = ta.sma(close, lookback)
bb_std = ta.stdev(close, lookback)
upper_bb = ma + (std_factor * bb_std)
lower_bb = ma - (std_factor * bb_std)
bb_width = (upper_bb - lower_bb) / ma
// === ATR & NORMALIZED ATR ===
atr = ta.atr(atr_lookback)
nATR = atr / close
// === APPROXIMATING PERCENTILE USING ROLLING LOWEST & HIGHEST ===
// This approximates the percentile value by interpolating within a rolling window.
bb_width_min = ta.lowest(bb_width, lookback)
bb_width_max = ta.highest(bb_width, lookback)
bb_threshold = bb_width_min + (bb_width_max - bb_width_min) * bb_percentile
nATR_min = ta.lowest(nATR, lookback)
nATR_max = ta.highest(nATR, lookback)
atr_threshold = nATR_min + (nATR_max - nATR_min) * atr_percentile
// === SIDEWAYS MARKET CONFIRMATION ===
sideways = bb_width < bb_threshold
// === BUY SIGNAL LOGIC ===
middle_bb = (upper_bb + lower_bb) / 2
close_to_middle = math.abs(close - middle_bb) / close < 0.02 // Within 2% of middle BB
buy_signal = sideways and (nATR < atr_threshold) and close_to_middle
// === PLOT BOLLINGER BANDS ===
plot(upper_bb, color=color.gray, linewidth=1, title="Upper BB")
plot(lower_bb, color=color.gray, linewidth=1, title="Lower BB")
// === PLOT BUY SIGNALS ===
plotshape(buy_signal, location=location.belowbar, color=color.green, style=shape.labelup, size=size.small, title="Buy Signal")
// === STRATEGY EXECUTION ===
strategy.entry("Buy", strategy.long, when=buy_signal)