Bollinger Band Channel Breakout Trading Strategi

Penulis:ChaoZhang, Tanggal: 2023-09-12 17:05:56
Tag:

Strategi ini memperdagangkan price breakout dari Bollinger Bands. Band secara efektif menentukan rentang osilasi harga, dengan breakout menandakan potensi perubahan tren.

Logika Strategi:

  1. Hitung garis tengah BB, band atas dan bawah. garis tengah adalah SMA periode n, lebar band adalah kelipatan standar deviasi periode n.

  2. Pergi panjang pada jalur bawah, dan pendek pada jalur atas.

  3. Atur stop loss pada band berlawanan untuk pengendalian risiko.

  4. Tahan untuk mengunci lebih banyak keuntungan, atau berhenti tetap.

  5. Gunakan order yang saling eksklusif untuk menghindari order long/short secara bersamaan.

Keuntungan:

  1. BB breakout secara akurat mengidentifikasi perubahan tren.

  2. Stop pada band memungkinkan exit tren tepat waktu.

  3. Pengecualian saling menghindari lindung nilai arah yang sama.

Risiko:

  1. BB rata-rata dan deviasi lag, kehilangan entri terbaik.

  2. Whipsaws umum di berbagai pasar.

  3. Parameter statis Tidak dapat menyesuaikan perubahan volatilitas.

Secara singkat, strategi ini memperdagangkan BB breakout sebagai sistem saluran yang khas.


/*backtest
start: 2022-09-05 00:00:00
end: 2023-09-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Kozlod - BB Strategy - 1 minute", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

// 
// author: Kozlod
// date: 2019-05-27
// RSI - BTCUSDT - 1m
// https://www.tradingview.com/u/Kozlod/
// https://t.me/quantnomad
//

source = close
length = input(45, minval=1)
mult = input(2.5, minval=0.001, maxval=50)

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

plot(upper)
plot(lower)

buyEntry  = crossover(source, lower)
sellEntry = crossunder(source, upper)

if (crossover(source, lower))
    strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands",  comment="BBandLE")
else
    strategy.cancel(id="BBandLE")

if (crossunder(source, upper))
    strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands",  comment="BBandSE")
else
    strategy.cancel(id="BBandSE")

Lebih banyak