Strategi ini adalah strategi bull yang menggunakan indikator RSI untuk menentukan tren dan indikator MACD untuk memasuki pasar.
Strategi ini terutama bergantung pada indikator RSI untuk menentukan arah tren. Ketika RSI melintasi di atas garis panjang yang ditetapkan (default 21), dianggap bahwa pasar dapat berbalik ke tren naik. Pada saat ini jika MACD sudah berada dalam tren menurun, dapat dinilai bahwa itu berada di titik pembalikan, yang merupakan kesempatan yang baik untuk pergi panjang.
Selain itu, strategi ini juga memperkenalkan garis EMA (default 200 periode) sebagai filter tren. Hanya ketika harga di atas garis EMA, perdagangan panjang akan dipertimbangkan. Ini dapat secara efektif menyaring pembalikan palsu ketika tren tidak jelas atau menurun.
Pada sisi stop loss, strategi juga menetapkan garis stop loss reguler dan garis stop loss darurat. Ketika RSI melintasi di bawah garis stop loss reguler (default 86), posisi tutup; jika harga turun tajam dan RSI melintasi di bawah garis stop loss darurat (default 73), posisi tutup tanpa syarat untuk mengendalikan kerugian maksimum.
Singkatnya, strategi ini adalah tren yang relatif tradisional mengikuti strategi bull. Ini mengidentifikasi titik pembalikan dengan RSI, menyaring penilaian yang salah dengan MACD, menentukan tren utama dengan EMA dan mengendalikan risiko dengan stop loss. Strategi ini cukup sederhana dan intuitif, mudah dipahami, dan memiliki beberapa keuntungan dalam menilai pembalikan pasar, menjadikannya strategi titik awal yang baik untuk perdagangan algo. Tetapi masih ada ruang besar untuk perbaikan lebih lanjut dengan mengoptimalkan sinyal masuk, hakim tren 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)