
Strategi ini menggunakan indikator Brin untuk menentukan sama ada harga berada dalam tempoh penyatuan, dan menggunakan keputusan masuk dan keluar yang pecah. Secara keseluruhannya, strategi ini terutamanya memanfaatkan keadaan yang kuat yang dibawa oleh penyatuan harga untuk keuntungan.
Strategi ini mula-mula mengira purata bergerak sederhana harga penutupan selama 20 hari sebagai lintasan tengah untuk jalur Brin, dan mengira perbezaan piawai 2 kali ganda sebagai lintasan jalur Brin. Ia dinilai sebagai lintasan naik apabila harga lebih tinggi daripada lintasan atas, dan lintasan turun apabila harga lebih rendah daripada lintasan bawah.
Apabila harga berada di Brin Belt, ia dianggap sebagai tempoh integrasi. Apabila ia mendeteksi isyarat penembusan, ia masuk dengan lebih banyak mata. Apabila ia menembusi lagi, ia dihapuskan.
Stop loss ditetapkan 2 kali ganda daripada ATR.
Strategi ini bergantung kepada integrasi dan penembusan Brin Belt, dengan kelebihan berikut:
Strategi ini mempunyai beberapa risiko:
Kaedah pencegahan:
Strategi ini boleh dioptimumkan dalam beberapa arah:
Strategi ini secara keseluruhan lebih mudah dan langsung, dengan menangkap pengumpulan tenaga yang dibawa oleh penggabungan harga untuk mencapai keuntungan yang lebih besar. Ruang pengoptimuman yang lebih besar, boleh disesuaikan dari segi peraturan masuk, cara menghentikan kerugian, dan sebagainya, untuk mendapatkan keuntungan yang lebih stabil dengan syarat mengawal risiko.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Consolidation Breakout Strategy", shorttitle="CBS", overlay=true)
// Parameters
length = input(20, title="Bollinger Bands Length")
mult = input(2.0, title="Bollinger Bands Multiplier")
risk = input.float(1, title="Risk per Trade (%)") / 100
// Calculate Bollinger Bands
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev
// Entry Conditions
consolidating = ta.crossover(close, upper) and ta.crossunder(close, lower)
// Exit Conditions
breakout = ta.crossover(close, upper) or ta.crossunder(close, lower)
// Risk Management
atrVal = ta.atr(14)
stopLoss = atrVal * input.float(2, title="Stop Loss Multiplier", minval=0.1, maxval=5)
// Entry and Exit Conditions
longEntry = breakout and close > upper
shortEntry = breakout and close < lower
if (longEntry)
strategy.entry("Long", strategy.long)
if (shortEntry)
strategy.entry("Short", strategy.short)
if (longEntry and close < basis - stopLoss)
strategy.close("Long Exit")
if (shortEntry and close > basis + stopLoss)
strategy.close("Short Exit")
// Plot Entry and Exit Points
plotshape(consolidating, style=shape.triangleup, location=location.belowbar, color=color.rgb(30, 255, 0), title="Entry Signal")
plotshape(breakout, style=shape.triangledown, location=location.abovebar, color=color.rgb(255, 0, 0), title="Exit Signal")