Sumber daya yang dimuat... Pemuatan...

Bollinger Bands Strategi osilator stokastik

Penulis:ChaoZhangTanggal: 2024-05-09 15:59:11
Tag:SMA

img

Gambaran umum

Strategi ini adalah strategi trading berdasarkan Bollinger Bands dan Stochastic Oscillator. Strategi ini menggunakan Bollinger Bands untuk menentukan rentang volatilitas pasar dan menggunakan Stochastic Oscillator untuk menilai keadaan overbought dan oversold di pasar. Ketika harga melanggar di atas Bollinger Band atas, strategi akan panjang; ketika harga jatuh di bawah Bollinger Band bawah, strategi akan pendek. Pada saat yang sama, strategi ini juga menggunakan Stochastic Oscillator untuk menyaring sinyal perdagangan untuk meningkatkan akurasi dan keandalan strategi.

Prinsip Strategi

Inti dari strategi ini adalah dua indikator teknis: Bollinger Bands dan Stochastic Oscillator. Bollinger Bands terdiri dari tiga garis: band tengah, band atas, dan band bawah. Band tengah adalah rata-rata bergerak sederhana dari harga, sementara band atas dan bawah adalah band tengah ditambah dan dikurangi beberapa kali lipat dari standar deviasi harga. Ketika harga melanggar band atas, itu menunjukkan bahwa pasar mungkin overbought; ketika harga jatuh di bawah band bawah, itu menunjukkan bahwa pasar mungkin oversold.

Stokastis Osilator terdiri dari dua garis: garis %K dan garis %D. %K garis mengukur posisi harga penutupan dalam harga tertinggi dan terendah selama periode terakhir, dan garis %D adalah rata-rata bergerak dari garis %K. Ketika garis %K melintasi di atas garis %D, itu menunjukkan bahwa pasar mungkin overbought; ketika garis %K melintasi di bawah garis %D, itu menunjukkan bahwa pasar mungkin oversold.

Strategi ini menggabungkan kedua indikator ini. Ketika harga pecah di atas Bollinger Band atas dan garis Stochastic Oscillator %K melintasi di atas garis %D, strategi berjalan panjang; ketika harga jatuh di bawah Bollinger Band bawah dan garis Stochastic Oscillator %K melintasi di bawah garis %D, strategi berjalan pendek. Kombinasi ini dapat secara efektif menangkap tren pasar sambil menghindari perdagangan yang sering di pasar yang tidak stabil.

Keuntungan Strategi

  1. Ini menggabungkan indikator dari kedua tren dan kondisi pasar berosilasi, yang memungkinkan untuk mendapatkan pengembalian yang stabil di lingkungan pasar yang berbeda.
  2. Bollinger Bands dapat menyesuaikan secara dinamis untuk beradaptasi dengan perubahan volatilitas pasar, meningkatkan kemampuan adaptasi strategi.
  3. Stochastic Oscillator dapat secara efektif menyaring beberapa sinyal breakout palsu, meningkatkan akurasi strategi.
  4. Logika strategi yang jelas dan mudah dipahami dan diterapkan, membuatnya cocok untuk pedagang dari berbagai tingkat.

Risiko Strategi

  1. Dalam situasi di mana tren pasar tidak jelas atau volatilitasnya tinggi, strategi dapat menghasilkan banyak sinyal palsu, yang mengarah pada perdagangan dan kerugian yang sering.
  2. Strategi ini didasarkan pada data historis dan mungkin mengalami penurunan yang signifikan dalam menghadapi peristiwa yang tidak terduga atau anomali pasar.
  3. Pilihan parameter strategi memiliki dampak yang signifikan pada kinerja strategi, dan parameter yang berbeda dapat menghasilkan hasil yang sama sekali berbeda.

Arah Optimasi Strategi

  1. Pertimbangkan untuk menambahkan lebih banyak kondisi penyaringan, seperti volume perdagangan, indikator teknis lainnya, dll, untuk meningkatkan keandalan sinyal.
  2. Mengoptimalkan parameter Bollinger Bands dan Stochastic Oscillator untuk menemukan kombinasi parameter yang paling sesuai dengan pasar saat ini.
  3. Memperkenalkan mekanisme manajemen risiko, seperti stop loss dan trailing stop loss, untuk mengendalikan risiko perdagangan tunggal.
  4. Pertimbangkan untuk menggabungkan strategi ini dengan strategi lain untuk membentuk portofolio strategi yang lebih kuat.

Ringkasan

Strategi ini adalah strategi trading yang sederhana namun efektif yang menggabungkan dua indikator teknis klasik, Bollinger Bands dan Stochastic Oscillator, untuk mencapai pengembalian yang stabil baik dalam kondisi pasar yang sedang tren maupun berosilasi.


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