Strategi ini menjana isyarat perdagangan berdasarkan penunjuk Bollinger Bands dan menguruskan kedudukan menggunakan stop-loss / take-profit. Ia memantau pecahnya band atas dan bawah Bollinger Bands, pergi lama apabila harga memecahkan band atas, pergi pendek apabila harga memecahkan band bawah, dan keluar apabila harga memecahkan band ke belakang menggunakan pesanan stop-loss.
Strategi ini menggunakan band tengah, atas dan bawah dari penunjuk Bollinger Bands. Band tengah adalah purata bergerak, band atas adalah band tengah ditambah 2 penyimpangan standard, dan band bawah adalah band tengah dikurangkan 2 penyimpangan standard.
Pertama ia mengira Bollinger Bands tengah, atas dan bawah band. Kemudian ia memeriksa sama ada harga pecah di atas band atas atau di bawah band bawah. Jika harga pecah di atas band atas, ia pergi panjang. Jika harga pecah di bawah band bawah, ia pergi pendek. Juga jika harga memecahkan band terbalik, ia keluar kedudukan menggunakan perintah stop-loss.
Secara khusus, logik strategi adalah:
Ini membolehkan menangkap trend apabila harga membuat pergerakan besar, sambil mengehadkan kerugian menggunakan stop-loss.
Boleh mengoptimumkan melalui menggabungkan penunjuk, menyesuaikan unit stop-loss dan lain-lain.
Ini adalah trend yang agak mudah mengikuti strategi berdasarkan Bollinger Bands. Ia boleh mengambil kedudukan dengan cepat apabila harga pecah dan menggunakan stop-loss untuk mengawal risiko. Tetapi bergantung hanya pada harga boleh menyebabkan salah menilai, sementara stop-loss sensitif boleh meningkatkan kekerapan perdagangan. Kita boleh meningkatkannya melalui penyesuaian parameter, menggabungkan penunjuk, menyesuaikan berhenti dll. Secara keseluruhan ia menyediakan kerangka perdagangan kuant yang mudah dan boleh dipercayai.
/*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()