Strategi perdagangan komposit pelbagai penunjuk mengintegrasikan empat penunjuk utama: divergensi konvergensi purata bergerak (MACD), indeks kekuatan relatif (RSI), indeks saluran komoditi (CCI) dan indeks kekuatan relatif stokastik (StochRSI).
Strategi ini terutamanya membuat penilaian berdasarkan empat penunjuk:
MACD: Mengira perbezaan antara purata bergerak pantas dan perlahan untuk menilai momentum harga dan trend. Isyarat beli dihasilkan apabila garis pantas melintasi di atas garis perlahan.
RSI: Mengira besar perubahan harga dalam tempoh masa. RSI di atas 70 menunjukkan keadaan overbought dan di bawah 30 oversold. Strategi ini menggunakan 70 dan 30 sebagai ambang.
CCI: Mengukur momentum harga dengan mengira peratusan penyimpangan harga dari purata bergerak.
StochRSI: Menggabungkan Stochastics dan RSI. Salib emas antara garis StochRSI %K dan %D menandakan pembelian, sementara salib kematian menandakan penjualan.
Hanya apabila keempat-empat penunjuk memenuhi kriteria secara serentak, isyarat beli atau jual sebenar akan dihasilkan.
Kelebihan utama strategi pelbagai penunjuk ini ialah:
Menapis isyarat palsu dengan memerlukan persetujuan semua penunjuk, mengelakkan mengejar puncak atau panik menjual bahagian bawah.
Mencatatkan trend utama di pelbagai dimensi dengan menggabungkan perspektif penunjuk yang berbeza.
Ruang pengoptimuman parameter yang besar untuk menyesuaikan setiap penunjuk untuk prestasi optimum keseluruhan.
Berat boleh diselaraskan berdasarkan pasaran lembu atau lembu untuk memberi tumpuan kepada trend atau strategi pembalikan purata.
Risiko utama ialah:
Penunjuk boleh menghasilkan isyarat palsu serentak, mencetuskan perdagangan yang salah.
Harga boleh bergerak dengan cukup ganas untuk isyarat palsu serentak di seluruh penunjuk.
Isyarat beli terlambat apabila penunjuk sejajar.
Sukar untuk mengoptimumkan banyak parameter, mungkin overfit.
Pengurangan termasuk penyesuaian parameter, kehilangan berhenti, dan kawalan saiz kedudukan.
Peluang peningkatan:
Uji kombinasi dengan lebih banyak penunjuk seperti KD, Bollinger Bands untuk mencari portfolio yang optimum.
Mengoptimumkan parameter untuk prestasi keseluruhan tertinggi, mungkin melalui pembelajaran mesin.
Sesuaikan parameter untuk stok dan sektor yang berbeza.
Tambahkan mekanisme stop loss dalam kod strategi, seperti menjual apabila harga melanggar sokongan.
Pilih saham dengan prestasi yang kuat dalam sektor untuk meningkatkan pulangan portfolio.
Strategi ini mengintegrasikan isyarat merentasi empat penunjuk 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)