Strategi perdagangan berdasarkan indikator RSI dan MACD

Penulis:ChaoZhang, Tanggal: 2024-01-31 16:07:31
Tag:

img

Gambaran umum

Strategi ini menggabungkan Indeks Kekuatan Relatif (RSI) dan Indikator Divergensi Konvergensi Rata-rata Bergerak (MACD) untuk mengidentifikasi peluang perdagangan untuk BTC. Strategi ini panjang ketika RSI di bawah 30 dan garis MACD di bawah garis sinyal dan histogram MACD kurang dari -100; pendek ketika RSI di atas 80 dan garis MACD di atas garis sinyal dan histogram MACD lebih besar dari 250. Strategi ini juga menggunakan stop loss trailing untuk mengunci keuntungan.

Logika Strategi

  1. Gunakan indikator RSI untuk menentukan apakah pasar terlalu laris atau terlalu banyak dibeli. RSI di bawah 30 dianggap sebagai sinyal terlalu laris, sedangkan di atas 80 dianggap sebagai sinyal terlalu banyak dibeli.

  2. Menggunakan garis MACD indikator dan garis sinyal silang untuk menentukan entri dan keluar. Ketika garis MACD melintasi di atas garis sinyal, itu adalah sinyal beli; ketika garis MACD melintasi di bawah garis sinyal, itu adalah sinyal jual.

  3. Gabungkan sinyal dari indikator RSI dan MACD untuk membentuk aturan masuk untuk strategi ini.

  4. Gunakan stop loss trailing untuk mengunci keuntungan. Stop loss trailing diperbarui secara dinamis berdasarkan keuntungan / kerugian dari posisi terbuka, memungkinkan kontrol risiko yang efektif.

Analisis Keuntungan

  1. Menggabungkan indikator RSI dan MACD membantu menyaring sinyal palsu secara efektif.

  2. RSI baik dalam mendeteksi kondisi pasar yang terlalu banyak dibeli/terlalu banyak dijual. MACD menangkap perubahan tren dengan baik. Menggunakan keduanya menciptakan strategi yang kuat.

  3. Mengikuti stop loss mengunci keuntungan sesuai dengan pergerakan pasar langsung, mengendalikan risiko.

  4. Strategi ini memiliki beberapa parameter dan mudah diterapkan.

Analisis Risiko

  1. Risiko instrumen tunggal dari perdagangan hanya BTC.

  2. RSI dapat menghasilkan sinyal palsu selama skenario reversal range-bound dan bottom.

  3. Trailing stop loss bisa sangat terpukul selama perubahan pasar yang besar, gagal mengendalikan risiko.

  4. Penyesuaian parameter yang buruk dapat menyebabkan overtrading atau perdagangan yang terlewatkan.

Peluang Peningkatan

  1. Pertimbangkan untuk menambahkan indikator lain seperti Bollinger Bands, KD dll untuk melengkapi sinyal perdagangan.

  2. Pelajari korelasi antar pasar antara instrumen yang berbeda, membangun strategi reversi rata-rata multi-pasangan.

  3. Mengoptimalkan mekanisme stop loss misalnya stop loss tepat waktu, stop loss rata-rata dll.

  4. Masukkan pembelajaran mesin untuk optimasi parameter cerdas.

Ringkasan

Ini adalah strategi mengikuti tren berdasarkan indikator RSI dan MACD untuk menentukan skenario overbought / oversold. Ini menggabungkan kekuatan indikator teknis dengan baik untuk menangkap perubahan tren di pasar. Sementara itu, logika strategi sederhana dan mudah diterapkan. Optimasi lebih lanjut dapat memperluas aplikasinya.


/*backtest
start: 2023-01-24 00:00:00
end: 2024-01-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("BTC/USDT RSI and MACD Strategy", overlay = true)

// Define the RSI period
rsiPeriod = input(14, "RSI Period")

// Calculate the RSI
rsi = ta.rsi(close, rsiPeriod)

// Define the MACD parameters
macdShort = input(12, "MACD Short Period")
macdLong = input(26, "MACD Long Period")
macdSignal = input(9, "MACD Signal Period")

// Calculate the MACD
[macdLine, signalLine, _] = ta.macd(close, macdShort, macdLong, macdSignal)

// Define the trailing stop level
trailing_stop_loss_factor = input.float(2.50, "Trailing Stop Loss Factor", step = 0.01)

// Define the entry and exit conditions
enterLong = ta.crossover(rsi, 30) and macdLine < signalLine and macdLine < -100
enterShort = ta.crossunder(rsi, 83) and macdLine > signalLine and macdLine > 250

// Submit the orders
if (enterLong)
    strategy.entry("Long", strategy.long)
if (enterShort)
    strategy.entry("Short", strategy.short)

// Trailing Stop Loss
longTrailingStopLoss = strategy.position_avg_price * (1 - trailing_stop_loss_factor / 100)
shortTrailingStopLoss = strategy.position_avg_price * (1 + trailing_stop_loss_factor / 100)
if strategy.position_size > 0 
    strategy.exit("Exit Long", "Long", stop  = longTrailingStopLoss)
if strategy.position_size < 0 
    strategy.exit("Exit Short", "Short", stop = shortTrailingStopLoss)

// Plot the indicators
plot(rsi, "RSI", color=color.blue)
hline(20, "RSI Lower Level", color=color.green)
hline(80, "RSI Upper Level", color=color.red)
plot(macdLine - signalLine, "MACD Histogram", color=color.red, style=plot.style_histogram)
hline(0, "Zero", color=color.gray)

Lebih banyak