Strategi ini menggabungkan Stochastic RSI dan EMA untuk mengesan trend dan mengesahkan isyarat dagangan. Apabila harga kembali di atas EMA20 ke antara EMA9 dan EMA14, dan Stochastic RSI di bawah tahap oversold, isyarat panjang dihasilkan; apabila harga kembali di bawah EMA20 ke antara EMA9 dan EMA14, dan Stochastic RSI di atas tahap overbought, isyarat pendek dihasilkan.
Idea utama strategi ini adalah untuk menggunakan RSI Stochastic untuk menentukan sama ada retracement harga dalam trend utama (diwakili oleh EMA20) telah mencapai kawasan overbought atau oversold yang sesuai, sambil menggunakan EMA pantas dan EMA sederhana untuk mengesahkan kekuatan retracement. Jika harga memecahkan EMA pantas dan EMA sederhana, retracement mungkin berakhir dan trend mungkin terbalik, yang tidak sesuai untuk memasuki kedudukan. Hanya apabila retracement harga antara EMA9 dan EMA14 dianggap memasuki kedudukan ke arah trend. Kaedah pengesahan berbilang syarat ini dapat meningkatkan kualiti isyarat dengan berkesan dan mengurangkan salah menilai.
Strategi ini menggunakan Stochastic RSI yang digabungkan dengan pengesahan pelbagai syarat EMA untuk mengawal risiko dengan berkesan sambil memahami retracements trend. Idea keseluruhan adalah mudah dan mudah difahami, sesuai untuk pemula untuk belajar dan menggunakan. Walau bagaimanapun, strategi itu sendiri juga mempunyai beberapa batasan, seperti prestasi yang buruk di pasaran sampingan, pemahaman yang tidak mencukupi tentang pergerakan trend, dll, yang perlu disesuaikan dengan fleksibel mengikut keadaan sebenar. Pada masa akan datang, pertimbangan juga boleh diberikan untuk mengoptimumkan dan meningkatkan strategi dari aspek seperti parameter dinamik, lebih banyak pengesahan penunjuk, dan pengurusan wang untuk mendapatkan pulangan yang lebih kukuh. Secara umum, strategi ini boleh berfungsi sebagai templat asas yang boleh diubahsuai dan diperluas, dan merupakan titik permulaan 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)