Ini adalah strategi trend-mengikuti yang menggabungkan rata-rata bergerak dua periode (21-hari dan 55 hari), indikator momentum RSI, dan analisis volume. Strategi menganalisis informasi pasar dari tiga dimensi - harga, momentum, dan volume - sambil mengkonfirmasi arah tren dan menyaring sinyal perdagangan melalui indikator RSI dan volume untuk meningkatkan akurasi perdagangan. Strategi ini membutuhkan terobosan harga rata-rata bergerak jangka pendek, RSI melintasi di atas rata-ratanya, dan peningkatan volume untuk mengkonfirmasi validitas tren.
Strategi ini menggunakan mekanisme penyaringan tiga:
Kondisi pembelian mengharuskan semua hal berikut:
Kondisi penjualan mengharuskan salah satu hal berikut:
Ini adalah strategi mengikuti tren yang secara komprehensif memanfaatkan tiga elemen penting dari analisis teknis (harga, volume, momentum). Melalui beberapa mekanisme penyaringan, strategi memastikan keandalan sinyal sambil mempertahankan kemampuan pengendalian risiko. Meskipun memiliki beberapa keterbatasan yang melekat, melalui optimalisasi dan perbaikan terus-menerus, strategi ini memiliki potensi untuk mencapai pengembalian yang stabil dalam perdagangan aktual. Strategi dapat berkinerja sangat baik di pasar dengan tren yang jelas dan likuiditas yang cukup.
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-04 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("21/55 MA with RSI Crossover", overlay=true) // Inputs for moving averages ma21_length = input.int(21, title="21-day Moving Average Length", minval=1) ma55_length = input.int(55, title="55-day Moving Average Length", minval=1) // RSI settings rsi_length = input.int(13, title="RSI Length", minval=1) rsi_avg_length = input.int(13, title="RSI Average Length", minval=1) // Moving averages ma21 = ta.sma(close, ma21_length) ma55 = ta.sma(close, ma55_length) // Volume settings vol_ma_length = input.int(21, title="Volume MA Length", minval=1) // Volume moving average vol_ma = ta.sma(volume, vol_ma_length) // RSI calculation rsi = ta.rsi(close, rsi_length) rsi_avg = ta.sma(rsi, rsi_avg_length) // Buy condition // buy_condition = close > ma21 and ta.crossover(rsi, rsi_avg) and volume > vol_ma buy_condition = close > ma21 and rsi > rsi_avg and volume > vol_ma // Sell condition // sell_condition = close < ma55 or ta.crossunder(rsi, rsi_avg) sell_condition = ta.crossunder(close, ma55) or ta.crossunder(rsi, rsi_avg) // Execute trades if (buy_condition) strategy.entry("Buy", strategy.long, comment="Buy Signal") if (sell_condition) strategy.close("Buy", comment="Sell Signal") // Plot moving averages for reference plot(ma21, color=color.blue, title="21-day MA") plot(ma55, color=color.red, title="55-day MA") // Plot RSI and RSI average for reference rsi_plot = input.bool(true, title="Show RSI?", inline="rsi") plot(rsi_plot ? rsi : na, color=color.green, title="RSI") plot(rsi_plot ? rsi_avg : na, color=color.orange, title="RSI Average")