Strategi Gabungan Momentum RSI Multi-periode dan Tren Mengikuti Triple EMA

RSI EMA
Tanggal Pembuatan: 2024-11-12 15:07:54 Akhirnya memodifikasi: 2024-11-12 15:07:54
menyalin: 0 Jumlah klik: 521
1
fokus pada
1617
Pengikut

Strategi Gabungan Momentum RSI Multi-periode dan Tren Mengikuti Triple EMA

Ringkasan

Strategi ini adalah sistem perdagangan komposit yang menggabungkan indikator momentum RSI dan indikator tren EMA. Ini berjalan pada dua periode waktu 1 menit dan 5 menit, dan keputusan perdagangan dibuat melalui sinyal overbought dan oversold RSI dan penilaian tren EMA tiga kali lipat. Strategi ini mencakup fitur pelacakan tren dan pengembalian rata-rata, yang dapat menangkap peluang perdagangan dalam berbagai kondisi pasar.

Prinsip Strategi

Strategi menggunakan 21/50/200 hari triple EMA sebagai acuan untuk menentukan tren, dan digabungkan dengan RSI versi yang diperbaiki (dihitung dengan metode Chebyshev) untuk mengidentifikasi kondisi overbought dan oversold di pasar. Pada siklus 1 menit, buka shorting saat RSI menembus 94, turun di posisi terendah 4, dan tetapkan stop loss jaminan saat RSI kembali ke 50. Pada siklus 5 menit, buka overbought saat harga menembus 200 hari EMA dan bangkit kembali, dan turun di posisi terendah saat RSI menembus atau turun.

Keunggulan Strategis

  1. Analisis siklus waktu ganda meningkatkan keandalan sinyal
  2. Kombinasi Indikator Tren dan Momentum, saling melengkapi
  3. Mempunyai mekanisme penghentian kerugian dan pengendalian risiko
  4. Dengan metode RSI yang lebih baik, sinyal lebih akurat.
  5. Menghindari transaksi berulang dengan manajemen posisi
  6. Adaptasi terhadap kondisi pasar yang berbeda

Risiko Strategis

  1. Transaksi yang sering dapat menyebabkan biaya yang lebih tinggi
  2. Stop loss yang mungkin sering terjadi dalam pasar yang bergejolak
  3. Indeks RSI dapat menghasilkan sinyal palsu dalam kondisi pasar tertentu
  4. Strategi multi-siklus mungkin terlambat dalam pengakuan sinyal
  5. Sinyal silang EMA dapat menyesatkan pasar yang bergoyang

Arah optimasi strategi

  1. Masukkan filter tingkat fluktuasi untuk menyesuaikan parameter selama fluktuasi tinggi
  2. Meningkatkan mekanisme konfirmasi volume transaksi
  3. Optimalkan RSI, pertimbangkan untuk melakukan penyesuaian dinamis
  4. Menambahkan indikator teknis untuk verifikasi silang
  5. Memperkenalkan mekanisme parameter adaptif
  6. Mengembangkan mekanisme penghentian kerugian yang lebih halus

Meringkaskan

Strategi ini meningkatkan stabilitas dan keandalan perdagangan dengan menggabungkan beberapa indikator teknis dan analisis siklus waktu ganda. Meskipun ada risiko tertentu, risiko dapat dikendalikan secara efektif dengan manajemen posisi yang masuk akal dan mekanisme stop loss.

Kode Sumber Strategi
/*backtest
start: 2023-11-12 00:00:00
end: 2024-07-10 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Combined RSI Primed and 3 EMA Strategy", overlay=true)

// Input for EMA lengths
emaLength1 = input(21, title="EMA Length 1")
emaLength2 = input(50, title="EMA Length 2")
emaLength3 = input(200, title="EMA Length 3")

// Input for RSI settings
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(94, title="RSI Overbought Level")
rsiNeutral = input(50, title="RSI Neutral Level")
rsiOversold = input(4, title="RSI Oversold Level")

// Calculate EMAs
ema1 = ta.ema(close, emaLength1)
ema2 = ta.ema(close, emaLength2)
ema3 = ta.ema(close, emaLength3)

// Calculate RSI using Chebyshev method from RSI Primed
rsi(source) =>
    up = math.max(ta.change(source), 0)
    down = -math.min(ta.change(source), 0)
    rs = up / down
    rsiValue = down == 0 ? 100 : 100 - (100 / (1 + rs))
    rsiValue

rsiValue = rsi(close)

// Plot EMAs
plot(ema1, color=color.red, title="EMA 21")
plot(ema2, color=color.white, title="EMA 50")
plot(ema3, color=color.blue, title="EMA 200")

// Plot RSI for visual reference
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiNeutral, "Neutral", color=color.gray)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsiValue, color=color.blue, title="RSI")

// Trading logic with position management
var bool inPositionShort = false
var bool inPositionLong = false

// Trading logic for 1-minute timeframe
if (rsiValue > rsiOverbought and not inPositionShort)
    strategy.entry("Sell", strategy.short)
    inPositionShort := true

if (rsiValue < rsiOversold and inPositionShort)
    strategy.close("Sell")
    inPositionShort := false

if (ta.crossover(rsiValue, rsiNeutral) and inPositionShort)
    strategy.exit("Break Even", "Sell", stop=close)

// Trading logic for 5-minute timeframe
var float lastBearishClose = na

if (close < ema3 and close[1] >= ema3) // Check if the current close is below EMA200
    lastBearishClose := close

if (not na(lastBearishClose) and close > lastBearishClose and not inPositionLong)
    strategy.entry("Buy", strategy.long)
    inPositionLong := true

if (rsiValue > rsiOverbought and inPositionLong)
    strategy.close("Buy")
    inPositionLong := false

if (ta.crossunder(rsiValue, rsiNeutral) and inPositionLong)
    strategy.exit("Break Even", "Buy", stop=close)

lastBearishClose := na // Reset after trade execution