Strategi Perdagangan Penembusan Saluran Bollinger Band

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

Strategi ini memperdagangkan penembusan harga Bollinger Bands. Band secara berkesan menentukan julat goyangan harga, dengan penembusan menandakan perubahan trend yang berpotensi.

Logik Strategi:

  1. Hitung garis tengah BB, jalur atas dan bawah. garis tengah adalah SMA n-periode, lebar jalur adalah kelipatan deviasi standard n-periode.

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

  3. Tetapkan stop loss pada band bertentangan untuk kawalan risiko.

  4. Hentikan untuk mengunci lebih banyak keuntungan, atau hentikan tetap.

  5. Menggunakan pesanan yang saling mengecualikan untuk mengelakkan jangka panjang / pendek secara serentak.

Kelebihan:

  1. Penembusan BB dengan tepat mengenal pasti perubahan trend.

  2. Hentian pada jalur membolehkan keluar trend tepat pada masanya.

  3. Pengecualian bersama mengelakkan lindung nilai arah yang sama.

Risiko:

  1. Rata-rata BB dan kelewatan penyimpangan, kehilangan entri terbaik.

  2. Whipsaws biasa di pelbagai pasaran.

  3. Parameter statik Tidak dapat menyesuaikan perubahan turun naik.

Ringkasnya, strategi ini memperdagangkan BB breakouts sebagai sistem saluran biasa.


/*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 lanjut