Strategi Mengikuti Trend MACD


Tarikh penciptaan: 2023-11-15 17:08:15 Akhirnya diubah suai: 2023-11-15 17:08:15
Salin: 0 Bilangan klik: 743
1
fokus pada
1617
Pengikut

Strategi Mengikuti Trend MACD

Gambaran keseluruhan

Strategi ini dinamakan sebagai strategi mengikuti trend MACD, ia adalah strategi kuantitatif yang menggunakan indikator MACD untuk menentukan trend harga dan melakukan perdagangan mengikut trend. Strategi ini bertujuan untuk menangkap trend jangka menengah dan panjang dan menyesuaikan kedudukan tepat pada masanya apabila trend berubah.

Prinsip Strategi

Strategi ini menggunakan indikator MACD untuk menentukan trend harga. Indikator MACD adalah penunjuk penembusan yang terdiri daripada EMA (12 hari) dan EMA (26 hari) yang terdiri daripada garis laju yang membentuk garis pilar MACD, dan EMA 9 hari dari garis pilar membentuk garis isyarat MACD. Apabila MACD melintasi garis isyarat, harga berada dalam trend naik; Apabila MACD melintasi garis isyarat, harga berada dalam trend turun.

Strategi ini mengira garis MACD dan garis isyarat, kemudian mengira perbezaan antara garis MACD dan garis isyarat. Apabila delta melewati 0, ia menghasilkan isyarat beli, dan apabila delta melewati 0, ia menghasilkan isyarat jual, menyesuaikan kedudukan berdasarkan kedua-dua isyarat. Untuk menyaring kebisingan, strategi ini juga memperkenalkan garis rata EMA, yang hanya akan menghasilkan isyarat perdagangan sebenar apabila harga menembusi garis rata-rata.

Secara ringkasnya, logik strategi adalah seperti berikut:

  1. Hitung garis MACD, garis isyarat dan delta perbezaan
  2. Jika anda menilai delta naik atau turun 0, anda akan mengesahkan trend reversal.
  3. Mengira EMA rata-rata, sebagai penapis
  4. Sinyal beli dihasilkan apabila delta melebihi 0 dan harga melebihi EMA
  5. Apabila delta di bawah 0 dan harga di bawah EMA, menghasilkan isyarat jual

Dengan reka bentuk seperti itu, strategi ini dapat berdagang mengikut trend garis tengah dan panjang, menyesuaikan kedudukan tepat pada masanya apabila trend berubah, dan mengelakkan diri daripada disesatkan oleh bunyi pasaran jangka pendek.

Kelebihan Strategik

Strategi ini mempunyai beberapa kelebihan:

  1. Menggunakan MACD untuk menentukan titik perubahan trend, tepat untuk membeli dan menjual
  2. Menggunakan penapis EMA untuk mengelakkan gangguan bunyi pasaran jangka pendek
  3. Berdagang mengikut trend garis tengah dan panjang untuk mengelak daripada terjebak dalam pasaran yang bergolak
  4. Logik urus niaga mudah dan jelas, kod mudah difahami dan diubah suai
  5. Frekuensi dagangan yang boleh disesuaikan dengan parameter strategi kawalan bebas
  6. Tingkat penggunaan dana yang tinggi, dapat mengesan trend jangka panjang

Risiko Strategik

Strategi ini juga mempunyai risiko yang perlu diperhatikan:

  1. MACD sebagai penunjuk trend, mudah memberi isyarat salah dalam keadaan goyah
  2. Penapis EMA mungkin menapis beberapa peluang perdagangan yang berkesan
  3. Tetapan parameter yang tidak betul boleh menyebabkan frekuensi dagangan terlalu tinggi atau terlalu rendah
  4. Tidak dapat bertindak balas terhadap perubahan pasaran jangka pendek, tidak sensitif terhadap kejadian yang tidak dijangka
  5. Terdapat sedikit ketinggalan dan mungkin terlepas masa terbaik untuk perubahan trend

Kaedah pencegahan:

  1. Optimumkan parameter, sesuaikan parameter penapis EMA untuk mengurangkan kesalahan
  2. Meneroka peluang dagangan yang lebih banyak dengan menggunakan petunjuk lain
  3. Tetapkan stop loss untuk mengawal kerugian tunggal
  4. Mengurangkan tempoh pegangan dengan sewajarnya untuk memastikan fleksibiliti strategi

Pengoptimuman Strategi

Strategi ini juga boleh dioptimumkan dalam beberapa aspek:

  1. Menambah penilaian indikator lain, membentuk gabungan indikator, meningkatkan ketepatan
  2. Menambah mekanisme penangguhan kerugian untuk mengawal risiko
  3. Mencegah Penembusan Palsu Bersama Indeks Jumlah Perdagangan
  4. Menyesuaikan parameter untuk menyesuaikan diri dengan keadaan pasaran, meningkatkan kebolehan adaptasi strategi
  5. Mengoptimumkan logik khusus pembelian dan penjualan, meningkatkan masa masuk dan keluar
  6. Pembangunan beransur-ansur, trend yang lebih baik, risiko yang lebih rendah

Dengan mengoptimumkan kombinasi penunjuk, penangguhan kerugian, parameter penyesuaian, dan lain-lain, anda boleh meningkatkan keberkesanan strategi ini dengan ketara.

ringkaskan

Secara keseluruhannya, strategi mengikuti trend MACD ini menilai trend garis panjang dengan indikator MACD yang mudah dan berkesan, dan merancang logik perdagangan yang mengikuti trend yang lebih jelas. Ia mempunyai keupayaan untuk menangkap trend, serta langkah-langkah kawalan risiko tertentu. Dengan pengoptimuman dan penambahbaikan lanjut, strategi ini boleh menjadi sistem perdagangan kuantitatif yang sangat praktikal. Ia sesuai untuk pelabur yang mengejar keuntungan stabil dalam jangka panjang dan bukan keuntungan jangka pendek.

Kod sumber strategi
/*backtest
start: 2022-11-14 00:00:00
end: 2023-10-27 05:20:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's MACD Strategy v1.0", shorttitle = "MACD str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
usefil = input(false, defval = false, title = "Use EMA filter")
lenfil = input(5, defval = 5, minval = 1, maxval = 50, title = "EMA filter period")

fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

//Signals
ema = ema(close, lenfil)
trend = crossover(delta, 0) == true ? 1 : crossunder(delta, 0) == true ? -1 : trend[1]
up = trend == 1 and (low < ema or usefil == false) ? 1 : 0
dn = trend == -1 and (high > ema or usefil == false) ? 1 : 0

plot(ema, color = black, transp = 0)

if (up == 1)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if (dn == 1)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)