
Strategi ini adalah sistem perdagangan pecah dinamik yang berdasarkan Bollinger Bands, yang menggunakan sinyal harga untuk masuk ke dalam pelbagai arah, dan menggabungkan prinsip kesinambungan trend dan pulangan nilai rata-rata untuk keluar. Strategi ini berjalan dalam rangka masa 5 minit, dengan menetapkan parameter Bollinger Bands dan toleransi trend untuk menangkap peluang penembusan dalam turun naik pasaran jangka pendek, mewujudkan masuk cepat dan kawalan risiko.
Strategi ini adalah berdasarkan pada indikator Brin Belt, yang terdiri daripada tiga garis: rel tengah ((Simple Moving Average 20 Period), rel atas ((Rel Tengah + 1.9 kali standard deviation) dan rel bawah ((Rel Tengah -1.9 kali standard deviation)). Logik dagangan adalah seperti berikut:
Strategi menggunakan pembolehubah barsNotAboveUpper untuk mengira berapa banyak kitaran berturut-turut harga tidak kekal di atas tren atas. Setiap kali harga lebih tinggi daripada tren atas, penghitung akan disetel semula menjadi 0; jika tidak, penghitung akan ditambah 1. Apabila pengiraan mencapai tahap toleransi, atau apabila harga menyentuh tren tengah, strategi akan keluar dari kedudukan multihead.
Walaupun kod mengandungi kerangka strategi kosong, bahagian perdagangan kosong yang dijalankan secara sebenar dikomentari, menjadikan strategi hanya menjalankan perdagangan berbilang kepala. Ini mungkin merupakan keputusan pengoptimuman yang dibuat berdasarkan ciri-ciri pasaran atau hasil tinjauan balik.
Mengesan Trend dan Mengadaptasikan Kadar Fluktuasi: Brin membawa diri untuk menyesuaikan diri dengan kadar turun naik pasaran, menyesuaikan lebar saluran secara automatik dalam persekitaran turun naik yang berbeza, menjadikan strategi berkesan dalam keadaan pasaran yang berbeza.
Peraturan masuk dan keluar yang jelasStrategi: menyediakan isyarat kemasukan yang jelas (untuk menembusi laluan) dan dua syarat keluar yang objektif (untuk tidak mengekalkan trend atau menyentuh garis rata-rata), mengurangkan penilaian subjektif.
Mekanisme kawalan risikoDengan menetapkan parameter toleransi trend, strategi dapat bertindak balas dengan cepat terhadap perubahan trend dan menghentikan kerugian tepat pada masanya. Mekanisme keluar ganda berdasarkan masa dan harga ini mengawal pendedahan risiko perdagangan tunggal dengan berkesan.
Optimum ruang parameterStrategi menyediakan tiga parameter yang boleh disesuaikan iaitu panjang, pengganda dan toleransi trend, yang membolehkan peniaga mengoptimumkan mengikut keadaan pasaran dan gaya perdagangan yang berbeza.
Prinsip Regresi Mean ValueStrategi menggunakan harga menyentuh garisan rata-rata ((terpusat) sebagai syarat keluar, sesuai dengan sifat pulangan nilai rata-rata pasaran kewangan, meningkatkan keabsahan keluar.
Integrasi sistem amaran awalStrategi ini menggabungkan fungsi amaran isyarat perdagangan untuk memberi tahu pedagang mengenai isyarat masuk dan keluar dalam masa nyata, meningkatkan kecekapan pelaksanaan perdagangan.
Risiko penembusan palsuHarga mungkin turun dengan cepat selepas jangka masa yang singkat, menyebabkan isyarat yang salah dan transaksi yang tidak perlu, meningkatkan kos transaksi.
Kepekaan ParameterPanjang tali binari dan parameter penggandaan mempunyai kesan yang ketara terhadap prestasi strategi, dan parameter yang tidak sesuai boleh menyebabkan terlalu banyak isyarat palsu atau kehilangan peluang perdagangan penting.
Sekatan transaksi satu arahStrategi semasa hanya menjalankan perdagangan berbilang mata dan mungkin kekurangan peluang keuntungan dalam pasaran yang menurun, menyebabkan prestasi yang tidak stabil dalam jangka panjang.
Mekanisme Henti Kerosakan Bergantung Waktu: Toleransi trend berdasarkan pengiraan kitaran dan bukan kadar turun naik harga, dalam keadaan yang melampau mungkin tidak dapat dihentikan pada masa yang tepat, meningkatkan risiko penurunan.
Pemindahan kawalan tidak mencukupiStrategi: Kekurangan mekanisme hentian kerugian berdasarkan pengurusan dana keseluruhan, yang boleh menyebabkan penarikan balik akaun yang lebih besar jika terdapat isyarat kesalahan berturut-turut.
Keterbatasan jangka masa: Strategi khusus direka untuk carta 5 minit, mungkin tidak sesuai untuk bingkai masa lain, mengehadkan penggunaan strategi.
Untuk mengurangkan risiko ini, disarankan: 1) menambah syarat penapisan tambahan untuk mengurangkan isyarat pecah palsu; 2) melaksanakan kawalan risiko berdasarkan kedudukan keseluruhan; 3) menambah indikator pengesahan trend; 4) pertimbangkan untuk menambah mekanisme penangguhan berdasarkan amplitudo harga.
adxLength = input.int(14, "ADX Length")
adxThreshold = input.int(25, "ADX Threshold")
dI = ta.dmi(adxLength, adxLength)
adx = ta.adx(adxLength)
trendFilter = adx > adxThreshold and dI+"DI" > dI+"DI-"
longCondition := longCondition and trendFilter
Mencapai strategi multi ruang yang lengkap: Logik perdagangan kosong yang dikomentari dalam kod pengaktifan membolehkan strategi mendapat keuntungan yang sama dalam pasaran yang menurun. Ini akan meningkatkan kemampuan strategi untuk menyesuaikan diri dan menyeluruh dalam keadaan pasaran yang berbeza.
Pengurusan wang yang optimum: Tambah kawalan saiz kedudukan dan pengurusan risiko keseluruhan, seperti tetapan stop loss berasaskan ATR, had pengeluaran maksimum dan sebagainya.
atrPeriod = input.int(14, "ATR Period")
atrMultiplier = input.float(3.0, "ATR Multiplier")
atr = ta.atr(atrPeriod)
stopLossPrice = strategy.position_avg_price - (atrMultiplier * atr)
timeFilter = (hour >= 9 and hour < 16) or (hour >= 18 and hour < 22)
longCondition := longCondition and timeFilter
volatilityRatio = ta.atr(14) / ta.atr(56)
dynamicMult = volatilityRatio < 0.8 ? mult * 0.8 : mult * 1.2
var float trailingStop = na
if strategy.position_size > 0
trailingStop := math.max(trailingStop, close - atrMultiplier * atr)
if close < trailingStop
strategy.close("Long")
Strategi perdagangan kuantitatif pemecahan berkelajuan dinamik Brin adalah sistem perdagangan jangka pendek berdasarkan analisis teknikal, yang menggabungkan prinsip pengesanan trend dan pulangan nilai rata-rata. Strategi ini melakukan masuk ke dalam pelbagai arah dengan memantau harga pada isyarat pemecahan Brin, memanfaatkan keadaan harga yang tidak berkekalan atau menyentuh garis kesamaan untuk keluar, membentuk lingkaran perdagangan yang lengkap.
Kelebihan strategi ini terletak pada keupayaan untuk menyesuaikan diri dengan turun naik pasaran dan peraturan perdagangan yang jelas, tetapi juga menghadapi cabaran seperti risiko penembusan palsu dan kepekaan parameter. Ketahanan dan keuntungan strategi dapat ditingkatkan dengan ketara dengan menambah penapis trend, menyempurnakan sistem perdagangan pelbagai ruang, mengoptimumkan pengurusan dana dan memperkenalkan parameter penyesuaian.
Bagi peniaga, strategi ini sesuai untuk digunakan sebagai sistem perdagangan jangka pendek, terutamanya di pasaran yang lebih turun naik dan mempunyai ciri-ciri yang jelas. Jika dioptimumkan lebih lanjut, ia berpotensi menjadi penyelesaian perdagangan yang komprehensif yang dapat mengekalkan prestasi yang agak stabil dalam pelbagai keadaan pasaran.
/*backtest
start: 2024-03-25 00:00:00
end: 2025-03-24 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © GoodDayss
//@version=6
strategy("Bollinger Bands Strategy 5m", overlay=true)
length = input.int(20, "Bollinger Length", minval=1)
mult = input.float(1.9, "Bollinger Mult", minval=0.001, maxval=50)
tolerance = input.int(4, "Trend Tolerance", minval=1)
source = close
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
plot(basis, color=color.yellow, linewidth=2, title="Basis")
plot(upper, color=color.white, linewidth=2, title="Up")
plot(lower, color=color.white, linewidth=2, title="Low")
var int barsNotAboveUpper = 0
var int barsNotBelowLower = 0
bool longCondition = ta.crossover(close, upper)
bool shortCondition = ta.crossunder(close, lower)
if longCondition and strategy.position_size <= 0
strategy.entry("Long", strategy.long)
// Alert
alertcondition(longCondition and strategy.position_size <= 0, title = "幹你媽買進", message = "{{{ticker}} 的價格是 {{close}},\n買進!!!.}")
// if shortCondition and strategy.position_size >= 0
// strategy.entry("Short", strategy.short)
if strategy.position_size > 0
if close > upper
barsNotAboveUpper := 0
else
barsNotAboveUpper += 1
bool touchedBasisLong = (low <= basis)
if barsNotAboveUpper >= tolerance or touchedBasisLong
// Alert
alert(message = "{{{ticker}} 的價格是 {{close}},\n塊陶啊,賣出!!!.}")
strategy.close("Long", comment="Exit Long")
barsNotAboveUpper := 0
if strategy.position_size < 0
if close < lower
barsNotBelowLower := 0
else
barsNotBelowLower += 1
bool touchedBasisShort = (high >= basis)
// if barsNotBelowLower >= tolerance or touchedBasisShort
// strategy.close("Short", comment="Exit Short")
// barsNotBelowLower := 0