Strategi perdagangan komposit multi-indikator mengintegrasikan empat indikator utama: divergensi konvergensi rata-rata bergerak (MACD), indeks kekuatan relatif (RSI), indeks saluran komoditas (CCI) dan indeks kekuatan relatif stokastis (StochRSI).
Strategi ini terutama membuat penilaian berdasarkan empat indikator:
MACD: Menghitung perbedaan antara rata-rata bergerak cepat dan lambat untuk menilai momentum harga dan tren. Sinyal beli dihasilkan ketika garis cepat melintasi di atas garis lambat.
RSI: Menghitung besarnya perubahan harga selama periode waktu. RSI di atas 70 menunjukkan kondisi overbought dan di bawah 30 oversold. Strategi ini menggunakan 70 dan 30 sebagai ambang batas.
CCI: Mengukur momentum harga dengan menghitung persentase penyimpangan harga dari rata-rata bergerak.
StochRSI: Menggabungkan Stochastics dan RSI. Salib emas antara garis StochRSI %K dan %D menandakan pembelian, sementara salib kematian menandakan penjualan.
Hanya ketika keempat indikator memenuhi kriteria secara bersamaan, sinyal beli atau jual yang sebenarnya akan dihasilkan.
Keuntungan utama dari strategi multi-indikator ini adalah:
Menyaring sinyal palsu dengan meminta persetujuan dari semua indikator, menghindari mengejar puncak atau panik menjual bawah.
Menangkap tren utama di berbagai dimensi dengan menggabungkan perspektif indikator yang berbeda.
Ruang pengoptimalan parameter yang besar untuk menyesuaikan setiap indikator untuk kinerja optimal secara keseluruhan.
Berat dapat disesuaikan berdasarkan pasar bull atau bear untuk fokus pada tren atau strategi reversi rata-rata.
Risiko utama adalah:
Indikator dapat menghasilkan sinyal palsu bersamaan, memicu perdagangan yang salah.
Harga dapat bergerak cukup keras untuk sinyal palsu bersamaan di seluruh indikator.
Menunda sinyal beli saat indikator selaras.
Sulit untuk mengoptimalkan banyak parameter, mungkin overfit.
Mitigasi termasuk penyesuaian parameter, stop loss, dan kontrol ukuran posisi.
Peluang peningkatan:
Uji kombinasi dengan lebih banyak indikator seperti KD, Bollinger Bands untuk menemukan portofolio yang optimal.
Mengoptimalkan parameter untuk kinerja keseluruhan tertinggi, mungkin melalui pembelajaran mesin.
Sesuaikan parameter untuk saham dan sektor yang berbeda.
Tambahkan mekanisme stop loss dalam kode strategi, seperti menjual ketika harga melanggar dukungan.
Pilih saham dengan kinerja yang kuat dalam sektor untuk meningkatkan pengembalian portofolio.
Strategi ini mengintegrasikan sinyal di empat indikator utama
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("MACD RSI CCI StochRSI Strategy", shorttitle="MRCSS", overlay=true) // MACD göstergesi fastLength = input(12, title="Fast Length") slowLength = input(26, title="Slow Length") signalLength = input(9, title="Signal Length") [macdLine, signalLine, _] = macd(close, fastLength, slowLength, signalLength) // RSI göstergesi rsiLength = input(14, title="RSI Length") rsiLevel = input(70, title="RSI Overbought Level") rsiValue = rsi(close, rsiLength) // CCI göstergesi cciLength = input(8, title="CCI Length") cciLevel = input(100, title="CCI Overbought Level") cciValue = cci(close, cciLength) // Stochastic Oscillator göstergesi stochLength = input(14, title="Stoch Length") stochK = input(3, title="Stoch K") stochD = input(3, title="Stoch D") stochValue = stoch(close, high, low, stochLength) stochDValue = sma(stochValue, stochD) // Alış ve Satış Sinyalleri buySignal = crossover(macdLine, signalLine) and rsiValue < rsiLevel and cciValue < cciLevel and stochValue > stochDValue sellSignal = crossunder(macdLine, signalLine) and rsiValue > (100 - rsiLevel) and cciValue > (100 - cciLevel) and stochValue < stochDValue // Ticaret stratejisi uygula strategy.entry("Buy", strategy.long, when = buySignal) strategy.close("Buy", when = sellSignal) strategy.entry("Sell", strategy.short, when = sellSignal) strategy.close("Sell", when = buySignal) // Göstergeleri çiz hline(rsiLevel, "RSI Overbought", color=color.red) hline(100 - rsiLevel, "RSI Oversold", color=color.green) hline(cciLevel, "CCI Overbought", color=color.red) hline(100 - cciLevel, "CCI Oversold", color=color.green) // Grafik üzerinde sinyal okları çiz plotshape(series=buySignal, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small) plotshape(series=sellSignal, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small)