Sumber daya yang dimuat... Pemuatan...

Bollinger Bands Standard Deviation Breakout Strategi

Penulis:ChaoZhang, Tanggal: 2024-04-30 16:51:34
Tag:SMA

img

Gambaran umum

Strategi ini didasarkan pada indikator Bollinger Bands. Ini memasuki posisi panjang ketika harga penutupan melanggar band atas dan memasuki posisi pendek ketika harga penutupan melanggar band bawah. Kondisi keluar untuk posisi panjang adalah ketika harga jatuh di bawah band tengah, dan kondisi keluar untuk posisi pendek adalah ketika harga melanggar band tengah. Strategi ini menggunakan posisi harga relatif terhadap band atas dan bawah Bollinger Bands untuk menentukan arah tren dan waktu masuk dan keluar.

Prinsip Strategi

  1. Menghitung band atas, tengah, dan bawah dari Bollinger Bands. Band tengah adalah rata-rata bergerak sederhana dari harga penutupan, dan band atas dan bawah adalah band tengah ditambah atau dikurangi beberapa kali lipat dari standar deviasi.
  2. Ketika harga penutupan melanggar band atas, masukkan posisi panjang.
  3. Ketika harga penutupan melanggar band bawah, masukkan posisi pendek.
  4. Ketika memegang posisi panjang, jika harga penutupan jatuh di bawah band tengah, tutup posisi panjang.
  5. Ketika memegang posisi pendek, jika harga penutupan melanggar band tengah, tutup posisi pendek.

Keuntungan Strategi

  1. Bollinger Bands dapat secara efektif mencerminkan rentang volatilitas harga dan arah tren. Menggunakan posisi harga relatif terhadap Bollinger Bands untuk entri dan keluar dapat menangkap pasar tren.
  2. Jarak antara band atas dan bawah dan band tengah adalah standar deviasi tertentu, yang dapat beradaptasi dengan perubahan volatilitas harga.
  3. Kondisi keluar menggunakan band tengah alih-alih pemutusan terbalik dari band atas atau bawah, memungkinkan stop-loss dan profit-taking awal.
  4. Parameter dapat disesuaikan, memungkinkan untuk mengoptimalkan periode Bollinger Band, pengganda deviasi standar, dan parameter lainnya untuk beradaptasi dengan simbol dan kerangka waktu yang berbeda.

Risiko Strategi

  1. Di pasar yang berkisar, harga dapat berosilasi berulang kali di dekat band atas dan bawah, berpotensi menyebabkan masuk dan keluar yang sering, yang mengarah pada peningkatan biaya transaksi.
  2. Ketika harga mempercepat pergerakan tren, titik masuk relatif tertinggal, dan kemampuan mengikuti tren lebih lemah.
  3. Pada awal pembalikan tren, retracement yang menyentuh band tengah akan memicu keluar, kehilangan pergerakan harga berikutnya jika tren terus berkembang.

Arah Optimasi Strategi

  1. ATR atau indikator stop-loss lainnya dapat dimasukkan untuk mengontrol drawdown.
  2. Dimensi posisi dinamis untuk posisi panjang dan pendek dapat digunakan untuk mengalokasikan posisi secara fleksibel berdasarkan kekuatan tren.
  3. Lebih banyak kondisi penyaringan, seperti indikator volume dan harga, dapat ditambahkan ke kondisi masuk untuk meningkatkan keandalan sinyal masuk.

Ringkasan

Strategi ini adalah strategi klasik yang mengikuti tren yang menangkap pasar yang sedang tren menggunakan Bollinger Bands. Logika strategi jelas, dan kelebihannya jelas, tetapi juga memiliki risiko tertentu. Dengan mengoptimalkan stop-loss, profit-taking, manajemen posisi, dan filter entri, kinerja strategi dapat ditingkatkan, dan kemampuan beradaptasi dapat ditingkatkan. Namun, setiap strategi memiliki keterbatasan dan perlu diterapkan secara fleksibel seiring dengan kondisi pasar yang sebenarnya.


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// This displays the traditional Bollinger Bands, the difference is 
// that the 1st and 2nd StdDev are outlined with two colors and two
// different levels, one for each Standard Deviation

strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true)
src = input(close)
length = input.int(20, minval=1, title = "Length")
mult = input.float(2.0, minval=0.001, maxval=50, title = "Multiplier")

basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

// Strategy
long_condition = ta.crossover(close, upper1)
short_condition = ta.crossunder(close, lower1)

if (long_condition)
    strategy.entry("Long", strategy.long)
if (short_condition)
    strategy.entry("Short", strategy.short)

// Exit conditions
exit_long_condition = ta.crossunder(close, basis)
exit_short_condition = ta.crossover(close, basis)

if (exit_long_condition)
    strategy.close("Long")
if (exit_short_condition)
    strategy.close("Short")


colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))

Berkaitan

Lebih banyak