Strategi Palang Emas MACD dan Palang Mati

MACD EMA DIF DEA
Tarikh penciptaan: 2024-04-26 12:08:24 Akhirnya diubah suai: 2024-04-26 12:08:24
Salin: 0 Bilangan klik: 1107
1
fokus pada
1617
Pengikut

Strategi Palang Emas MACD dan Palang Mati

Gambaran keseluruhan

Strategi ini menggunakan persilangan garis DIF dan garis DEA dalam indikator MACD untuk menghasilkan isyarat perdagangan. Apabila garis DIF melintasi garis DEA dari bawah ke atas, ia menghasilkan isyarat melakukan banyak; Apabila garis DIF melintasi garis DEA dari atas ke bawah, ia menghasilkan isyarat melakukan penembusan. Hasil tinjauan semula strategi ini menunjukkan bahawa ia mempunyai kira-kira 40% kemenangan pada pasangan perdagangan BTCUSDT, dengan keuntungan tahunan 1.05, tetapi akan menyebabkan peningkatan jumlah aset yang dipegang, dan oleh itu tidak dapat digunakan sebagai strategi penjimatan yang berasingan.

Prinsip Strategi

  1. Hitung purata bergerak pantas (EMA) dan purata bergerak perlahan (EMA).
  2. Hitung garis DIF, iaitu perbezaan antara EMA pantas dan EMA perlahan.
  3. Hitung garis DEA, iaitu EMA garis DIF.
  4. Mengira perbezaan antara garis DIF dan garis DEA.
  5. Apabila saluran DIF melintasi saluran DEA dari bawah ke atas, ia menghasilkan sinyal multitasking dan membuka saluran multitasking.
  6. Apabila garis DIF melintasi garis DEA dari atas ke bawah, ia menghasilkan isyarat untuk menutup posisi, menutup lebih banyak, membuka posisi untuk menutup posisi.
  7. Apabila satu lagi isyarat silang berlawanan muncul, posisi semasa ditutup dan posisi berlawanan dibuka.

Kelebihan Strategik

  1. Strategi ini menggunakan penunjuk MACD yang digunakan secara meluas dan mudah difahami dan dilaksanakan.
  2. Strategi logik jelas, isyarat perdagangan jelas.
  3. Ia digunakan untuk pasaran trend, untuk mengesan trend utama pasaran.

Risiko Strategik

  1. Strategi ini mempunyai kadar kemenangan yang rendah, iaitu hanya 40%, yang bermaksud bahawa 60% dagangan mungkin rugi.
  2. Strategi ini menyebabkan peningkatan jumlah aset yang dipegang, yang mungkin membawa kepada risiko tambahan.
  3. Dalam pasaran yang bergolak, strategi ini mungkin menghasilkan isyarat dagangan yang kerap, menyebabkan kos dagangan yang tinggi.
  4. Strategi ini tidak mengambil kira pengurusan risiko, seperti pengurusan hentian dan kedudukan, yang boleh menyebabkan kerugian besar.

Arah pengoptimuman strategi

  1. Memperkenalkan penapis trend, seperti purata bergerak jangka panjang, untuk mengelakkan dagangan di pasaran yang bergolak.
  2. Mengoptimumkan parameter penunjuk MACD, seperti EMA cepat, EMA lambat dan kitaran garis isyarat, untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
  3. Menambah langkah-langkah pengurusan risiko, seperti penutupan kerugian dan pengurusan kedudukan, untuk mengawal potensi kerugian.
  4. Gabungan dengan petunjuk teknikal atau analisis asas lain untuk meningkatkan kebolehpercayaan isyarat perdagangan.

ringkaskan

Strategi MACD Gold Fork Dead Fork adalah strategi perdagangan yang mudah dan mudah difahami yang sesuai untuk pasaran yang sedang tren. Walau bagaimanapun, strategi ini mempunyai kadar kemenangan yang rendah dan kekurangan langkah-langkah pengurusan risiko, oleh itu perlu lebih banyak pengoptimuman dan penyempurnaan. Prestasi dan kebolehpercayaan strategi ini dapat ditingkatkan dengan memperkenalkan penapis trend, parameter pengoptimuman, penambahan pengurusan risiko dan gabungan dengan kaedah analisis lain.

Kod 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
// @description 该策略使用 MACD DIF 线与 EDA 线产生金叉与死叉时进行入场与出场操作, 回测后发现胜率约 40%, BTCUSDT 年化利率 1.05, 同时会导致持有的资产数量不断上升, 无法作为一个独立的套利策略进行使用.

strategy("MACD 金叉策略", overlay=true)

fastLength = input(12, "快线长度")
slowLength = input(26, "慢线长度")
MACDLength = input(9, "MACD 均线长度")

deltaIncreaseOver0 = input(color.green,'MACD 柱在 0 线以上增长')
deltaIncreaseUnder0 = input(color.rgb(153, 230, 156),'MACD 柱在 0 线以下增长')

deltaDecreaseOver0 = input(color.orange,'MACD 柱在 0 线以上下跌')
deltaDecreaseUnder0 = input(color.red,'MACD 柱在 0 线以下下跌')

buySellEnabled = input(true, '是否显示入场与出场信号')

// @variable 做多轮数
var longRound = 0
// @variable 做空轮数
var shortRound = 0

DIF = ta.ema(close, fastLength) - ta.ema(close, slowLength) // 快慢均线差值
EDA = ta.ema(DIF, MACDLength) // DIF 线的 EMA 均线
delta = DIF - EDA // MACD 柱高度

// plot(0, 'Zero', color.black)
plot(DIF,'DIF', color.yellow)
plot(EDA, "EDA", color.purple)

isDeltaIncreasing = delta[1] < delta
isDeltaOver0 = delta > 0
deltaColor = isDeltaIncreasing ? (isDeltaOver0? deltaIncreaseOver0: deltaIncreaseUnder0) :( isDeltaOver0? deltaDecreaseOver0: deltaDecreaseUnder0)
plot(delta, "Delta", deltaColor, style = plot.style_columns)

isDeltaV = delta > delta[1] and delta[2] > delta[1]
isDeltaA = delta < delta[1] and delta[2] < delta[1]

longBuy(round) =>
	entry = str.format("做多买入 {0}",round)
	// log.info(str.format("{0} {1}",entry,close))
	strategy.entry(entry, strategy.long, comment=entry)

longSell(round) =>
	entry = str.format("做多买入 {0}",round)
	exit = str.format("做多卖出 {0}",round)
	// log.info(str.format("{0} {1}",exit,close))
	strategy.close(entry, comment=exit)		

shortSell(round) =>
	entry = str.format("做空卖出 {0}",round)
	// log.info(str.format("{0} {1}",entry,close))
	strategy.entry(entry, strategy.short, comment= entry) 

shortBuy(round) =>
	entry = str.format("做空卖出 {0}",round)
	exit = str.format("做空买入 {0}",round)
	// log.info(str.format("{0} {1}",exit,close))
	strategy.close(entry, comment=exit)		

if (buySellEnabled) 
	if (ta.crossunder(DIF, EDA))
		longSell(longRound)
	if (ta.crossover(DIF, EDA))
		longRound := longRound + 1
		longBuy(longRound)