
Ini ialah strategi mengikuti aliran yang menggabungkan purata bergerak dua tempoh (21 dan 55), penunjuk momentum RSI dan volum. Strategi ini menganalisis maklumat pasaran dalam tiga dimensi: harga, momentum dan volum Semasa mengesahkan arah aliran, ia menapis isyarat dagangan melalui RSI dan penunjuk volum untuk meningkatkan ketepatan dagangan. Strategi ini memerlukan apabila harga menembusi purata bergerak jangka pendek dan RSI menembusi purata bergerak, volum dagangan meningkat untuk mengesahkan kesahihan arah aliran.
Strategi ini menggunakan mekanisme penapisan tiga kali ganda:
Syarat pembelian mesti dipenuhi pada masa yang sama:
Syarat jualan boleh menjadi mana-mana yang berikut:
Ini ialah strategi mengikut arah aliran yang menggunakan tiga elemen utama analisis teknikal (harga, volum dan momentum). Melalui pelbagai mekanisme penapisan, strategi ini bukan sahaja memastikan kebolehpercayaan isyarat, tetapi juga mempunyai keupayaan kawalan risiko tertentu. Walaupun terdapat beberapa batasan yang wujud, melalui pengoptimuman dan penambahbaikan berterusan, strategi ini dijangka mencapai pulangan yang stabil dalam urus niaga sebenar. Terutamanya dalam pasaran dengan arah aliran yang jelas dan kecairan yang mencukupi, strategi ini mungkin menunjukkan prestasi yang lebih baik.
/*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")