Strategi ini berdasarkan pada indikator Bollinger Bands, melakukan lebih banyak apabila harga menembusi Bollinger Bands ke bawah, dan menutup apabila harga menyentuh Bollinger Bands ke atas. Strategi ini menggunakan prinsip inklusif Bollinger Bands, untuk mengesan penembusan harga yang luar biasa, untuk tujuan membeli dan menjual.
Hitung SMA garis tengah di Binance dengan mengambil purata bergerak sederhana dari harga penutupan terkini.
Perbezaan piawai StdDev, mencerminkan pergerakan harga.
SMA tengah ditambah dengan bias pada standard deviasi, mendapat Brin di atas landasan.
Garis tengah SMA tolak bias bawah standard deviasi, mendapat Brin yang terbawa ke bawah.
Apabila harga penutupan naik dari bawah ke bawah, masukkan lebih banyak.
Apabila harga menyentuh landasan, anggap harga tidak normal, dan keluar dari kedudukan kosong.
Kelebihan utama strategi ini ialah menggunakan ciri-ciri statistik indikator Bollinger Bands untuk mengesan pergerakan pasaran yang tidak normal dan menangkap trend. Strategi Bollinger Bands mempunyai kelebihan yang lebih besar berbanding dengan strategi purata bergerak biasa:
Brin boleh menyesuaikan diri dengan turun naik pasaran secara automatik.
Penembusan lebih dipercayai sebagai isyarat masuk.
Kembali ke tengah-tengah aksen sebagai isyarat berhenti adalah munasabah.
Terdapat banyak ruang untuk mengoptimumkan parameter, yang boleh disesuaikan dengan pasaran yang berbeza.
Ia juga boleh digunakan untuk garis pendek.
Risiko utama strategi ini ialah:
Brinband tidak berfungsi dengan baik di pasaran horizontal, dan anda harus mengelakkan kesalahan.
Isyarat penembusan boleh menjadi penembusan palsu, perlu dipertimbangkan dengan berhati-hati.
Kedudukan penangguhan terlalu ideal, boleh dioptimumkan untuk keadaan sebenar.
Tetapan parameter yang tidak betul boleh menyebabkan perdagangan yang terlalu kerap atau konservatif.
Kitaran pengembalian perlu cukup lama untuk mengelakkan kecocokan.
Langkah-langkah pengurusan risiko yang berkaitan:
Isyarat penapisan dengan penunjuk jumlah transaksi.
Mengoptimumkan parameter, menguji keberkesanan data di pasaran yang berbeza.
Tambahan stop loss bergerak, kedudukan berhenti bergilir.
Menerima isyarat berpatah balik dan mengelakkan mengejar.
Strategi ini boleh dioptimumkan dengan:
Cuba parameter pita Brin dengan saiz yang berbeza untuk mencari kombinasi terbaik.
Menambah garis purata, penapis penembusan MACD dan lain-lain.
Menggunakan algoritma pembelajaran mesin untuk mengoptimumkan parameter Brin.
Pada masa yang sama, menilai kekuatan dan kelemahan mereka dan menyesuaikan kedudukan.
Mengembalikan data jangka masa yang lebih lama, menguji kestabilan strategi.
Menambah mekanisme penangguhan kerugian untuk mengawal risiko.
Strategi Brin Belt secara keseluruhannya adalah strategi pengesanan trend yang boleh dipercayai. Ia dapat menangkap turun naik harga yang luar biasa secara berkesan. Tetapi kita juga harus berhati-hati dengan penyimpangan dari keadaan sebenar, dan terus mengoptimumkan parameter.
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-12 04:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="BB training No Repainting (OTS Mode)", overlay=true)
// Strategy Rules:
// 1. Enter trade when price crosses above the lower band
// 2. Exit trade when price touches the upper band
//
// Chart Properties
testStartYear = input(2010, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)
testStopYear = input(2030, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ? #6c6f6c : na
bgcolor(testPeriodBackgroundColor, transp=97)
// User provided values
smaLength = input(title="SMA Length", type=input.integer, defval=20) // Middle band period length (moving average)
stdLength = input(title="StdDev Length", type=input.integer, defval=20) // Range to apply bands to
ubOffset = input(title="Upper Band Offset", type=input.float, defval=2.0, step=0.5) // Number of standard deviations above MA
lbOffset = input(title="Lower Band Offset", type=input.float, defval=2.0, step=0.5) // Number of standard deviation below MA
testPeriod() =>
time >= testPeriodStart and time <= testPeriodStop ? true : false
smaValue = sma(close, smaLength) // Middle band
stdDev = stdev(close, stdLength)
upperBand = smaValue + stdDev * ubOffset // Top band
lowerBand = smaValue - stdDev * lbOffset // Bottom band
// Plot bands to chart
plot(series=smaValue, title="SMA", color=color.green)
plot(series=upperBand, title="UB", color=color.blue, linewidth=2)
plot(series=lowerBand, title="LB", color=color.blue, linewidth=2)
longCondition = (crossover(close, lowerBand))
closeLongCondition = (close >= upperBand)
if (longCondition and testPeriod())
strategy.entry(id="CALL", long=true)
strategy.close(id="CALL", when=closeLongCondition)