Strategi ini adalah trend mengikuti strategi bull yang menggunakan penunjuk RSI untuk menentukan trend dan penunjuk MACD untuk memasuki pasaran.
Strategi ini terutamanya bergantung pada penunjuk RSI untuk menentukan arah trend. Apabila RSI melintasi di atas garis panjang yang ditetapkan (default 21), ia dianggap bahawa pasaran mungkin berbalik ke arah kenaikan. Pada masa ini jika MACD sudah berada dalam trend penurunan, ia boleh dinilai bahawa ia berada di titik pembalikan, yang merupakan peluang yang baik untuk pergi panjang.
Di samping itu, strategi ini juga memperkenalkan garis EMA (default 200 tempoh) sebagai penapis trend. Hanya apabila harga di atas garis EMA, perdagangan panjang akan dipertimbangkan. Ini dapat menapis pembalikan palsu dengan berkesan apabila trend tidak jelas atau menurun.
Di sisi stop loss, strategi ini juga menetapkan garis stop loss biasa dan garis stop loss kecemasan. Apabila RSI melintasi di bawah garis stop loss biasa (pelanggaran 86), tutup kedudukan; jika harga turun tajam dan RSI melintasi di bawah garis stop loss kecemasan (pelanggaran 73), tutup kedudukan tanpa syarat untuk mengawal kerugian maksimum.
Ringkasnya, strategi ini adalah trend yang agak tradisional mengikuti strategi bull. Ia mengenal pasti titik pembalikan dengan RSI, menapis salah menilai dengan MACD, menentukan trend utama dengan EMA dan mengawal risiko dengan stop loss. Strategi ini agak mudah dan intuitif, mudah difahami, dan mempunyai beberapa kelebihan dalam menilai pembalikan pasaran, menjadikannya strategi titik permulaan yang baik untuk perdagangan algo. Tetapi masih ada ruang yang besar untuk penambahbaikan lanjut dengan mengoptimumkan isyarat kemasukan, hakim trend dan mekanisme stop loss.
/*backtest start: 2022-12-28 00:00:00 end: 2024-01-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © dravitch //@version=4 strategy("RSI - BULL RUN (Improved)", overlay=true) // Input UseEmergency = input(true, "Use Emergency Exit?") RSIlong = input(21, "RSI Long Cross") RSIcloseLong = input(86, "RSI Close Long Position") EmergencycloseLong = input(73, "RSI Emergency Close Long Position") UseEMAFilter = input(true, "Use EMA Trend Filter") EMAlength = input(200, "EMA Length for Trend Filter") // Utiliser 200 pour SMMA // RSI rsiValue = rsi(close, 14) // MACD [macdLine, signalLine, _] = macd(close, 12, 26, 9) // EMA Trend Filter emaTrend = sma(close, EMAlength) // Utiliser sma pour la SMMA (Simple Moving Average) // Conditions pour les trades longs trendUp = close > emaTrend trendDown = close < emaTrend longCondition = crossover(rsiValue, RSIlong) and trendDown or crossunder(macdLine, signalLine) and crossover(rsiValue, RSIlong) longCloseCondition = crossunder(rsiValue, RSIcloseLong) and trendUp emergencyLongCondition = crossunder(rsiValue, EmergencycloseLong) // Plots plot(rsiValue, color=color.white, linewidth=2, title="RSI") // Strategy if (longCondition) strategy.entry("Long", strategy.long, alert_message='RSI Long Cross: LONG') if (longCloseCondition) strategy.close("Long", alert_message='RSI Close Long Position') if (emergencyLongCondition and UseEmergency) strategy.close("Long", alert_message='RSI Emergency Close Long') // Plot EMA Trend Filter in a separate pane plot(emaTrend, color=color.rgb(163, 0, 122), title="EMA Trend Filter", linewidth=2, style=plot.style_line, transp=0) hline(0, "Zero Line", color=color.gray)