
Strategi ini adalah sistem perdagangan garis pendek yang menggabungkan purata bergerak (EMA) dan penunjuk yang agak kuat (RSI). Ia mengenal pasti peluang perdagangan yang berpotensi dengan melihat isyarat silang garis purata berganda dan pengesahan momentum RSI. Strategi ini direka untuk tujuan berhenti dan keuntungan yang sesuai untuk diperdagangkan dalam jangka masa 15 minit.
Strategi ini menggunakan tiga purata bergerak indeks untuk tiga tempoh yang berbeza (9, 21, 50) dan RSI untuk 14 tempoh. Bagi isyarat multi-kepala, isyarat multi-kepala dicetuskan apabila EMA 9 tempoh melintasi 21 tempoh EMA ke atas dan harga berada di atas EMA 50 tempoh dan RSI berada di antara 40-70. Bagi isyarat kosong, isyarat kosong dicetuskan apabila EMA 9 tempoh melintasi 21 tempoh EMA ke bawah dan harga berada di bawah EMA 50 tempoh dan RSI berada di antara 30-60.
Strategi ini membina sistem perdagangan yang agak lengkap dengan menggabungkan pelbagai petunjuk teknikal. Ia tidak hanya mengandungi isyarat yang jelas untuk masuk dan keluar, tetapi juga merancang mekanisme kawalan risiko. Kelebihan utama strategi ini adalah meningkatkan kebolehpercayaan perdagangan melalui pengesahan berganda, tetapi juga memerlukan pedagang untuk mengawasi perubahan keadaan pasaran dengan teliti dan menyesuaikan parameter yang sesuai.
/*backtest
start: 2024-02-22 00:00:00
end: 2025-02-19 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("RSI + EMA Scalping Strategy", overlay=true)
// Input for EMAs
ema9 = ta.ema(close, 9)
ema21 = ta.ema(close, 21)
ema50 = ta.ema(close, 50)
// RSI Input
rsi = ta.rsi(close, 14)
// User-defined input for Stop Loss & Target percentages
stop_loss_percent = input.float(0.5, "Stop Loss (%)", step=0.1)
target_percent = input.float(1.0, "Target (%)", step=0.1)
// Long condition
longCondition = ta.crossover(ema9, ema21) and close > ema50 and rsi > 40 and rsi < 70
if (longCondition)
strategy.entry("Buy", strategy.long)
stopLossPrice = close * (1 - stop_loss_percent / 100)
takeProfitPrice = close * (1 + target_percent / 100)
strategy.exit("Exit Buy", "Buy", stop=stopLossPrice, limit=takeProfitPrice)
// Short condition
shortCondition = ta.crossunder(ema9, ema21) and close < ema50 and rsi < 60 and rsi > 30
if (shortCondition)
strategy.entry("Sell", strategy.short)
stopLossPrice = close * (1 + stop_loss_percent / 100)
takeProfitPrice = close * (1 - target_percent / 100)
strategy.exit("Exit Sell", "Sell", stop=stopLossPrice, limit=takeProfitPrice)
// Plot EMAs
plot(ema9, color=color.orange, linewidth=1, title="EMA 9")
plot(ema21, color=color.blue, linewidth=1, title="EMA 21")
plot(ema50, color=color.purple, linewidth=2, title="EMA 50")