Bollinger Bands, RSI, MACD dan Strategi Trading Fusion Multi-indicator Stochastic

Penulis:ChaoZhang, Tanggal: 2023-09-28 12:06:39
Tag:

Gambaran umum

Strategi ini mengintegrasikan Bollinger Bands, RSI, MACD dan Stochastic, empat indikator teknis yang berbeda, untuk membuat keputusan panjang dan pendek. Pertama, ia menentukan apakah harga berada di luar saluran Bollinger Bands dan mengambil posisi panjang atau pendek sesuai. Kemudian ia memeriksa apakah RSI berada di zona overbought atau oversold dan masuk berdasarkan arah. Selanjutnya ia mencari sinyal MACD golden cross dan death cross dan mengambil posisi sesuai. Akhirnya ia mengidentifikasi Stochastic golden cross dan death cross di zona overbought/oversold. Dengan sinyal dari keempat indikator, strategi mengadopsi posisi piramida yang lebih agresif untuk memaksimalkan keuntungan.

Prinsip-prinsip

Strategi ini terutama menggunakan empat indikator - Bollinger Bands, RSI, MACD dan Stochastic.

Bollinger Bands digambarkan pada tingkat standar deviasi di atas dan di bawah rata-rata bergerak sederhana. Harga di luar band menunjukkan harga telah bergerak di luar distribusi normal dan dengan demikian peluang perdagangan.

RSI menghitung momentum sebagai rasio penutupan yang lebih tinggi terhadap penutupan yang lebih rendah. Nilai di bawah 30 menunjukkan kondisi oversold sementara di atas 70 menunjukkan overbought. Ini berfungsi sebagai sinyal perdagangan.

MACD adalah perbedaan antara rata-rata bergerak jangka pendek dan jangka panjang. Crossover dari garis MACD dan garis sinyal menghasilkan sinyal perdagangan - golden cross untuk panjang dan death cross untuk pendek.

K di bawah 20 menunjukkan oversold sementara di atas 80 menunjukkan overbought. K yang melintasi di atas D memberikan sinyal bullish sementara melintasi di bawah memberikan sinyal bearish.

Menggabungkan sinyal dari empat indikator ini meningkatkan akurasi entri perdagangan. Secara khusus, pergi panjang ketika harga melebihi band atas Bollinger Bands, RSI di bawah 30, salib emas MACD dan Stochastic K melintasi di atas D di bawah 20.

Keuntungan

Keuntungan utama dari strategi ini adalah menggabungkan beberapa indikator meningkatkan akurasi dan tingkat menang.

Pertama, menggunakan indikator dalam jangka waktu yang berbeda - Bollinger untuk jangka menengah/panjang, dan MACD, RSI, Stochastic untuk jangka pendek, mengurangi kesalahan.

Kedua, mengharuskan semua indikator untuk sejajar mengurangi sinyal palsu. Masuk hanya ketika Bollinger, RSI, MACD dan Stochastic semua memberikan sinyal menghindari kegagalan indikator tunggal.

Selain itu, menggabungkan indikator pelengkap memanfaatkan kekuatan masing-masing. RSI mengidentifikasi overbought / oversold, perubahan tren Bollinger, perubahan momentum MACD dll.

Akhirnya, posisi piramida dengan sinyal yang dikonfirmasi memaksimalkan keuntungan dibandingkan dengan perdagangan kuantitas tetap.

Risiko

Beberapa risiko yang perlu dipertimbangkan:

Pertama, lebih banyak parameter dan indikator membuat optimasi sulit. pengujian yang luas diperlukan untuk menemukan kombinasi terbaik.

Kedua, sinyal indikator serentak jarang terjadi, yang menyebabkan frekuensi perdagangan rendah.

Ketiga, piramida dapat memperkuat kerugian jika indikator memberikan sinyal yang salah.

Akhirnya, sinyal indikator yang tidak konsisten membutuhkan aturan keputusan. Strategi harus memiliki logika kuantitatif ketika indikator bertentangan.

Peningkatan

Beberapa cara untuk meningkatkan strategi:

  1. Mengoptimalkan parameter melalui algoritma genetik, pencarian grid dll untuk menemukan kombinasi terbaik.

  2. Tambahkan aturan stop loss untuk mengendalikan kerugian ketika harga bergerak negatif di luar ambang batas.

  3. Meningkatkan logika entri dengan sistem penilaian untuk sinyal indikator yang tidak konsisten dan parameter tertimbang.

  4. Mengoptimalkan keluar dengan data laba/rugi di seluruh periode penyimpanan untuk menghasilkan aturan keluar yang ideal.

  5. Mengoptimalkan produk dan kerangka waktu yang paling cocok untuk strategi.

  6. Perhitungan biaya perdagangan seperti slippage dan komisi dalam optimasi parameter.

  7. Menggunakan pembelajaran mesin untuk optimasi adaptif.

Kesimpulan

Strategi ini menggabungkan beberapa indikator dan mekanisme konfirmasi untuk pengambilan keputusan. Dengan parameter yang tepat dan pengendalian risiko, dapat mencapai hasil yang baik. Tetapi kompleksitas dan risiko penyesuaian perlu ditangani melalui peningkatan yang berkelanjutan untuk stabilitas. Menemukan kombinasi indikator yang optimal, aturan masuk / keluar ilmiah dan pengendalian risiko adalah kunci untuk profitabilitas berkelanjutan di seluruh kondisi pasar.


/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("MD strategy", overlay=true)
lengthrsi = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
source = close
lengthbb = input(20, minval=1)
mult = input(2.0, minval=0.001, maxval=50)
direction = input(0, title = "Strategy Direction",  minval=-1, maxval=1)
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
consecutiveBarsUp = input(3)
consecutiveBarsDown = input(3)
lengthch = input( minval=1, maxval=1000, defval=5)
upBound = highest(high, lengthch)
downBound = lowest(low, lengthch)
lengthst = input(14, minval=1)
OverBoughtst = input(80)
OverSoldst = input(20)
smoothK = 3
smoothD = 3

k = sma(stoch(close, high, low, lengthst), smoothK)
d = sma(k, smoothD)



ups = price > price[1] ? nz(ups[1]) + 1 : 0
dns = price < price[1] ? nz(dns[1]) + 1 : 0
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

basis = sma(source, lengthbb)
dev = mult * stdev(source, lengthbb)

upper = basis + dev
lower = basis - dev

vrsi = rsi(price, lengthrsi)

if (not na(vrsi))
    if (crossover(vrsi, overSold))
        strategy.entry("RsiLE", strategy.long, comment="RsiLE")
    if (crossunder(vrsi, overBought))
        strategy.entry("RsiSE", strategy.short, comment="RsiSE")

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")
    
    
if (not na(k) and not na(d))
    if (crossover(k,d) and k < OverSoldst)
        strategy.entry("StochLE", strategy.long, comment="StochLE")
    if (crossunder(k,d) and k > OverBoughtst)
        strategy.entry("StochSE", strategy.short, comment="StochSE")   
        
if (crossover(delta, 0))
    strategy.entry("MacdLE", strategy.long, comment="MacdLE")

if (crossunder(delta, 0))
    strategy.entry("MacdSE", strategy.short, comment="MacdSE")


Lebih banyak