
Strategi ini membuat keputusan isyarat perdagangan berdasarkan indikator Bollinger Bands, menggunakan Stop Loss Stop Stop untuk menguruskan kedudukan. Strategi ini akan memantau keadaan pecah Bollinger Bands di atas dan di bawah landasan, melakukan lebih banyak apabila harga menembusi Bollinger Bands di atas landasan, membuat kosong apabila ia menembusi landasan, dan menggunakan Stop Loss Plate apabila ia menembusi sebaliknya.
Strategi ini menggunakan garis tengah, atas, dan bawah dalam indikator Brin. Garis tengah adalah nilai purata harga dalam tempoh tertentu, dengan garis atas adalah dua kali ganda perbezaan piawai ditambah dengan garis tengah, dan garis bawah adalah dua kali ganda perbezaan piawai tolak daripada garis tengah.
Kode pertama mengira rantaian tengah, rantaian atas dan rantaian bawah Brin. Kemudian, menentukan sama ada harga menembusi rantaian atas atau rantaian bawah. Jika ia menembusi rantaian atas, lakukan lebih banyak, dan jika ia menembusi rantaian bawah, lakukan kosong.
Secara ringkasnya, logik strategi adalah seperti berikut:
Dengan cara ini, trend boleh ditangkap apabila harga saham mengalami turun naik yang besar, dan kerugian boleh dikurangkan dengan menghentikan kerugian.
Ia boleh dioptimumkan melalui gabungan penunjuk, penyesuaian unit hentian yang sesuai dan sebagainya.
Strategi ini dicipta berdasarkan indikator Brinband untuk strategi trend yang lebih mudah. Ia boleh membentuk kedudukan dengan cepat apabila harga berlaku, dan menggunakan hentian untuk mengawal risiko. Tetapi mempertimbangkan faktor harga sahaja boleh menyebabkan kesalahan penghakiman, dan hentian yang terlalu sensitif boleh meningkatkan frekuensi perdagangan.
/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ROBO_Trading
//@version=5
strategy(title = "Bollinger Stop Strategy", shorttitle = "BBStop", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 10000, default_qty_value = 100, commission_value = 0.1)
//Settings
long = input(true)
short = input(true)
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
source = input(close)
showbb = input(true, title = "Show Bollinger Bands")
showof = input(true, title = "Show Offset")
startTime = input(defval = timestamp("01 Jan 2000 00:00 +0000"), title = "Start Time", inline = "time1")
finalTime = input(defval = timestamp("31 Dec 2099 23:59 +0000"), title = "Final Time", inline = "time1")
//Bollinger Bands
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
//Show indicator
offset = showof ? 1 : 0
colorBasis = showbb ? color.gray : na
colorUpper = showbb ? color.blue : na
colorLower = showbb ? color.blue : na
colorBands = showbb ? color.blue : na
p0 = plot(basis, "Basis", color = colorBasis, offset = offset)
p1 = plot(upper, "Upper", color = colorUpper, offset = offset)
p2 = plot(lower, "Lower", color = colorLower, offset = offset)
fill(p1, p2, title = "Background", color = colorBands, transp = 90)
//Trading
truetime = true
if basis > 0 and truetime
if long
strategy.entry("Long", strategy.long, stop = upper, when = truetime)
if short
strategy.entry("Short", strategy.short, stop = lower, when = truetime)
if long == false
strategy.exit("Exit", "Short", stop = upper)
if short == false
strategy.exit("Exit", "Long", stop = lower)
if time > finalTime
strategy.close_all()