Sistem dagangan henti untung dan henti rugi dinamik berbilang selang MACD

MACD MA SMA EMA
Tarikh penciptaan: 2024-11-29 15:01:33 Akhirnya diubah suai: 2024-11-29 15:01:33
Salin: 0 Bilangan klik: 487
1
fokus pada
1617
Pengikut

Sistem dagangan henti untung dan henti rugi dinamik berbilang selang MACD

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan automatik berdasarkan indikator MACD, yang menggabungkan mekanisme berhenti berhenti yang dinamik. Inti strategi adalah untuk menentukan isyarat perdagangan melalui persimpangan garis MACD dan garis isyarat, sambil mengintegrasikan fungsi pengurusan risiko seperti peratusan berhenti, keuntungan sasaran, dan penjejakan berhenti, yang membolehkan perdagangan sepenuhnya automatik. Strategi ini menggunakan perbezaan rata-rata bergerak cepat dan perlahan untuk mengira indikator MACD, untuk mengenal pasti titik peralihan trend pasaran melalui persimpangan garis isyarat, untuk membuat keputusan perdagangan yang sesuai.

Prinsip Strategi

Logik teras strategi merangkumi bahagian penting berikut:

  1. Pengiraan penunjuk MACD: Menggunakan 12 dan 26 hari sebagai kitaran purata bergerak cepat dan perlahan lalai, 9 hari sebagai kitaran meluruskan garis isyarat.
  2. Isyarat masuk: Apabila MACD melintasi garis isyarat dari bawah, sistem menghasilkan isyarat ganda; Apabila MACD melintasi garis isyarat dari atas, sistem menghasilkan isyarat kosong.
  3. Pengurusan risiko: Mekanisme perlindungan tiga bersepadu
    • Stop loss tetap: 1% di bawah harga kemasukan
    • Matlamat keuntungan: 2% di atas harga kemasukan
    • Tracking Stop Loss: 1.5 peratus dinamik Tracking Stop Loss Jarak

Kelebihan Strategik

  1. Sistem perdagangan: proses membuat keputusan perdagangan yang sepenuhnya automatik, tanpa gangguan emosi manusia.
  2. Kawalan risiko berganda: Pengurusan risiko menyeluruh dicapai melalui tiga mekanisme berhenti tetap, keuntungan sasaran, dan pengesanan berhenti.
  3. Parameter boleh disesuaikan: Semua parameter utama boleh disesuaikan secara optimum mengikut keadaan pasaran yang berbeza.
  4. Pengesanan Trend: titik peralihan yang dapat menangkap trend pasaran dengan berkesan, meningkatkan kadar kejayaan perdagangan.

Risiko Strategik

  1. Risiko pasaran yang bergolak: Isyarat palsu yang sering berlaku dalam pasaran yang bergolak.
  2. Risiko tergelincir: Dalam keadaan pasaran yang tidak menentu, harga sebenar mungkin berbeza dengan harga yang diingini.
  3. Sensitiviti parameter: Parameter optimum mungkin berbeza secara ketara dalam keadaan pasaran yang berbeza.
  4. Risiko sistemik: Perubahan mendadak dalam pasaran boleh menyebabkan kegagalan kawalan kerugian.

Arah pengoptimuman strategi

  1. Menambah penapis persekitaran pasaran:
    • Menambah indikator turun naik untuk menyaring peluang perdagangan
    • Keberkesanan isyarat pengesahan trafik gabungan
  2. Parameter pengoptimuman:
    • Mekanisme penyesuaian dinamik yang mewujudkan parameter
    • Pilih parameter terbaik secara automatik berdasarkan ciri-ciri pasaran
  3. Meningkatkan kawalan risiko:
    • Tambah modul pengurusan wang
    • Membangunkan mekanisme penangguhan kerugian yang lebih halus

ringkaskan

Strategi ini membina sistem perdagangan automatik yang kukuh melalui isyarat silang indikator MACD dan sistem pengurusan risiko yang baik. Walaupun terdapat ruang untuk pengoptimuman, kerangka asasnya sudah cukup baik. Dengan pengoptimuman dan penambahbaikan berterusan, strategi ini dijangka dapat mengekalkan prestasi yang stabil dalam pelbagai keadaan pasaran.

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