
Strategi ini adalah sistem perdagangan komprehensif berdasarkan Indeks Kekuatan Relatif (RSI), Rata-Rata Pergerakan (MA), dan momentum harga. Strategi ini terutama mengidentifikasi peluang perdagangan potensial dengan memantau perubahan tren RSI, persilangan rata-rata pergerakan beberapa periode waktu, dan perubahan momentum harga. Strategi ini memberikan perhatian khusus pada tren naik RSI dan tren kenaikan harga yang berkelanjutan, dan meningkatkan akurasi transaksi melalui berbagai konfirmasi.
Logika inti dari strategi ini didasarkan pada komponen-komponen kunci berikut:
Strategi ini membangun sistem perdagangan yang relatif lengkap dengan menggunakan indikator analisis teknis dan metode analisis momentum secara komprehensif. Keuntungan strategi ini terletak pada mekanisme konfirmasi ganda dan pengendalian risiko yang sempurna, tetapi perhatian tetap harus diberikan pada kemampuan beradaptasi terhadap lingkungan pasar dan masalah optimalisasi parameter. Dengan pengoptimalan dan perbaikan berkelanjutan, strategi ini berpotensi menjadi sistem perdagangan yang kuat.
/*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("Improved Strategy with RSI Trending Upwards", overlay=true)
// Inputs for moving averages
ma21_length = input.int(21, title="21-day MA Length")
ma55_length = input.int(55, title="55-day MA Length")
ma144_length = input.int(144, title="144-day MA Length")
// Moving averages
ma21 = ta.sma(close, ma21_length)
ma55 = ta.sma(close, ma55_length)
ma144 = ta.sma(close, ma144_length)
// RSI settings
rsi_length = input.int(13, title="RSI Length")
rsi_avg_length = input.int(13, title="RSI Average Length")
rsi = ta.rsi(close, rsi_length)
rsi_avg = ta.sma(rsi, rsi_avg_length)
// RSI breakout condition
rsi_breakout = ta.crossover(rsi, rsi_avg)
// RSI trending upwards
rsi_trending_up = rsi > rsi[1] and rsi[1] > rsi[2]
// Higher high condition
hh1 = high[2] > high[3] // 1st higher high
hh2 = high[1] > high[2] // 2nd higher high
hh3 = high > high[1] // 3rd higher high
higher_high_condition = hh1 and hh2 and hh3
// Filter for trades starting after 1st January 2007
date_filter = (year >= 2007 and month >= 1 and dayofmonth >= 1)
// Combine conditions for buying
buy_condition = rsi > rsi_avg and higher_high_condition and rsi_trending_up //and close > ma21 and ma21 > ma55
// buy_condition = rsi > rsi_avg and rsi_trending_up
// Sell condition
// Sell condition: Close below 21-day MA for 3 consecutive days
downtrend_condition = close < close[1] and close[1] < close[2] and close[2] < close[3] and close[3] < close[4] and close[4] < close[5]
// downtrend_condition = close < close[1] and close[1] < close[2] and close[2] < close[3]
sell_condition_ma21 = close < ma55 and close[1] < ma55 and close[2] < ma55 and close[3] < ma55 and close[4] < ma55 and downtrend_condition
// Final sell condition
sell_condition = ta.crossunder(close, ma55) or (ta.crossunder(rsi, rsi_avg) and ta.crossunder(close, ma55))
// Execute trades
if (buy_condition and date_filter)
// strategy.entry("Long", strategy.long, comment="Buy")
strategy.entry("Long", strategy.long, qty=strategy.equity * 0.1 / close)
if (sell_condition and date_filter)
strategy.close("Long", comment="Sell")
// Plot moving averages
plot(ma55, color=color.red, title="55-day MA")
plot(ma144, color=color.blue, title="144-day MA")