
Strategi ini menggabungkan RSI dan EMA acak untuk mendeteksi tren dan memverifikasi sinyal perdagangan. Sinyal multitasking dihasilkan ketika harga di atas EMA20 kembali ke antara EMA9 dan EMA14, sementara RSI acak di bawah tingkat oversold; Sinyal shorting dihasilkan ketika harga di bawah EMA20 kembali ke antara EMA9 dan EMA14, sementara RSI acak di atas tingkat oversold.
Gagasan inti dari strategi ini adalah dengan menggunakan RSI acak untuk menilai apakah harga dalam tren utama telah mencapai area overbought dan oversold yang sesuai (dikomunikasikan oleh EMA20), dan dengan menggunakan EMA cepat dan EMA menengah untuk memverifikasi kekuatan penarikan, penarikan dapat berakhir jika harga menembus EMA cepat dan EMA menengah, dan tren dapat berbalik, yang tidak cocok untuk masuk, hanya ketika harga kembali ke EMA9 dan EMA14.
Strategi ini menggunakan RSI acak digabungkan dengan EMA multi-kondisi validasi, dengan cara yang efektif mengendalikan risiko sambil menangkap perubahan tren, keseluruhan konsep sederhana dan mudah dimengerti, cocok untuk pemula belajar menggunakan. Namun, strategi itu sendiri juga memiliki beberapa keterbatasan, seperti kinerja yang buruk terhadap pasar getaran, kurangnya pemahaman tren, dan lain-lain, perlu menyesuaikan parameter secara fleksibel sesuai dengan situasi yang sebenarnya.
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Crypto-EMA_Pullback=-", overlay=true,initial_capital = 10000000,default_qty_type=strategy.percent_of_equity, default_qty_value=10.0, pyramiding = 10)
// Inputs
lengthRsi = input(14, title="RSI Length")
k = input(3, title="Stoch %K")
d = input(3, title="Stoch %D")
lengthStoch = input(14, title="Stochastic RSI Length")
overSold = input(25, title="Oversold Level")
overBought = input(85, title="Overbought Level")
emaFastLength = input(9, title="Fast EMA Length")
emaMediumLength = input(14, title="Medium EMA Length")
emaSlowLength = input(20, title="Slow EMA Length")
// Calculating EMAs
emaFast = ta.ema(close, emaFastLength)
emaMedium = ta.ema(close, emaMediumLength)
emaSlow = ta.ema(close, emaSlowLength)
// Calculating the RSI and Stoch RSI
rsi = ta.rsi(close, lengthRsi)
stochRsiK = ta.sma(ta.stoch(rsi, rsi, rsi, lengthStoch), k)
stochRsiD = ta.sma(stochRsiK, d)
// Entry Conditions
bullishCondition = close > emaSlow and close < emaFast and close < emaMedium and stochRsiK < overSold
bearishCondition = close < emaSlow and close > emaFast and close > emaMedium and stochRsiK > overBought
// Strategy Execution
if (bullishCondition)
strategy.entry("Long", strategy.long)
if (bearishCondition)
strategy.entry("Short", strategy.short)
// Plotting
plot(emaFast, color=color.blue, title="Fast EMA")
plot(emaMedium, color=color.orange, title="Medium EMA")
plot(emaSlow, color=color.red, title="Slow EMA")
hline(overSold, "Oversold", color=color.green)
hline(overBought, "Overbought", color=color.red)