Penelitian tentang versi optimal dari strategi entri fleksibel crossover lima hari berdasarkan RSI dan MACD

RSI MACD
Tanggal Pembuatan: 2024-12-13 12:01:31 Akhirnya memodifikasi: 2024-12-13 12:01:31
menyalin: 0 Jumlah klik: 492
1
fokus pada
1617
Pengikut

Penelitian tentang versi optimal dari strategi entri fleksibel crossover lima hari berdasarkan RSI dan MACD

Ringkasan

Strategi ini adalah strategi perdagangan kuantitatif yang menggabungkan indeks relatif kuat (RSI) dan indikator pergerakan rata-rata trend / spread (MACD). Inti dari strategi ini adalah dengan mengamati area overbought / oversold RSI, menggabungkan sinyal MACD untuk menentukan arah tren pasar dalam hampir 5 siklus perdagangan, dan mengatur stop loss untuk mengendalikan risiko.

Prinsip Strategi

Strategi ini didasarkan pada komponen inti berikut:

  1. Indikator RSI menggunakan 14 siklus sebagai pengaturan parameter untuk mengidentifikasi peluang terbalik potensial dengan menilai apakah aset berada dalam kondisi overbought (<70) atau oversold (<30).
  2. Indikator MACD menggunakan kombinasi parameter 12-26-9 klasik untuk mengkonfirmasi perubahan tren dengan mencari persilangan garis MACD dan garis sinyal dalam 5 siklus perdagangan.
  3. Logika input terdiri dari dua kondisi:
    • Terjadi beberapa kondisi: RSI dalam 5 periode memiliki nilai minimum di bawah 30, sementara garis MACD muncul dalam hampir 5 periode dengan garis sinyal yang bersilang ke atas.
    • Kondisi kosong: RSI memiliki nilai tertinggi di atas 70 selama 5 periode, sementara garis MACD muncul di dekat garis sinyal yang melintas ke bawah selama 5 periode.
  4. Pengendalian risiko menggunakan simetris 2% stop loss dan 2% stop loss setting.

Keunggulan Strategis

  1. Multi-indicator cross-verifikasi meningkatkan keandalan sinyal, dengan penggunaan RSI dan MACD dalam kombinasi, dapat secara efektif menyaring sinyal palsu yang mungkin dihasilkan oleh indikator tunggal.
  2. Fleksibel 5-hari periode observasi jendela dapat menangkap lebih banyak peluang perdagangan, dan menghindari kehilangan titik-titik penting di pasar.
  3. Setting stop-loss yang simetris membantu dalam pengelolaan dana dan dapat mengontrol risiko transaksi tunggal secara efektif.
  4. Logika strategi sederhana dan jelas, mudah dipahami dan diterapkan, dan cocok untuk dioptimalkan lebih lanjut berdasarkan strategi.

Risiko Strategis

  1. RSI dan MACD adalah indikator lag, yang dapat terjadi dalam pasar yang sangat bergejolak.
  2. Rasio stop loss yang tetap mungkin tidak cocok untuk semua kondisi pasar dan perlu disesuaikan dengan perubahan volatilitas.
  3. Periode observasi 5 hari mungkin terlalu pendek dalam kondisi pasar tertentu, yang menyebabkan perdagangan berlebihan.
  4. Tanpa mempertimbangkan faktor volume transaksi, sinyal mungkin tidak akurat dalam lingkungan likuiditas rendah.

Arah optimasi strategi

  1. Memperkenalkan mekanisme penyesuaian diri terhadap volatilitas, menyesuaikan stop loss rasio secara dinamis sesuai dengan fluktuasi pasar.
  2. Menambahkan indikator volume transaksi sebagai konfirmasi tambahan untuk meningkatkan keandalan sinyal.
  3. Mengembangkan mekanisme pilihan siklus dinamis yang secara otomatis menyesuaikan ukuran jendela observasi sesuai dengan kondisi pasar.
  4. Menambahkan filter tren untuk menghindari perdagangan berlawanan arah di pasar yang sedang tren.
  5. Pertimbangkan untuk menerapkan filter waktu untuk menghindari perdagangan pada saat-saat yang bergejolak seperti saat pasar terbuka dan ditutup.

Meringkaskan

Strategi ini membangun sistem perdagangan yang relatif lengkap dengan menggabungkan indikator RSI dan MACD, dengan persyaratan masuk yang fleksibel dan mekanisme pengendalian risiko. Meskipun ada beberapa tempat yang perlu dioptimalkan, kerangka dasar memiliki skalabilitas yang baik, dan dengan pengoptimalan dan perbaikan lebih lanjut, diharapkan menjadi strategi perdagangan yang lebih kuat.

Kode Sumber Strategi
/*backtest
start: 2024-11-12 00:00:00
end: 2024-12-12 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("MACD & RSI Strategy with SL/TP and Flexible Entry (5 bars)", overlay=true)

// Параметры для RSI и MACD
rsiLength = 14
overbought = 70
oversold = 30
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)

// Рассчитаем RSI
rsi = ta.rsi(close, rsiLength)

// Проверка пересечения MACD
macdCrossOver = ta.crossover(macdLine, signalLine)
macdCrossUnder = ta.crossunder(macdLine, signalLine)

// Логика для проверки пересечения MACD за последние 5 баров
var bool macdCrossOverRecent = false
var bool macdCrossUnderRecent = false

// Проверяем пересечения за последние 5 баров
for i = 0 to 4
    if macdCrossOver[i]
        macdCrossOverRecent := true
    if macdCrossUnder[i]
        macdCrossUnderRecent := true

// Условия для шортовой сделки: RSI выше 70 (перекупленность) + пересечение MACD за последние 5 баров
shortCondition = ta.highest(rsi, 5) > overbought and macdCrossOverRecent

// Условия для лонговой сделки: RSI ниже 30 (перепроданность) + пересечение MACD за последние 5 баров
longCondition = ta.lowest(rsi, 5) < oversold and macdCrossUnderRecent

// Процент для стоп-лосса и тейк-профита
takeProfitPercent = 0.02
stopLossPercent = 0.02

// Открытие шортовой позиции
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Открытие лонговой позиции
if (longCondition)
    strategy.entry("Long", strategy.long)

// Рассчитываем стоп-лосс и тейк-профит для шорта
shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent)
shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent)

// Рассчитываем стоп-лосс и тейк-профит для лонга
longStopLoss = strategy.position_avg_price * (1 - stopLossPercent)
longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent)

// Устанавливаем выход по стоп-лоссу и тейк-профиту для шортов
if (strategy.position_size < 0) // Проверяем, что открыта шортовая позиция
    strategy.exit("Take Profit/Stop Loss Short", "Short", stop=shortStopLoss, limit=shortTakeProfit)

// Устанавливаем выход по стоп-лоссу и тейк-профиту для лонгов
if (strategy.position_size > 0) // Проверяем, что открыта лонговая позиция
    strategy.exit("Take Profit/Stop Loss Long", "Long", stop=longStopLoss, limit=longTakeProfit)

// Графики для отображения RSI и MACD
plot(rsi, "RSI", color=color.purple)
hline(overbought, "Overbought", color=color.red)
hline(oversold, "Oversold", color=color.green)

plot(macdLine, "MACD Line", color=color.blue)
plot(signalLine, "Signal Line", color=color.orange)