Trend RSI Berikutan Strategi Bull

Penulis:ChaoZhang, Tarikh: 2024-01-04 17:48:41
Tag:

img

Ringkasan

Strategi ini adalah trend mengikuti strategi bull yang menggunakan penunjuk RSI untuk menentukan trend dan penunjuk MACD untuk memasuki pasaran.

Logika Strategi

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.

Analisis Kelebihan

  • Gunakan RSI untuk mengenal pasti titik pembalikan, dengan MACD untuk menapis entri palsu.
  • Memperkenalkan garis EMA untuk menentukan trend utama.
  • Gunakan kedua-dua stop loss biasa dan stop loss kecemasan untuk mengawal risiko.

Analisis Risiko

  • Isyarat pembalikan RSI mungkin mempunyai penilaian yang salah.
  • Garis EMA tidak dapat bertindak balas tepat pada masanya kepada perubahan trend utama.
  • Penunjuk stop loss tunggal boleh menghentikan perdagangan yang menguntungkan lebih awal.

Arahan pengoptimuman

  • Penunjuk jumlah atau nisbah lilin lembu / beruang boleh diperkenalkan sebagai alat penilaian tambahan untuk meningkatkan ketepatan kemasukan.
  • Sistem purata bergerak boleh diselaraskan untuk menjejaki trend N hari terkini secara dinamik.
  • Tambah mekanisme stop loss yang lebih maju seperti stop loss bergerak atau stop loss statistik untuk menjadikan stop loss lebih fleksibel.

Ringkasan

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)

Lebih lanjut