
Strategi ini didasarkan pada indikator Bollinger Bands, membuka posisi ketika harga menyentuh Bollinger Bands dan naik ke bawah, dan mengatur stop-and-go dan logik kenaikan posisi secara dinamis. Ketika harga melesat dari bawah dan menembus Bollinger Bands, strategi ini menganggap bahwa tren naik terbentuk, dan strategi ini akan melakukan kenaikan posisi ketika harga kembali ke arah arah tertentu. Ketika harga akhirnya menembus Bollinger Bands dan naik ke atas, strategi ini mengambil keuntungan.
Prinsip-prinsip utama dari strategi ini adalah sebagai berikut:
Perhitungan Brin band atas lintasan, lintasan tengah, dan lintasan bawah. Rumus untuk lintasan atas dan bawah adalah N kali perbedaan standar penambahan dan pengurangan lintasan tengah, di mana N dapat disesuaikan.
Ketika harga tutup jatuh di bawah Brin dan tidak membuka posisi sebelumnya, strategi membuka posisi lebih banyak; ketika harga tutup menembus Brin dan tidak membuka posisi sebelumnya, strategi membuka posisi kosong. Logika membuka posisi di sini mirip dengan sistem Brin yang tradisional.
Setelah membuka posisi, jika harga close out menembus Bollinger Bands, maka akan dianggap bahwa ada tren naik. Variabel basisCrossed ditandai sebagai true. Setelah membuka posisi kosong, jika harga close out menembus Bollinger Bands, ditandai sebagai true.
Dalam situasi berorasi, jika harga penutupan turun dan basisCrossed adalah benar, dan harga saat ini lebih dari 2 persen dari harga awal, maka strategi berorasi, dan basisCrossed akan disetel kembali menjadi false. Dalam situasi kosong, sebaliknya.
Jika harga penutupan melepasi Bollinger Bands ketika memegang posisi multi-head, atau harga penutupan melepasi Bollinger Bands ketika memegang posisi kosong, strategi tersebut adalah untuk meratakan semua posisi, menghasilkan keuntungan, dan menempatkan kembali setiap variabel yang ditandai untuk mempersiapkan posisi berikutnya.
Strategi ini dapat beroperasi dengan fleksibel dalam situasi tren, dan mendapatkan keuntungan yang lebih tinggi. Dengan menggunakan indikator teknis klasik Brin untuk menangkap tren, strategi ini juga memiliki kemampuan beradaptasi dan stabilitas.
Stop-loss dinamis: Strategi ini secara dinamis menyesuaikan stop-loss dengan turunnya Bollinger Bands, yang dapat beradaptasi dengan lebih baik terhadap fluktuasi pasar dan melindungi keuntungan secara fleksibel dibandingkan dengan stop-loss titik tetap.
Peningkatan posisi dinamis: Pada tahap penarikan setelah tren terbentuk, strategi akan meningkat secara bertahap, sehingga dapat memperoleh keuntungan yang lebih tinggi dalam situasi tren. Peningkatan posisi dinamis membuat strategi ini lebih unggul dalam perdagangan tren.
Fleksibilitas Parameter: Parameter Brinband seperti nilai N, P dan lainnya dapat disesuaikan secara fleksibel untuk menyesuaikan dengan karakteristik pasar dan gaya perdagangan yang berbeda.
Adaptif: Bollinger Bands adalah indikator teknis klasik yang memiliki kemampuan menangkap tren yang baik. Dikombinasikan dengan manajemen posisi dinamis, mereka dapat digunakan secara stabil di berbagai pasar keuangan.
Logika yang jelas: Strategi ini membuka posisi dengan kondisi yang sangat jelas dan logika kenaikan dan penurunan posisi yang sangat jelas, sehingga mudah dipahami dan dikendalikan oleh para pedagang. Logika yang jelas juga berarti lebih mudah untuk melakukan pengembangan sekunder dan optimasi strategi.
Pasar bergolak: Strategi Bollinger Bands cenderung berkinerja buruk di pasar bergolak, di mana penutupan posisi yang sering terjadi dapat menyebabkan biaya transaksi yang lebih tinggi, sehingga mempengaruhi pendapatan keseluruhan.
Trend reversal: Pada saat-saat penting dari trend reversal, strategi ini dapat terjadi lag dalam penilaian, yang menyebabkan kenaikan posisi di arah yang salah, sehingga menghasilkan penarikan besar.
Dalam situasi ekstrim (seperti badai yang melanda), tren Brin bisa terjadi secara tidak normal, sehingga strategi ini tidak akan berhasil.
Pengaturan parameter: Pengaturan parameter yang tidak tepat dapat sangat mempengaruhi kinerja strategi, seperti pengaturan N yang terlalu kecil dapat menyebabkan perdagangan yang terlalu sering, dan pengaturan N yang terlalu besar dapat menyebabkan sinyal yang terlambat.
Black Swan Incident: Strategi ini mungkin memiliki risiko yang lebih besar jika terjadi peristiwa ekonomi dan politik yang signifikan.
Untuk menghadapi risiko di atas, Anda dapat mulai mengontrol dari dua sisi: 1) pengaturan parameter yang masuk akal, parameter yang dioptimalkan untuk berbagai standar dan keadaan pasar; 2) menambahkan lebih banyak kondisi penyaringan ke dalam strategi, seperti penilaian tren, penyaringan tingkat fluktuasi, dan lain-lain, untuk meningkatkan kualitas sinyal. Selain itu, dalam penerapan praktis, Anda juga perlu melakukan kontrol posisi dan manajemen risiko yang baik, dan mengontrol dengan ketat celah risiko perdagangan tunggal.
Filter tren: Logika penilaian tren yang ditambahkan saat membuka posisi, seperti MA bertingkat sebagai kondisi penyaringan untuk melakukan lebih banyak, dan MA bertingkat sebagai kondisi penyaringan untuk melakukan lebih sedikit, dapat meningkatkan tingkat keberhasilan menangkap tren.
Brinband sebenarnya juga merupakan indikator volatilitas, yang dapat digunakan untuk mengidentifikasi kondisi pasar yang berfluktuasi dengan memperkenalkan ATR, tingkat fluktuasi historis, dan lain-lain. Dengan demikian, posisi dapat dikurangi dengan tepat pada kondisi gelombang tinggi dan posisi ditingkatkan pada kondisi gelombang rendah, sehingga lebih baik mengendalikan risiko.
Optimasi parameter dinamis: Parameter Brin bisa disesuaikan secara dinamis dengan kondisi pasar. Misalnya, N-nilai dapat ditingkatkan dalam situasi tren dan dikurangi dalam pasar yang bergolak. Ini membutuhkan bantuan teknologi seperti pembelajaran mesin untuk menemukan parameter optimal dengan pelatihan data historis.
Strategi kombinasi: Strategi ini dapat dikombinasikan dengan strategi klasik lainnya seperti MACD, RSI, dan lain-lain untuk membentuk strategi kombinasi yang meningkatkan stabilitas dan profitabilitas sistem.
Menambahkan Stop Loss Logic: Saat ini strategi ini tidak memiliki logika stop loss yang jelas, Anda dapat mempertimbangkan untuk menambahkan mekanisme seperti stop loss bergerak atau stop loss persentase tetap untuk mengontrol kerugian maksimum dalam satu perdagangan.
Optimalisasi manajemen posisi: Dalam proses kenaikan dan penurunan posisi, Anda dapat memanfaatkan metode manajemen posisi klasik seperti rumus Kelly, nilai F optimal, dan sebagainya untuk memaksimalkan keuntungan dengan risiko yang dapat dikendalikan.
Dengan optimasi di atas, strategi ini dapat meningkatkan rasio risiko / keuntungan lebih lanjut, sehingga dapat beradaptasi dengan lebih baik terhadap perubahan lingkungan pasar, memberikan keuntungan yang stabil bagi para pedagang.
Strategi Brin-Band Dynamic Stop-Stop and Dynamic Up-Shooting adalah strategi pelacakan tren klasik yang didasarkan pada Brin-Band untuk mendapatkan keuntungan tren yang lebih tinggi dengan menyesuaikan posisi secara dinamis. Strategi ini memiliki logika yang jelas, parameter yang fleksibel, dan kemampuan beradaptasi yang kuat. Ini adalah strategi perdagangan kuantitatif yang layak untuk diteliti dan diterapkan secara mendalam.
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
// Bollinger Bands 1Bb 상하한 크로스 롱숏 실행
strategy(shorttitle="BB", title="Bollinger Bands", overlay=true )
// bb
length = input.int(12, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
add = input.float(0.98, step = 0.001)
// plot(upper - lower, "Basis", color=color.red, offset = offset)
var bool entryMade = false
var bool basisCrossed = false
var bool upperCrossed = false
var bool lowerCrossed = false
strategy.initial_capital = 50000
if close < lower and not entryMade
strategy.entry("롱", strategy.long, qty = strategy.initial_capital/10000)
entryMade := true
if ta.crossover(close, basis) and entryMade and not upperCrossed
basisCrossed := true
if close > upper
upperCrossed := true
if close < lower and entryMade and basisCrossed and not upperCrossed and close < strategy.position_avg_price*add
strategy.entry("추가롱", strategy.long, strategy.initial_capital/10000)
basisCrossed := false
if close > upper
strategy.close("롱")
strategy.close("추가롱")
entryMade := false
basisCrossed := false
upperCrossed := false
///////////반대 포지션
if close > upper and not entryMade
strategy.entry("s", strategy.short, qty = strategy.initial_capital/10000)
entryMade := true
if ta.crossunder(close, basis) and entryMade and not lowerCrossed
basisCrossed := true
if close < lower
lowerCrossed := true
if close > upper and entryMade and basisCrossed and not lowerCrossed and close > strategy.position_avg_price*add
strategy.entry("추가s", strategy.short, strategy.initial_capital/10000)
basisCrossed := false
if close < lower
strategy.close("s")
strategy.close("추가s")
entryMade := false
basisCrossed := false
upperCrossed := false