Strategi Perdagangan Gabungan Moving Average dan RSI

MA DEMA RSI
Tanggal Pembuatan: 2024-04-30 16:31:24 Akhirnya memodifikasi: 2024-04-30 16:31:24
menyalin: 4 Jumlah klik: 812
1
fokus pada
1617
Pengikut

Strategi Perdagangan Gabungan Moving Average dan RSI

Ringkasan

Strategi ini menggabungkan beberapa rata-rata bergerak dan indeks yang relatif kuat (RSI) untuk menghasilkan sinyal perdagangan. Ini menggunakan rata-rata bergerak dari empat periode yang berbeda pada tanggal 9, 21, 25 dan 99 untuk menentukan arah tren melalui persilangan antara mereka.

Strategi utama dari strategi ini adalah memanfaatkan karakteristik tren dari rata-rata bergerak berkala yang berbeda untuk menilai tren utama pasar melalui susunan multihead dan susunan headline mereka. Rata-rata rata-rata jangka pendek yang naik melewati rata-rata jangka panjang dianggap sebagai sinyal bullish, sebaliknya dianggap sebagai sinyal bearish. Indikator RSI digunakan untuk menilai sentimen pasar dan memberikan sinyal reversal ketika pasar overbought atau oversold.

Prinsip Strategi

  1. Hitung rata-rata bergerak sederhana dari empat periode yang berbeda, yaitu 9, 21, 25, dan 99.
  2. Untuk menilai persimpangan antara garis rata-rata 9 hari dan garis rata-rata 21 hari, ketika garis rata-rata 9 hari melintasi garis rata-rata 21 hari ke atas, menghasilkan sinyal ganda; ketika garis rata-rata 9 hari melintasi garis rata-rata 21 hari ke bawah, menghasilkan sinyal kosong.
  3. Untuk menilai persimpangan antara garis rata-rata 25 hari dan garis rata-rata 99 hari, sinyal multitasking dihasilkan ketika garis rata-rata 25 hari melintasi garis rata-rata 99 hari ke atas; sinyal blanko dihasilkan ketika garis rata-rata 25 hari melintasi garis rata-rata 99 hari ke bawah.
  4. Untuk menghitung indikator RSI 14 hari, pasar berada dalam kondisi overbought ketika RSI lebih besar dari 70; pasar berada dalam kondisi oversold ketika RSI kurang dari 30.
  5. Kombinasi sinyal crossover moving average dan sinyal RSI menghasilkan sinyal perdagangan akhir:
    • Posisi kosong dibuka ketika 9 hari rata-rata melewati 21 hari rata-rata ke atas dan RSI lebih besar dari 70;
    • Posisi terbuka ketika 9 hari rata-rata turun melewati 21 hari rata-rata dan RSI kurang dari 30;
    • Posisi terbuka ketika 25 hari rata-rata naik melewati 99 hari rata-rata dan RSI lebih besar dari 70;
    • Posisi kosong dibuka ketika garis rata-rata 25 hari melintasi garis rata-rata 99 hari ke bawah dan RSI kurang dari 30.
  6. Sinyal persilangan rata-rata bergerak juga digunakan untuk posisi yang rata, ketika persilangan rata-rata yang sesuai terjadi, posisi sebelumnya dihapus.

Analisis Keunggulan

  1. Pelacakan tren: Strategi ini memanfaatkan karakteristik tren dari rata-rata bergerak berkala yang berbeda untuk menilai tren utama pasar melalui urutan multi-kepala dan kosong mereka, yang membantu memahami arah besar pasar.
  2. Filter Noise: Strategi ini menggunakan moving averages dari beberapa periode yang berbeda dibandingkan dengan menggunakan satu moving average, yang membantu memfilter noise jangka pendek dan meningkatkan keandalan sinyal.
  3. Penilaian sentimen: Pengenalan indikator RSI sebagai penilaian tambahan, memberikan sinyal pembalikan ketika sentimen pasar terlalu optimis atau pesimistis, dapat mencegah strategi untuk sebagian besar mundur dalam kondisi ekstrem pasar.
  4. Kejelasan Logika: Logika transaksi strategi sederhana dan jelas, mudah dipahami dan diterapkan.
  5. Adaptif: Strategi ini dapat disesuaikan dengan berbagai kondisi pasar dan varietas perdagangan dengan menyesuaikan siklus rata-rata bergerak dan parameter RSI.

Analisis risiko

  1. Parameter sensitif: kinerja strategi mungkin lebih sensitif terhadap pilihan periode rata-rata bergerak dan pengaturan parameter RSI, dan parameter yang berbeda dapat menyebabkan perbedaan kinerja strategi yang lebih besar.
  2. Trending Identification Lag: Moving Average pada dasarnya adalah indikator lag yang mungkin terjadi pada titik pivot pasar yang menyebabkan kehilangan peluang perdagangan atau menghasilkan sinyal yang salah.
  3. Performa buruk dalam pasar bergoyang: Dalam pasar bergoyang, seringnya persilangan rata-rata dapat menyebabkan strategi menghasilkan lebih banyak sinyal perdagangan, dan mungkin tidak berkinerja optimal.
  4. Black Swan: Strategi ini didasarkan pada data historis dan mungkin kurang responsif terhadap beberapa peristiwa Black Swan yang tiba-tiba.

