Strategi perdagangan komposit multi-indikator

Penulis:ChaoZhang, Tanggal: 2024-01-29 10:06:25
Tag:

img

Gambaran umum

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

Logika Strategi

Strategi ini terutama membuat penilaian berdasarkan empat indikator:

  1. 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.

  2. 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.

  3. CCI: Mengukur momentum harga dengan menghitung persentase penyimpangan harga dari rata-rata bergerak.

  4. 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

Keuntungan utama dari strategi multi-indikator ini adalah:

  1. Menyaring sinyal palsu dengan meminta persetujuan dari semua indikator, menghindari mengejar puncak atau panik menjual bawah.

  2. Menangkap tren utama di berbagai dimensi dengan menggabungkan perspektif indikator yang berbeda.

  3. Ruang pengoptimalan parameter yang besar untuk menyesuaikan setiap indikator untuk kinerja optimal secara keseluruhan.

  4. Berat dapat disesuaikan berdasarkan pasar bull atau bear untuk fokus pada tren atau strategi reversi rata-rata.

Risiko

Risiko utama adalah:

  1. Indikator dapat menghasilkan sinyal palsu bersamaan, memicu perdagangan yang salah.

  2. Harga dapat bergerak cukup keras untuk sinyal palsu bersamaan di seluruh indikator.

  3. Menunda sinyal beli saat indikator selaras.

  4. Sulit untuk mengoptimalkan banyak parameter, mungkin overfit.

Mitigasi termasuk penyesuaian parameter, stop loss, dan kontrol ukuran posisi.

Peluang Peningkatan

Peluang peningkatan:

  1. Uji kombinasi dengan lebih banyak indikator seperti KD, Bollinger Bands untuk menemukan portofolio yang optimal.

  2. Mengoptimalkan parameter untuk kinerja keseluruhan tertinggi, mungkin melalui pembelajaran mesin.

  3. Sesuaikan parameter untuk saham dan sektor yang berbeda.

  4. Tambahkan mekanisme stop loss dalam kode strategi, seperti menjual ketika harga melanggar dukungan.

  5. Pilih saham dengan kinerja yang kuat dalam sektor untuk meningkatkan pengembalian portofolio.

Kesimpulan

Strategi ini mengintegrasikan sinyal di empat indikator utama MACD, RSI, CCI, dan StochRSI. Dengan menetapkan kriteria masuk dan keluar yang ketat berdasarkan analisis multi-frame waktu, dapat secara efektif mengidentifikasi titik balik pasar. penyempurnaan seperti optimasi parameter, memperbarui alam semesta saham, dan menambahkan stop dapat lebih meningkatkan kinerja. Secara keseluruhan strategi perdagangan kuantitatif yang efektif.


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


Lebih banyak