Strategi ini menggabungkan Stochastic RSI dan EMA untuk mendeteksi tren dan memverifikasi sinyal perdagangan. Ketika harga kembali di atas EMA20 ke antara EMA9 dan EMA14, dan Stochastic RSI berada di bawah tingkat oversold, sinyal panjang dihasilkan; ketika harga kembali di bawah EMA20 ke antara EMA9 dan EMA14, dan Stochastic RSI berada di atas tingkat overbought, sinyal pendek dihasilkan.
Ide inti dari strategi ini adalah untuk menggunakan RSI Stokastik untuk menentukan apakah retracement harga dalam tren utama (diwakili oleh EMA20) telah mencapai area overbought atau oversold yang sesuai, sambil menggunakan EMA cepat dan EMA menengah untuk memverifikasi kekuatan retracement. Jika harga menembus EMA cepat dan EMA menengah, retracement dapat berakhir dan tren dapat terbalik, yang tidak cocok untuk memasuki posisi. Hanya ketika harga retraces antara EMA9 dan EMA14 dianggap memasuki posisi ke arah tren. Metode verifikasi multi-kondisi ini dapat secara efektif meningkatkan kualitas sinyal dan mengurangi penilaian yang salah.
Strategi ini menggunakan Stochastic RSI dikombinasikan dengan verifikasi multi-kondisi EMA untuk mengontrol risiko secara efektif sambil memahami retracement tren. Ide keseluruhan sederhana dan mudah dimengerti, cocok untuk pemula untuk belajar dan menggunakan. Namun, strategi itu sendiri juga memiliki beberapa keterbatasan, seperti kinerja yang buruk di pasar sampingan, pemahaman yang tidak memadai tentang pergerakan tren, dll, yang perlu disesuaikan secara fleksibel sesuai dengan situasi aktual. Di masa depan, pertimbangan juga dapat diberikan untuk mengoptimalkan dan meningkatkan strategi dari aspek seperti parameter dinamis, verifikasi indikator lebih banyak, dan manajemen uang untuk mendapatkan pengembalian yang lebih kuat. Secara umum, strategi ini dapat berfungsi sebagai templat dasar yang dapat dimodifikasi dan diperluas, dan merupakan titik awal dan pembelajaran yang baik.
/*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)