Sumber daya yang dimuat... Pemuatan...

Strategi GOLD FORK DEATH FORK

Penulis:ChaoZhang, Tanggal: 2024-04-26 12:08:24
Tag:MACDEMADIFDEA

MACD金叉死叉策略

Pengamatan

Strategi ini menggunakan persilangan garis DIF dan garis DEA dalam indikator MACD untuk menghasilkan sinyal perdagangan. Ketika garis DIF melintasi garis DEA dari bawah ke atas, sinyal melakukan banyak; ketika garis DIF melintasi garis DEA dari atas ke bawah, sinyal melakukan kosong. Hasil retesting strategi ini menunjukkan bahwa pada pasangan perdagangan BTCUSDT, tingkat kemenangan sekitar 40% dan tingkat pengembalian tahunan 1.05, tetapi akan menyebabkan jumlah aset yang dimiliki terus meningkat dan oleh karena itu tidak dapat digunakan sebagai strategi pilihan yang terpisah.

Prinsip Strategi

  1. Perhitungan rata-rata bergerak cepat (EMA) dan rata-rata bergerak lambat (EMA)
  2. Menghitung garis DIF, yaitu perbedaan antara EMA cepat dan EMA lambat.
  3. Menghitung EMA dari DEA line, yaitu EMA dari DIF line
  4. Menghitung grafik MACD, yaitu perbedaan antara garis DIF dan garis DEA.
  5. Ketika garis DIF melintasi garis DEA dari bawah ke atas, sinyal melakukan lebih banyak, membuka lebih banyak.
  6. Ketika garis DIF melintasi garis DEA dari atas ke bawah, sinyal kosong dihasilkan, posisi terbuka kosong.
  7. Ketika sinyal silang sebaliknya muncul lagi, posisi saat ini ditarik, posisi di arah yang berlawanan dibuka.

Keunggulan Strategis

  1. Strategi ini menggunakan indikator MACD yang banyak digunakan dan mudah dipahami dan diimplementasikan.
  2. "Sedikit demi sedikit, kami akan terus melakukan apa yang kami inginkan", katanya.
  3. Untuk pasar tren, Anda dapat melacak tren utama pasar.

Risiko Strategis

  1. Strategi ini memiliki peluang menang yang rendah, hanya 40%, yang berarti 60% dari transaksi mungkin rugi.
  2. Strategi ini akan menyebabkan peningkatan jumlah aset yang dimiliki, yang dapat menimbulkan risiko tambahan.
  3. Dalam pasar yang bergolak, strategi ini dapat menghasilkan sinyal perdagangan yang sering, yang menyebabkan biaya perdagangan yang tinggi.
  4. Strategi ini tidak mempertimbangkan manajemen risiko, seperti stop loss dan manajemen posisi, yang dapat menyebabkan kerugian besar.

Kebijakan Optimasi

  1. Memperkenalkan penyaring tren, seperti rata-rata bergerak jangka panjang, untuk menghindari perdagangan di pasar yang bergolak.
  2. Mengoptimalkan parameter indikator MACD, seperti EMA cepat, EMA lambat, dan siklus garis sinyal, untuk menyesuaikan dengan kondisi pasar yang berbeda.
  3. Menggabungkan langkah-langkah manajemen risiko, seperti stop loss dan manajemen posisi untuk mengendalikan potensi kerugian.
  4. Digabungkan dengan indikator teknis atau analisis fundamental lainnya untuk meningkatkan keandalan sinyal perdagangan.

Pengamatan

Strategi MACD adalah strategi trading yang sederhana dan mudah dipahami yang cocok untuk pasar tren. Namun, strategi ini memiliki peluang menang yang rendah dan tidak memiliki manajemen risiko, sehingga perlu dioptimalkan dan disempurnakan lebih lanjut. Strategi ini dapat ditingkatkan kinerja dan keandalan dengan memperkenalkan filter tren, mengoptimalkan parameter, menambahkan manajemen risiko, dan dalam kombinasi dengan metode analisis lainnya. Namun, strategi ini masih tidak dapat digunakan sebagai strategi trading mandiri dan perlu dikombinasikan dengan strategi lain untuk mendapatkan hasil perdagangan yang lebih baik.


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

		
		

Artikel terkait

Informasi lebih lanjut