Penyelidikan tentang versi dioptimumkan bagi strategi kemasukan fleksibel silang silang lima hari berdasarkan RSI dan MACD

RSI MACD
Tarikh penciptaan: 2024-12-13 12:01:31 Akhirnya diubah suai: 2024-12-13 12:01:31
Salin: 0 Bilangan klik: 492
1
fokus pada
1617
Pengikut

Penyelidikan tentang versi dioptimumkan bagi strategi kemasukan fleksibel silang silang lima hari berdasarkan RSI dan MACD

Gambaran keseluruhan

Strategi ini adalah strategi perdagangan kuantitatif yang menggabungkan indeks yang agak kuat (RSI) dan indikator pergerakan rata-rata trend / penyebaran (MACD). Inti strategi ini adalah dengan melihat kawasan RSI overbought dan oversold, menggabungkan MACD untuk menentukan arah trend pasaran dan menetapkan stop loss untuk mengawal risiko.

Prinsip Strategi

Strategi ini berdasarkan komponen teras berikut:

  1. Penunjuk RSI menggunakan 14 kitaran sebagai parameter untuk mengenal pasti peluang terbalik yang berpotensi dengan menilai sama ada aset berada dalam keadaan overbought (>70) atau oversold (>30).
  2. Penunjuk MACD menggunakan kombinasi parameter 12-26-9 klasik untuk mengesahkan perubahan trend dengan mencari persilangan garis MACD dan garis isyarat dalam 5 kitaran perdagangan.
  3. Logik input terdiri daripada dua syarat:
    • Buat banyak syarat: RSI mempunyai nilai terendah di bawah 30 dalam tempoh 5 kitaran, manakala garis MACD muncul dalam hampir 5 kitaran bersalin ke atas dengan garis isyarat.
    • Keadaan kosong: RSI mempunyai nilai tertinggi di atas 70 dalam tempoh 5 kitaran, manakala garis MACD muncul dalam hampir 5 kitaran berlawanan dengan garis isyarat.
  4. Kawalan risiko menggunakan simetri 2% stop loss dan 2% stop loss.

Kelebihan Strategik

  1. Penyelidikan silang pelbagai indikator meningkatkan kebolehpercayaan isyarat, dan dengan penggunaan gabungan RSI dan MACD, ia dapat menyaring dengan berkesan isyarat palsu yang mungkin dihasilkan oleh satu indikator.
  2. Jendela pemerhatian kitaran 5 hari yang fleksibel dapat menangkap lebih banyak peluang perdagangan dan mengelakkan kehilangan titik-titik perubahan pasaran yang penting.
  3. Tetapan simetri stop-loss adalah baik untuk pengurusan wang dan dapat mengawal risiko perdagangan tunggal dengan berkesan.
  4. Logik strategi ringkas dan jelas, mudah difahami dan dilaksanakan, sesuai untuk pengoptimuman lanjut berdasarkan strategi.

Risiko Strategik

  1. RSI dan MACD adalah penunjuk yang ketinggalan dan boleh menyebabkan kelewatan dalam pasaran yang bergolak.
  2. Nisbah stop loss yang tetap mungkin tidak sesuai untuk semua keadaan pasaran dan perlu disesuaikan dengan perubahan kadar turun naik.
  3. Tempoh pemerhatian 5 hari mungkin terlalu pendek dalam keadaan pasaran tertentu, menyebabkan perdagangan berlebihan.
  4. Tanpa mengambil kira faktor jumlah transaksi, ia mungkin menghasilkan isyarat yang tidak tepat dalam persekitaran kecairan yang rendah.

Arah pengoptimuman strategi

  1. Memperkenalkan mekanisme penyesuaian kadar turun naik, menyesuaikan kadar stop loss secara dinamik mengikut turun naik pasaran.
  2. Meningkatkan penunjuk jumlah transaksi sebagai pengesahan tambahan untuk meningkatkan kebolehpercayaan isyarat.
  3. Membangunkan mekanisme pemilihan kitaran dinamik, menyesuaikan saiz tetingkap pemerhatian secara automatik mengikut keadaan pasaran.
  4. Menambah penapis trend untuk mengelakkan perdagangan berlawanan arah dalam pasaran yang sedang bertukar.
  5. Pertimbangkan untuk memperkenalkan penapis masa untuk mengelakkan dagangan pada masa pasaran yang bergelombang seperti pembukaan dan penutupan.

ringkaskan

Strategi ini membina sistem perdagangan yang agak lengkap dengan menggabungkan RSI dan MACD, dengan syarat kemasukan yang fleksibel dan mekanisme kawalan risiko. Walaupun terdapat beberapa tempat yang perlu dioptimumkan, kerangka asas mempunyai skalabiliti yang baik, dan dengan pengoptimuman dan penyempurnaan lanjut, ia dijangka menjadi strategi perdagangan yang lebih mantap.

Kod 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)