Sistem perdagangan stop-profit dan stop-loss dinamis multi-interval MACD

MACD MA SMA EMA
Tanggal Pembuatan: 2024-11-29 15:01:33 Akhirnya memodifikasi: 2024-11-29 15:01:33
menyalin: 0 Jumlah klik: 487
1
fokus pada
1617
Pengikut

Sistem perdagangan stop-profit dan stop-loss dinamis multi-interval MACD

Ringkasan

Strategi ini adalah sistem perdagangan otomatis berdasarkan indikator MACD, yang menggabungkan mekanisme stop loss dan stop loss yang dinamis. Inti dari strategi ini adalah untuk menentukan sinyal perdagangan melalui persimpangan garis MACD dan garis sinyal, dan mengintegrasikan fungsi manajemen risiko seperti persentase stop loss, target profit, dan pelacakan stop loss, yang memungkinkan perdagangan otomatis. Strategi ini menggunakan diferensial rata-rata bergerak cepat dan lambat untuk menghitung indikator MACD, dan mengidentifikasi titik peralihan tren pasar melalui persimpangan garis sinyal, sehingga dapat membuat keputusan perdagangan yang sesuai.

Prinsip Strategi

Logika inti dari strategi ini mencakup bagian-bagian utama berikut:

  1. Penghitungan indikator MACD: menggunakan 12 dan 26 hari sebagai periode rata-rata bergerak cepat dan lambat standar, 9 hari sebagai periode perataan garis sinyal.
  2. Sinyal masuk: Ketika MACD line dari bawah menembus sinyal line, sistem menghasilkan sinyal do multi; Ketika MACD line dari atas jatuh dari sinyal line, sistem menghasilkan sinyal do vakum.
  3. Manajemen risiko: Mengintegrasikan tiga mekanisme perlindungan:
    • Stop loss tetap: 1% di bawah harga masuk
    • Target laba: 2% di atas harga masuk
    • Tracking Stop Loss: 1.5% dari jarak tracking stop loss dinamis

Keunggulan Strategis

  1. Sistematisasi transaksi: proses pengambilan keputusan transaksi yang sepenuhnya otomatis, tanpa gangguan emosional manusia.
  2. Kontrol risiko ganda: Mengelola risiko secara menyeluruh melalui tiga mekanisme: Stop loss tetap, target profit, dan tracking stop loss.
  3. Parameter dapat disesuaikan: Semua parameter kunci dapat disesuaikan secara optimal sesuai dengan situasi pasar yang berbeda.
  4. Pelacakan tren: titik-titik konversi yang dapat secara efektif menangkap tren pasar dan meningkatkan tingkat keberhasilan transaksi.

Risiko Strategis

  1. Risiko pasar yang bergoyang: Sering terjadi sinyal palsu dalam pasar yang bergoyang.
  2. Risiko slippage: Dalam kondisi pasar yang sangat bergejolak, harga transaksi yang sebenarnya dapat menyimpang dari harga yang diinginkan.
  3. Sensitivitas Parameter: Parameter optimal dapat berbeda secara signifikan dalam lingkungan pasar yang berbeda.
  4. Risiko sistemik: Perubahan pasar yang tiba-tiba dapat menyebabkan kegagalan stop loss.

Arah optimasi strategi

  1. Menambahkan filter lingkungan pasar:
    • Menambahkan indikator volatilitas untuk menyaring peluang perdagangan
    • Efektivitas sinyal konfirmasi lalu lintas gabungan
  2. Parameter optimasi beradaptasi:
    • Mekanisme penyesuaian dinamis untuk implementasi parameter
    • Parameter terbaik dipilih secara otomatis berdasarkan karakteristik pasar
  3. Meningkatkan pengendalian risiko:
    • Menambahkan Modul Manajemen Dana
    • Mengembangkan mekanisme penghentian kerugian yang lebih halus

Meringkaskan

Strategi ini membangun sistem perdagangan otomatis yang solid melalui sinyal silang indikator MACD dan sistem manajemen risiko yang baik. Meskipun ada ruang untuk pengoptimalan, kerangka dasar sudah cukup baik. Dengan pengoptimalan dan perbaikan berkelanjutan, strategi ini diharapkan dapat mempertahankan kinerja yang stabil di berbagai lingkungan pasar.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © traderhub


//@version=5
strategy("MACD Strategy with Settings", overlay=true)

// Параметры MACD в контрольной панели
fastLength = input.int(12, title="Fast Length", minval=1, maxval=50)
slowLength = input.int(26, title="Slow Length", minval=1, maxval=50)
signalSmoothing = input.int(9, title="Signal Smoothing", minval=1, maxval=50)

// Параметры риска
stopLossPerc = input.float(1, title="Stop Loss (%)", step=0.1) // Стоп-лосс в процентах
takeProfitPerc = input.float(2, title="Take Profit (%)", step=0.1) // Тейк-профит в процентах
trailStopPerc = input.float(1.5, title="Trailing Stop (%)", step=0.1) // Трейлинг-стоп в процентах

// Вычисляем MACD
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)

// Показываем MACD и сигнальную линию на графике
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")
hline(0, "Zero Line", color=color.gray)

// Условия для покупки и продажи
longCondition = ta.crossover(macdLine, signalLine) // Покупка при пересечении MACD вверх сигнальной линии
shortCondition = ta.crossunder(macdLine, signalLine) // Продажа при пересечении MACD вниз сигнальной линии

// Расчет стоп-лосса и тейк-профита
var float longStopLevel = na
var float longTakeProfitLevel = na

if (longCondition)
    longStopLevel := strategy.position_avg_price * (1 - stopLossPerc / 100)
    longTakeProfitLevel := strategy.position_avg_price * (1 + takeProfitPerc / 100)
    strategy.entry("Long", strategy.long)

if (strategy.position_size > 0)
    // Установка стоп-лосса и тейк-профита
    strategy.exit("Take Profit/Stop Loss", "Long", stop=longStopLevel, limit=longTakeProfitLevel, trail_offset=trailStopPerc)

// Закрытие позиции при медвежьем сигнале
if (shortCondition)
    strategy.close("Long")
    strategy.entry("Short", strategy.short)