Ini adalah strategi trend-mengikuti yang menggabungkan purata bergerak dua tempoh (21-hari dan 55 hari), penunjuk momentum RSI, dan analisis jumlah. Strategi menganalisis maklumat pasaran dari tiga dimensi - harga, momentum, dan jumlah - sambil mengesahkan arah trend dan menapis isyarat perdagangan melalui penunjuk RSI dan jumlah untuk meningkatkan ketepatan perdagangan. Strategi ini memerlukan kejayaan harga purata bergerak jangka pendek, penyambutan RSI di atas purata, dan peningkatan jumlah untuk mengesahkan kesahihan trend.
Strategi ini menggunakan mekanisme penapisan tiga:
Syarat pembelian memerlukan semua perkara berikut:
Syarat jualan memerlukan mana-mana perkara berikut:
Ini adalah strategi trend-mengikuti yang secara komprehensif menggunakan tiga elemen penting analisis teknikal (harga, jumlah, momentum). Melalui pelbagai mekanisme penapisan, strategi memastikan kebolehpercayaan isyarat sambil mengekalkan keupayaan kawalan risiko. Walaupun ia mempunyai beberapa batasan yang melekat, melalui pengoptimuman dan peningkatan yang berterusan, strategi ini mempunyai potensi untuk mencapai pulangan yang stabil dalam perdagangan sebenar. Strategi ini mungkin berfungsi dengan baik di pasaran dengan trend yang jelas dan kecairan yang mencukupi.
/*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")