
Strategi ini adalah strategi perdagangan dua hala yang berasaskan Brin Belt. Ia menggunakan Brin Belt atas dan bawah sebagai isyarat untuk membeli dan menjual, dan menetapkan titik berhenti untuk mengawal risiko.
Strategi ini menggunakan jalur atas dan bawah Brin Belt. The Brin Belt terdiri daripada dua saluran standard deviasi yang sesuai dengan garis rata-rata. Ia menghasilkan isyarat jual apabila harga menyentuh atau menembusi jalur Brin Belt. Ia menghasilkan isyarat beli apabila harga menyentuh atau menembusi jalur Brin Belt.
Khususnya, strategi ini memetakan jalur Brin dengan mengira dua kali ganda rata-rata dan selisih piawai mereka dalam tempoh yang ditetapkan (seperti 20 hari). Garis atas adalah rata-rata ditambah dua kali ganda selisih piawai, dan garis bawah adalah dua kali ganda selisih piawai tolak dari rata-rata.
Strategi ini memanfaatkan ciri-ciri Brin band, yang dapat menghantar isyarat perdagangan apabila terdapat pergerakan harga yang tidak normal, dengan itu menangkap peluang untuk membalikkan harga. Berbanding dengan strategi yang hanya mengikuti garis lurus, strategi ini dapat menghasilkan isyarat perdagangan apabila turun naik meningkat, sehingga mengelakkan risiko pecah palsu.
Strategi ini menambah mekanisme penangguhan berbanding dengan strategi penembusan dua orbit yang mudah. Ini dapat mengawal kerugian yang disebabkan oleh isyarat salah individu dengan berkesan. Tetapan titik penangguhan juga lebih munasabah, lebih dekat dengan garis purata, dan mengelakkan kerugian yang berlebihan yang disebabkan oleh penangguhan yang terlalu radikal.
Risiko terbesar dalam strategi ini adalah bahawa Bollinger Bands sendiri tidak dapat memastikan keberkesanan isyarat perdagangan. Apabila terdapat keadaan luar biasa di pasaran, harga mungkin mengalami turun naik yang tidak munasabah, di mana isyarat perdagangan yang dikeluarkan oleh Bollinger Bands mungkin salah.
Di samping itu, tetapan titik berhenti mungkin terlalu radikal atau konservatif, yang akan menjejaskan hasil akhir. Jika stop loss terlalu besar, isyarat yang berkesan mungkin sering dimatikan; dan jika stop loss terlalu kecil, kehilangan tidak dapat dikawal dengan berkesan.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Uji kombinasi parameter yang berbeza, seperti purata kitaran, kali ganda perbezaan piawai, peratusan hentian, dan lain-lain, untuk mencari parameter yang optimum;
Menambah penghakiman dengan penunjuk lain, membentuk keadaan penapisan berganda, dan mengelakkan isyarat yang salah;
Mengoptimumkan strategi henti kerugian, seperti menggunakan henti rugi bergerak, henti rugi secara beratur dan lain-lain sebagai alternatif kepada henti rugi yang mudah;
Blink yang digabungkan dengan kitaran masa yang berbeza untuk mengesahkan isyarat perdagangan, mengelakkan kecurangan.
Strategi ini secara keseluruhan adalah strategi yang praktikal yang menggabungkan trend dan dua jalur. Ia dapat menangkap peluang untuk berbalik ketika turun naik harga meningkat, dan menetapkan hentian untuk mengawal risiko. Dengan cara seperti pengoptimuman parameter, peningkatan penapisan isyarat, dan pengoptimuman strategi hentian kerugian, anda dapat meningkatkan kestabilan dan keuntungan strategi ini.
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands Strategy by Royce Mars", overlay=true)
length = input.int(20, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
stopLossPercent = input.float(1.0, title="Stop Loss Percent", minval=0.1, maxval=10, step=0.1)
ma(source, length, _type) =>
switch _type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Buy and Sell Conditions
buyCondition = close <= lower
sellCondition = close >= upper
// Stop Loss Condition
stopLossCondition = close < basis * (1 - stopLossPercent / 100)
// Strategy Execution
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition or stopLossCondition)
strategy.entry("Sell", strategy.short, when=sellCondition)
strategy.close("Sell", when=buyCondition)
// Plotting on the Chart
plotshape(buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(sellCondition or stopLossCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)
// Plotting the Bollinger Bands
plot(basis, "Basis", color=color.orange)
p1 = plot(upper, "Upper Band", color=color.blue)
p2 = plot(lower, "Lower Band", color=color.blue)
fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95))