Strategi perdagangan kuantitatif pembalikan arah aliran purata MACD

EMA MACD SMA
Tarikh penciptaan: 2025-02-24 09:43:04 Akhirnya diubah suai: 2025-02-27 16:49:52
Salin: 1 Bilangan klik: 427
2
fokus pada
319
Pengikut

Strategi perdagangan kuantitatif pembalikan arah aliran purata MACD Strategi perdagangan kuantitatif pembalikan arah aliran purata MACD

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan berbalik arah berdasarkan garis rata dan MACD. Ia menggabungkan indeks bergerak cepat (EMA), purata bergerak sederhana (SMA) dan MACD untuk memperoleh keuntungan dengan menangkap peluang pembelian dalam perubahan trend pasaran. Strategi ini memfokuskan pada ciri-ciri teknikal seperti harga yang melanggar garis rata-rata, MACD berbalik arah di bawah sumbu sifar, dan dengan itu diletakkan di pasaran ketika perubahan akan berlaku.

Prinsip Strategi

Strategi ini menggunakan EMA ((10) dan MA ((20) sebagai penanda aras untuk menentukan trend, dan digabungkan dengan MACD ((12,26,9) untuk pengesahan isyarat. Secara khusus, isyarat masuk perlu memenuhi syarat berikut:

  1. EMA ((10) di atas MA ((20), menunjukkan bahawa pergerakan jangka pendek mula lebih kuat daripada pergerakan jangka menengah
  2. Indikator MACD dan garisan isyarat berada di bawah paksi sifar, tetapi garisan MACD berada di atas garisan isyarat, yang menunjukkan isyarat pembalikan bawah yang berpotensi Keadaan kedudukan terhad strategi adalah apabila MACD berada di bawah 0 dan MACD dan garis isyarat berada di atas paksi sifar, yang menunjukkan bahawa trend ke atas mungkin telah berakhir.

Kelebihan Strategik

  1. Penyelidikan silang pelbagai petunjuk teknikal meningkatkan kebolehpercayaan isyarat
  2. Gabungan trend dan indikator momentum membolehkan anda memahami trend besar dan menentukan masa masuk yang tepat
  3. Menggunakan EMA dan SMA, kedua-dua garis rata memastikan kepekaan terhadap perubahan pasaran dan menapis beberapa isyarat palsu
  4. Keadaan yang jelas membantu mengelakkan kemelut

Risiko Strategik

  1. Isyarat pelarian palsu yang kerap mungkin berlaku dalam pasaran yang tidak menentu
  2. Sistem garis rata mempunyai ketidakselesaan dan mungkin terlepas peluang masuk terbaik
  3. Indeks MACD mungkin memberi isyarat ketinggalan dalam pasaran yang bergolak
  4. Tiada mekanisme penangguhan kerugian yang jelas, yang boleh menyebabkan kerugian yang lebih besar dalam keadaan pasaran yang bergolak

Arah pengoptimuman strategi

  1. Memperkenalkan indikator kadar turun naik (seperti ATR) untuk menyesuaikan saiz pegangan dan kedudukan hentian secara dinamik
  2. Penapis kekuatan aliran ditambah untuk mengelakkan dagangan dalam aliran lemah
  3. Optimumkan parameter garis purata untuk memilih kombinasi parameter yang optimum mengikut ciri-ciri pasaran yang berbeza
  4. Tambahan pengesahan penunjuk kuantiti pertukaran untuk meningkatkan kebolehpercayaan isyarat
  5. Membina sistem pengurusan dana yang lebih baik, termasuk pembinaan gudang secara berturut-turut dan mekanisme pemindahan gudang secara dinamik

ringkaskan

Strategi ini menggunakan sistem garis rata dan penunjuk MACD, untuk membina sistem perdagangan pembalikan trend yang agak lengkap. Walaupun terdapat risiko ketinggalan dan isyarat palsu, tetapi dengan pengoptimuman parameter yang munasabah dan langkah-langkah kawalan risiko, ia masih mempunyai nilai aplikasi yang baik di lapangan.

Kod sumber strategi
/*backtest
start: 2024-02-25 00:00:00
end: 2025-01-20 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

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

//Macd 参数
fastLength = input(12, title="快线长度")
slowLength = input(26, title="慢线长度")
MACDLength = input(9, title="MACD 信号线长度")

// 计算 MACD
MACD = ta.ema(close, fastLength) - ta.ema(close, slowLength)
aMACD = ta.ema(MACD, MACDLength)
delta = MACD - aMACD


// 计算 EMA(10) 和 MA(20)
ema10 = ta.ema(close, 10)
ma20 = ta.sma(close, 20)
// 在图表上绘制 EMA(10) 和 MA(20),用于调试
plot(ema10, title="EMA 10", color=color.blue, linewidth=2)
plot(ma20, title="MA 20", color=color.red, linewidth=2)

// 实时检查条件
// 检查 EMA(10) 是否高于 MA(20)
bool emaAboveMa = ema10 > ma20

// 检查 MACD 是否在信号线上方,且 MACD 和信号线均在 0 轴下方
bool macdCondition = (MACD > aMACD) and (MACD < 0) and (aMACD < 0)

// 添加调试信息 - 当条件满足时绘制图形
plotshape(emaAboveMa, title="EMA Above MA Condition",  size=size.small, text="eam")
plotshape(macdCondition, title="MACD Condition", size=size.small, text="macd")

// 当两个条件都满足时,触发买入操作
if (emaAboveMa and macdCondition)
    strategy.entry("多头", strategy.long, comment="买入信号")
    // 显示买入信号的标签
    label.new(bar_index, high, "买入", textcolor=color.white, style=label.style_label_up, size=size.normal)

// 平仓条件
if (ta.crossunder(delta, 0) and MACD > 0 and aMACD > 0)
    strategy.close("MacdLE", comment="Close Long")
//if (ta.crossunder(delta, 0))
//	strategy.entry("MacdSE", strategy.short, comment="MacdSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)