Strategi ini adalah sistem perdagangan trend-mengikuti yang komprehensif yang mengintegrasikan Ichimoku Cloud, Relative Strength Index (RSI), dan Moving Average Convergence Divergence (MACD).
Logika inti didasarkan pada sinergi tiga indikator teknis:
Aturan perdagangan adalah sebagai berikut: Kondisi masuk panjang:
Syarat masuk singkat:
Risiko pembalikan tren: Penghentian berturut-turut mungkin terjadi pada titik perubahan tren. Saran: Tingkatkan persyaratan kerangka waktu konfirmasi tren.
Risiko pasar yang terbatas pada kisaran: Perdagangan sering dapat terjadi di pasar sampingan. Saran: Tambahkan filter sinyal, seperti persyaratan gerakan minimum.
Risiko keterlambatan: Indikator memiliki keterlambatan yang melekat, berpotensi kehilangan titik masuk yang optimal. Saran: Masukkan indikator yang lebih cepat atau analisis aksi harga.
Sensitivitas parameter: Pengaturan parameter yang salah dapat menyebabkan kinerja yang buruk. Saran: Optimalkan parameter melalui backtesting.
Strategi ini membangun sistem perdagangan trend-mengikuti lengkap dengan menggabungkan Ichimoku Cloud, RSI, dan indikator MACD. Kekuatannya utama terletak pada mekanisme konfirmasi ganda dan aturan perdagangan yang jelas, sementara perhatian harus diberikan pada risiko pada titik pembalikan tren dan di pasar yang terikat kisaran. Melalui penyesuaian parameter dinamis, penyaringan lingkungan pasar, dan pengoptimalan manajemen risiko, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Ichimoku + RSI + MACD Strategy", overlay=true) // Ichimoku Cloud parameters tenkanPeriod = 9 kijunPeriod = 26 senkouSpanBPeriod = 52 displacement = 26 // RSI parameters rsiLength = 14 rsiOverbought = 70 rsiOversold = 30 // MACD parameters [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) // Ichimoku calculations tenkanSen = (ta.highest(high, tenkanPeriod) + ta.lowest(low, tenkanPeriod)) / 2 kijunSen = (ta.highest(high, kijunPeriod) + ta.lowest(low, kijunPeriod)) / 2 senkouSpanA = (tenkanSen + kijunSen) / 2 senkouSpanB = (ta.highest(high, senkouSpanBPeriod) + ta.lowest(low, senkouSpanBPeriod)) / 2 chikouSpan = close[displacement] // Plotting Ichimoku Cloud plot(tenkanSen, color=color.red, title="Tenkan-sen") plot(kijunSen, color=color.blue, title="Kijun-sen") plot(senkouSpanA[displacement], color=color.green, title="Senkou Span A") plot(senkouSpanB[displacement], color=color.red, title="Senkou Span B") fill(plot(senkouSpanA[displacement]), plot(senkouSpanB[displacement]), color=color.new(color.green, 90), title="Cloud") // RSI calculation rsi = ta.rsi(close, rsiLength) // Long entry condition longCondition = (close > senkouSpanA) and (close > senkouSpanB) and (rsi > rsiOversold) and (ta.crossover(macdLine, signalLine)) if (longCondition) strategy.entry("Long", strategy.long) // Short entry condition shortCondition = (close < senkouSpanA) and (close < senkouSpanB) and (rsi < rsiOverbought) and (ta.crossunder(macdLine, signalLine)) if (shortCondition) strategy.entry("Short", strategy.short) // Exit conditions if (ta.crossunder(macdLine, signalLine) and strategy.position_size > 0) strategy.close("Long") if (ta.crossover(macdLine, signalLine) and strategy.position_size < 0) strategy.close("Short") // Plot RSI hline(rsiOverbought, "Overbought", color=color.red) hline(rsiOversold, "Oversold", color=color.green) plot(rsi, color=color.blue, title="RSI")