Sumber dimuat naik... memuat...

Sistem Dagangan Stop-Loss dan Take-Profit Multi-Interval MACD

Penulis:ChaoZhang, Tarikh: 2024-11-29 15:01:33
Tag:MACDMASMAEMA

img

Ringkasan

Strategi ini adalah sistem dagangan automatik berdasarkan penunjuk MACD, menggabungkan mekanisme stop-loss dan take-profit yang dinamik. Strategi teras menentukan isyarat dagangan melalui garis MACD dan persimpangan garis isyarat, sambil mengintegrasikan stop-loss berasaskan peratusan, sasaran keuntungan, dan penangguhan rintangan untuk pengurusan risiko. Strategi ini mengira penunjuk MACD menggunakan perbezaan antara purata bergerak cepat dan perlahan, mengenal pasti titik pembalikan trend pasaran melalui persimpangan garis isyarat untuk membuat keputusan dagangan yang sesuai.

Prinsip Strategi

Logik teras merangkumi beberapa komponen utama:

  1. Pengiraan MACD: Menggunakan tempoh lalai 12 dan 26 hari untuk purata bergerak pantas dan perlahan, dengan tempoh penyelarasan garis isyarat 9 hari.
  2. Isyarat Masuk: Sistem menghasilkan isyarat panjang apabila garis MACD melintasi di atas garis isyarat; isyarat pendek dihasilkan apabila garis MACD melintasi di bawah garis isyarat.
  3. Pengurusan Risiko: Merangkumi tiga mekanisme perlindungan:
    • Stop Loss tetap: 1% di bawah harga kemasukan
    • Sasaran keuntungan: 2% di atas harga kemasukan
    • Perhentian belakang: 1.5% jarak berhenti belakang dinamik

Kelebihan Strategi

  1. Perdagangan Sistematik: Proses keputusan perdagangan yang sepenuhnya automatik, mengelakkan gangguan emosi.
  2. Kawalan Risiko Berbilang: Mencapai pengurusan risiko yang komprehensif melalui hentian tetap, sasaran keuntungan, dan hentian penghantaran.
  3. Parameter yang boleh diselaraskan: Semua parameter utama boleh dioptimumkan untuk keadaan pasaran yang berbeza.
  4. Mengikuti trend: Mencatatkan titik pembalikan trend pasaran dengan berkesan, meningkatkan kadar kejayaan perdagangan.

Risiko Strategi

  1. Risiko pasaran berbelit-belit: Boleh menghasilkan isyarat palsu yang kerap di pasaran sampingan.
  2. Risiko tergelincir: Harga pelaksanaan sebenar mungkin menyimpang dari harga ideal semasa turun naik yang tinggi.
  3. Sensitiviti Parameter: Parameter optimum boleh berbeza-beza secara ketara di persekitaran pasaran yang berbeza.
  4. Risiko Sistemik: Perubahan pasaran yang tiba-tiba boleh menyebabkan kegagalan stop-loss.

Arahan Pengoptimuman Strategi

  1. Tambah penapis persekitaran pasaran:
    • Menggabungkan penunjuk turun naik untuk menyaring peluang dagangan
    • mengesahkan keabsahan isyarat dengan analisis jumlah
  2. Mengoptimumkan Penyesuaian Parameter:
    • Melaksanakan mekanisme pelarasan parameter dinamik
    • Memilih parameter optimum secara automatik berdasarkan ciri pasaran
  3. Meningkatkan Kawalan Risiko:
    • Tambah modul pengurusan wang
    • Membangunkan mekanisme stop-loss yang lebih canggih

Ringkasan

Strategi ini membina sistem perdagangan automatik yang kukuh melalui isyarat persilangan MACD dan pengurusan risiko yang komprehensif. Walaupun terdapat ruang untuk pengoptimuman, kerangka asasnya sudah berkembang dengan baik. Melalui pengoptimuman dan peningkatan yang berterusan, strategi ini berpotensi untuk mengekalkan prestasi yang stabil di pelbagai persekitaran pasaran. Untuk pelaksanaan perdagangan langsung, disyorkan untuk melakukan pengujian balik yang menyeluruh dan menyesuaikan parameter mengikut ciri pasaran tertentu.


/*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)


Berkaitan

Lebih lanjut