Sumber dimuat naik... memuat...

Strategi Bollinger Bands Stochastic Oscillator

Penulis:ChaoZhang, Tarikh: 2024-05-09 15:59:11
Tag:SMA

img

Ringkasan

Strategi ini adalah strategi dagangan berdasarkan Bollinger Bands dan Stochastic Oscillator. Ia menggunakan Bollinger Bands untuk menentukan julat turun naik pasaran dan menggunakan Stochastic Oscillator untuk menilai keadaan overbought dan oversold di pasaran. Apabila harga memecahkan di atas Bollinger Band atas, strategi itu pergi panjang; apabila harga jatuh di bawah Bollinger Band bawah, strategi itu pergi pendek. Pada masa yang sama, strategi ini juga menggunakan Stochastic Oscillator untuk menapis isyarat dagangan untuk meningkatkan ketepatan dan kebolehpercayaan strategi.

Prinsip Strategi

Inti strategi ini adalah dua penunjuk teknikal: Bollinger Bands dan Stochastic Oscillator. Bollinger Bands terdiri daripada tiga garis: band tengah, band atas, dan band bawah. Band tengah adalah purata bergerak harga yang mudah, sementara band atas dan bawah adalah band tengah ditambah dan tolak kelipatan standard deviasi harga. Apabila harga memecahkan di atas band atas, ia menunjukkan bahawa pasaran mungkin terlalu banyak dibeli; apabila harga jatuh di bawah band bawah, ia menunjukkan bahawa pasaran mungkin terlalu banyak dijual.

Osilator Stochastic terdiri daripada dua garis: garis %K dan garis %D. Garis %K mengukur kedudukan harga penutupan dalam harga tertinggi dan terendah dalam tempoh baru-baru ini, dan garis %D adalah purata bergerak garis %K. Apabila garis %K melintasi di atas garis %D, ia menunjukkan bahawa pasaran mungkin terlalu banyak dibeli; apabila garis %K melintasi di bawah garis %D, ia menunjukkan bahawa pasaran mungkin terlalu banyak dijual.

Strategi ini menggabungkan kedua-dua penunjuk ini. Apabila harga memecahkan di atas Bollinger Band atas dan garis Stochastic Oscillator %K melintasi di atas garis %D, strategi akan panjang; apabila harga jatuh di bawah Bollinger Band bawah dan garis Stochastic Oscillator %K melintasi di bawah garis %D, strategi akan pendek. Gabungan ini dapat menangkap trend pasaran dengan berkesan sambil mengelakkan perdagangan yang kerap di pasaran yang tidak menentu.

Kelebihan Strategi

  1. Ia menggabungkan penunjuk kedua-dua trend dan keadaan pasaran berayun, yang membolehkannya memperoleh pulangan yang stabil dalam persekitaran pasaran yang berbeza.
  2. Bollinger Bands boleh menyesuaikan secara dinamik untuk menyesuaikan diri dengan perubahan dalam turun naik pasaran, meningkatkan kebolehsesuaian strategi.
  3. Stochastic Oscillator dapat menapis beberapa isyarat pecah palsu dengan berkesan, meningkatkan ketepatan strategi.
  4. Logik strategi adalah jelas dan mudah difahami dan dilaksanakan, menjadikannya sesuai untuk peniaga dari pelbagai peringkat.

Risiko Strategi

  1. Dalam situasi di mana trend pasaran tidak jelas atau turun naiknya tinggi, strategi boleh menghasilkan banyak isyarat palsu, yang membawa kepada perdagangan dan kerugian yang kerap.
  2. Strategi ini bergantung pada data sejarah dan mungkin mengalami pengeluaran yang ketara dalam menghadapi peristiwa yang tidak dijangka atau anomali pasaran.
  3. Pilihan parameter strategi mempunyai kesan yang signifikan terhadap prestasi strategi, dan parameter yang berbeza boleh membawa kepada hasil yang sama sekali berbeza.

Arahan Pengoptimuman Strategi

  1. Pertimbangkan untuk menambah lebih banyak syarat penapisan, seperti jumlah dagangan, penunjuk teknikal lain, dan lain-lain, untuk meningkatkan kebolehpercayaan isyarat.
  2. Mengoptimumkan parameter Bollinger Bands dan Stochastic Oscillator untuk mencari kombinasi parameter yang paling sesuai dengan pasaran semasa.
  3. Memperkenalkan mekanisme pengurusan risiko, seperti stop loss dan trailing stop loss, untuk mengawal risiko perdagangan tunggal.
  4. Pertimbangkan untuk menggabungkan strategi ini dengan strategi lain untuk membentuk portfolio strategi yang lebih kukuh.

Ringkasan

Strategi ini adalah strategi perdagangan yang mudah namun berkesan yang menggabungkan dua penunjuk teknikal klasik, Bollinger Bands dan Stochastic Oscillator, untuk mencapai pulangan yang stabil dalam kedua-dua keadaan pasaran yang sedang trend dan berayun.


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

//@version=5
strategy("Unique Bollinger Bands Strategy", overlay=true)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)

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

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))




// Parameters
bbLength = input.int(34, title="Length", minval=1)
bbMultiplier = input.float(2.0, title="Multiplier", minval=0.001, maxval=50)

// Source
priceData = close // Unique name for price data source

// Bollinger Bands Calculation
bbBasis = ta.sma(priceData, bbLength)
bbDeviation = ta.stdev(priceData, bbLength)
bbDeviationMultiplied = bbMultiplier * bbDeviation

bbUpperBand = bbBasis + bbDeviationMultiplied
bbLowerBand = bbBasis - bbDeviationMultiplied

// Plot Bollinger Bands
plot(bbBasis, color=color.blue, linewidth=2)
plot(bbUpperBand, color=color.blue)
plot(bbLowerBand, color=color.orange)

// Strategy Logic for Entry and Exit
enterLong = ta.crossover(priceData, bbUpperBand)
enterShort = ta.crossunder(priceData, bbLowerBand)

// Enter Long when price crosses over upper band
if (enterLong)
    strategy.entry("Long", strategy.long)
// Enter Short when price crosses under lower band
if (enterShort)
    strategy.entry("Short", strategy.short)

// Close Long when Short condition is met (i.e., price under lower band)
if (enterShort)
    strategy.close("Long")
// Close Short when Long condition is met (i.e., price over upper band)
if (enterLong)
    strategy.close("Short")






Berkaitan

Lebih lanjut