Arah optimasi

  1. Optimasi parameter: mengoptimalkan parameter dari periode moving average dan RSI untuk menemukan kombinasi parameter yang berkinerja terbaik di pasar tertentu. Metode optimasi seperti algoritma genetik dapat digunakan untuk mencari parameter optimal secara otomatis.
  2. Filter sinyal: berdasarkan sinyal crossover dan RSI, masukkan indikator teknis lainnya atau pola perilaku harga untuk melakukan filter sekunder, meningkatkan keakuratan sinyal. Misalnya, dapat digabungkan dengan indikator seperti Bollinger Bands, MACD, dll.
  3. Manajemen Posisi: Menggunakan konsep manajemen posisi berdasarkan strategi saat ini, menyesuaikan ukuran posisi sesuai dengan kekuatan dan dinamika pasti dari tren pasar untuk mengendalikan risiko dan meningkatkan keuntungan.
  4. Stop Loss Stop: Memperkenalkan mekanisme stop loss dan stop loss, terutama stop loss volatilitas atau stop loss tracking, untuk mengendalikan risiko maksimum dalam satu transaksi.
  5. Adaptasi multi-pasar: memperluas strategi ke berbagai pasar dan varietas, menangkap peluang perdagangan di berbagai pasar dengan penyesuaian parameter dan pengendalian risiko yang tepat.

Meringkaskan

Strategi ini dengan menggabungkan rata-rata bergerak dan RSI dari berbagai siklus, membentuk sebuah strategi perdagangan trend tracking dan penilaian emosi. Kelebihannya adalah logika yang jelas, adaptasi yang kuat, dengan kombinasi multi-garis dapat menangkap tren pasar lebih baik. Namun, ada juga risiko sensitif parameter, identifikasi tren yang tertinggal, pasar bergolak, dan lain-lain.

Kode Sumber Strategi
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estratégia de Médias Móveis e RSI (por Svitorino_trade)", shorttitle="Estratégia-Médias Móveis", overlay=true)

len1 = input.int(9, minval=1, title="Length 1")
len2 = input.int(21, minval=1, title="Length 2")
len3 = input.int(25, minval=1, title="Length 3")
len4 = input.int(99, minval=1, title="Length 4")
rsi_length = input.int(14, minval=1, title="RSI Length")
rsi_oversold = input.float(30, minval=0, maxval=100, title="RSI Oversold Level")
rsi_overbought = input.float(70, minval=0, maxval=100, title="RSI Overbought Level")

src = input(close, title="Source")

ama(src, length) =>
    sum = 0.0
    for i = 0 to length - 1
        sum := sum + src[i]
    sum / length

avg1 = ama(src, len1)
avg2 = ama(src, len2)
avg3 = ama(src, len3)
avg4 = ama(src, len4)

rsi_value = ta.rsi(src, rsi_length)

// Condições de entrada e saída para períodos de 9 e 21
cruzamento_9_21_acima = avg1 > avg2 and avg1[1] <= avg2[1]
cruzamento_9_21_abaixo = avg1 < avg2 and avg1[1] >= avg2[1]

// Condições de entrada e saída para períodos de 25 e 99
cruzamento_25_99_acima = avg3 > avg4 and avg3[1] <= avg4[1]
cruzamento_25_99_abaixo = avg3 < avg4 and avg3[1] >= avg4[1]

// Plotando os sinais de entrada e saída
plotshape(series=cruzamento_9_21_acima, style=shape.triangleup, color=color.green, size=size.small, location=location.belowbar)
plotshape(series=cruzamento_9_21_abaixo, style=shape.triangledown, color=color.red, size=size.small, location=location.abovebar)
plotshape(series=cruzamento_25_99_acima, style=shape.triangleup, color=color.green, size=size.small, location=location.belowbar)
plotshape(series=cruzamento_25_99_abaixo, style=shape.triangledown, color=color.red, size=size.small, location=location.abovebar)

// Entradas e saídas para períodos de 9 e 21
if cruzamento_9_21_acima and rsi_value > rsi_overbought
    strategy.entry("Venda Curta", strategy.short)
if cruzamento_9_21_abaixo and rsi_value < rsi_oversold
    strategy.entry("Compra Curta", strategy.long)
if cruzamento_9_21_acima
    strategy.close("Compra Curta")
if cruzamento_9_21_abaixo
    strategy.close("Venda Curta")

// Entradas e saídas para períodos de 25 e 99
if cruzamento_25_99_acima and rsi_value > rsi_overbought
    strategy.entry("Compra Forte", strategy.long)
if cruzamento_25_99_abaixo and rsi_value < rsi_oversold
    strategy.entry("Venda Forte", strategy.short)
if cruzamento_25_99_acima
    strategy.close("Venda Forte")
if cruzamento_25_99_abaixo
    strategy.close("Compra Forte")