Strategi perdagangan berdasarkan golden cross MACD berkelanjutan dan dead cross

MACD EMA
Tanggal Pembuatan: 2024-04-30 17:26:19 Akhirnya memodifikasi: 2024-04-30 17:26:19
menyalin: 1 Jumlah klik: 756
1
fokus pada
1617
Pengikut

Strategi perdagangan berdasarkan golden cross MACD berkelanjutan dan dead cross

Ringkasan

Strategi ini diperdagangkan berdasarkan sinyal forks dan dead-forks berturut-turut dari indikator MACD. Ketika muncul sinyal forks berturut-turut, buka posisi multihead; Ketika muncul sinyal dead-forks berturut-turut, buka posisi head kosong. Selain itu, strategi ini memungkinkan pengguna untuk mengatur stop-loss dan stop-loss untuk mengendalikan risiko.

Prinsip Strategi

Inti dari strategi ini adalah menggunakan sinyal forks dan deadlines dari indikator MACD untuk menilai titik balik tren pasar. Indikator MACD terdiri dari rata-rata bergerak cepat (EMA) dan rata-rata bergerak lambat (EMA), yang membentuk sinyal forks atau deadlines ketika EMA cepat dan EMA lambat bersilang.

Keunggulan Strategis

  1. Sederhana dan mudah dipahami: Strategi ini didasarkan pada indikator MACD yang digunakan secara luas. Prinsip indikatornya sederhana dan mudah dipahami dan diterapkan.
  2. Pelacakan tren: Dengan menangkap sinyal garpu emas dan garpu mati berturut-turut, strategi ini dapat melacak tren utama pasar, yang membantu menghasilkan keuntungan dari tren tersebut.
  3. Pengendalian risiko: Strategi memungkinkan pengguna untuk mengatur titik stop dan stop loss untuk membantu mengendalikan risiko dan kerugian potensial.
  4. Fleksibilitas Retesting: Strategi memberikan pilihan untuk jangka waktu retesting, dan pengguna dapat menilai kinerja strategi pada periode waktu yang berbeda sesuai kebutuhan.

Risiko Strategis

  1. Sensitivitas parameter: Kinerja indikator MACD tergantung pada pilihan periode EMA cepat dan EMA lambat, dan pengaturan parameter yang berbeda dapat menyebabkan sinyal perdagangan yang berbeda.
  2. Kebisingan pasar: Dalam kondisi pasar yang bergejolak atau tidak jelas, indikator MACD dapat menghasilkan lebih banyak sinyal palsu, yang menyebabkan perdagangan yang lebih sering dan potensi kerugian.
  3. Penundaan tren: Indikator MACD adalah indikator yang tertinggal, sinyal perdagangan mungkin muncul setelah tren telah ditetapkan, melewatkan waktu masuk yang optimal.
  4. Risiko Stop Loss: Jika pasar sangat berfluktuasi, harga dapat dengan cepat menembus titik stop loss, menyebabkan kerugian yang lebih besar dari yang diharapkan.

Arah optimasi strategi

  1. Kombinasi dengan indikator lain: Pertimbangkan untuk menggunakan indikator MACD dalam kombinasi dengan indikator teknis lainnya (seperti RSI, Brinks, dll.) untuk meningkatkan keandalan sinyal dan menyaring sinyal palsu.
  2. Parameter optimasi: menemukan kombinasi parameter yang paling sesuai untuk pasar dan aset tertentu dengan melakukan pengembalian dan optimasi pada berbagai siklus EMA cepat dan EMA lambat.
  3. Stop Loss Dinamis: Mengatur stop loss dan stop loss secara dinamis sesuai dengan volatilitas pasar atau tingkat harga, untuk lebih beradaptasi dengan perubahan pasar dan mengendalikan risiko.
  4. Memperkenalkan Manajemen Posisi: Sesuai dengan kekuatan sinyal atau kondisi pasar, menyesuaikan ukuran posisi untuk setiap transaksi untuk mengoptimalkan rasio risiko-pengembalian.

Meringkaskan

Strategi ini berdagang berdasarkan sinyal MACD Gold Fork dan Dead Fork yang berturut-turut, mencoba menangkap titik balik tren pasar. Strategi ini sederhana dan mudah dimengerti, dapat melacak tren utama, dan menawarkan kontrol risiko dan fungsi feedback yang fleksibel. Namun, kinerja strategi dapat dipengaruhi oleh faktor-faktor seperti pemilihan parameter, kebisingan pasar, dan penundaan tren.

Kode Sumber Strategi
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("连续MACD交叉和回测范围")
//策略初始化時間設置
useDateFilter = input.bool(true, title="启用时间回测范围", group="回测范围")
backtestStartDate = input(timestamp("1 Jan 2023"), title="开始时间", group="回测范围")
backtestEndDate = input(timestamp("1 Jan 2024"), title="结束时间", group="回测范围")
inTradeWindow = true

// 定义MACD指标参数
fastLength = input.int(12, "快速EMA周期")
slowLength = input.int(26, "慢速EMA周期")
signalSmoothing = input.int(9, "信号线平滑周期")
long_win = input.float(defval = 0.01,title = "多单止盈设置", tooltip = "0.01代表1%" )
long_lose= input.float(0.01,"多单止损设置")
short_win = input.float(0.01,"空单止盈设置")
short_lose = input.float(0.01,"空单止损设置")

// 计算MACD值
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)

// 定义金叉和死叉的条件
crossUp = ta.crossover(macdLine, signalLine)
crossDown = ta.crossunder(macdLine, signalLine)

// 使用历史状态记录上一次交叉情况
var lastCrossUp = false
var lastCrossDown = false

// 更新历史状态
if crossUp
    lastCrossUp := true
else if crossDown
    lastCrossUp := false

if crossDown
    lastCrossDown := true
else if crossUp
    lastCrossDown := false

// 交易执行逻辑:检查是否存在连续的金叉或死叉
if lastCrossUp and crossUp and inTradeWindow
    strategy.entry("买入开多", strategy.long)
    strategy.exit("买入止盈止损", "买入开多", limit=close * (1 + long_win), stop=close * (1 - long_lose))

if lastCrossDown and crossDown and inTradeWindow
    strategy.entry("卖出开空", strategy.short)
    strategy.exit("卖出止盈止损", "卖出开空", limit=close * (1 - short_win), stop=close * (1 + short_lose))

// 显示MACD线和信号线
plot(macdLine, "MACD线", color=color.blue)
plot(signalLine, "信号线", color=color.orange)