Strategi Osilator Stokastik Bollinger Bands

SMA
Tanggal Pembuatan: 2024-05-09 15:59:11 Akhirnya memodifikasi: 2024-05-09 15:59:11
menyalin: 0 Jumlah klik: 836
1
fokus pada
1617
Pengikut

Strategi Osilator Stokastik Bollinger Bands

Ringkasan

Strategi ini adalah strategi perdagangan yang didasarkan pada pita Brin dan osilator acak. Strategi ini menggunakan pita Brin untuk menentukan kisaran fluktuasi pasar dan menggunakan osilator acak untuk menilai keadaan overbought dan oversold pasar.

Prinsip Strategi

Inti dari strategi ini adalah dua indikator teknis Brin Belt dan Random Oscillator. Brin Belt terdiri dari tiga garis: rel tengah, rel atas, dan rel bawah. Rel tengah adalah rata-rata bergerak sederhana dari harga, dengan rel atas dan rel bawah masing-masing adalah beberapa kali lipat dari selisih standar harga rel tengah ditambah dan dikurangi.

Oscillator acak terdiri dari dua garis: garis%K dan garis%D. Garis%K mengukur posisi harga penutupan antara harga tertinggi dan terendah dalam periode waktu terakhir, dan garis%D adalah rata-rata bergerak dari garis%K. Ketika melewati garis%D di atas garis%K, pasar mungkin berada dalam keadaan overbought; Ketika melewati garis%D di bawah garis%K, pasar mungkin berada di keadaan oversold.

Strategi ini menggabungkan kedua indikator ini, dengan melakukan overtrading ketika harga menembus Bollinger Bands dan melintasi% D dengan osilator% K secara acak; dan melakukan undertrading ketika harga melintasi Bollinger Bands dan melintasi% D dengan osilator% K secara acak. Kombinasi ini dapat secara efektif menangkap tren pasar, dan juga dapat menghindari perdagangan yang sering terjadi di pasar yang bergejolak.

Keunggulan Strategis

  1. Kombinasi indikator dari dua kondisi pasar, yaitu tren dan getaran, dapat menghasilkan keuntungan yang stabil di berbagai lingkungan pasar.
  2. Brin Belt mampu beradaptasi secara dinamis dengan perubahan volatilitas pasar, meningkatkan kemampuan adaptasi strategi.
  3. Osilator acak dapat secara efektif memfilter beberapa sinyal penembusan palsu, meningkatkan keakuratan strategi.
  4. Strategi logis yang jelas, mudah dipahami dan diterapkan, cocok untuk digunakan oleh trader dari berbagai tingkatan.

Risiko Strategis

  1. Strategi ini dapat menghasilkan lebih banyak sinyal palsu, yang menyebabkan perdagangan yang lebih sering dan kerugian, jika tren pasar tidak jelas atau sangat berfluktuasi.
  2. Strategi ini bergantung pada data historis, dan kemungkinan akan terjadi penarikan yang lebih besar untuk beberapa peristiwa yang tidak terduga atau keadaan pasar yang tidak biasa.
  3. Pilihan parameter kebijakan sangat berpengaruh pada kinerja kebijakan, dan parameter yang berbeda dapat menghasilkan hasil yang sama sekali berbeda.

Arah optimasi strategi

  1. Untuk meningkatkan keandalan sinyal, Anda dapat mempertimbangkan untuk menambahkan lebih banyak filter, seperti volume transaksi, indikator teknis lainnya, dan sebagainya.
  2. Anda dapat mengoptimalkan parameter dari pita Brin dan oscillator acak untuk menemukan kombinasi parameter yang paling sesuai dengan pasar saat ini.
  3. Mekanisme manajemen risiko, seperti stop loss dan stop loss bergerak, dapat diperkenalkan untuk mengendalikan risiko transaksi tunggal.
  4. Strategi ini dapat dipertimbangkan untuk dikombinasikan dengan strategi lain untuk membentuk portofolio strategi yang lebih kuat.

Meringkaskan

Strategi ini adalah strategi perdagangan yang sederhana dan efektif, dengan menggabungkan dua indikator teknis klasik, pita Brin dan osilator acak, yang mampu menghasilkan keuntungan yang stabil di kedua kondisi pasar yang sedang tren dan bergolak. Meskipun strategi ini juga memiliki beberapa risiko dan keterbatasan, dengan pengoptimalan dan perbaikan yang tepat, kinerja dan kemampuan adaptasi strategi dapat ditingkatkan lebih lanjut, menjadi strategi perdagangan yang layak untuk dirujuk dan dipelajari.

Kode Sumber Strategi
/*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")