Strategi Dagangan MACD DEMA

Penulis:ChaoZhang, Tarikh: 2023-09-19 16:10:19
Tag:

Ringkasan

Strategi ini menggabungkan penunjuk dual-rail MACD dan DEMA untuk menjana isyarat perdagangan dari persimpangan.

Prinsip Strategi

  1. Mengira garis pantas DEMAfast sebagai nilai DEMA harga dengan tempoh panjang fastmacd.

  2. Mengira garis perlahan DEMAslow sebagai nilai harga DEMA dengan tempoh panjang slowmacd.

  3. Garis MACD adalah perbezaan antara garis cepat dan perlahan: DEMAfast - DEMAAslow.

  4. Garis isyarat adalah nilai DEMA garis MACD dengan tempoh isyarat macd.

  5. Persalinan antara garis MACD dan garis isyarat menghasilkan isyarat perdagangan: panjang pada salib emas, pendek pada salib kematian.

  6. Tambah penapis tarikh untuk hanya menjana isyarat dalam julat tarikh yang ditentukan.

Analisis Kelebihan

Kelebihan utama strategi ini ialah:

  1. Menggabungkan MACD dan DEMA melengkapkan penunjuk.

  2. Reka bentuk rel DEMA berganda mengurangkan kelewatan dan bunyi petunjuk MACD.

  3. Isyarat persilangan MACD mudah ditafsirkan, bersih dan mudah.

  4. Penentuan penapis tarikh yang fleksibel memenuhi keperluan strategi yang berbeza.

  5. Parameter MACD boleh dioptimumkan untuk fleksibiliti dalam keadaan pasaran.

Analisis Risiko

Risiko utama strategi ini:

  1. MACD bergelut sebagai trend berikut penunjuk dalam pasaran sisi bergolak.

  2. Crossover boleh menghasilkan isyarat palsu, memerlukan penapisan yang berkesan.

  3. Strategi stop loss tidak kukuh, cenderung untuk berhenti terlalu besar.

  4. Pengoptimuman parameter tidak cukup komprehensif, perbezaan prestasi yang besar di antara produk.

  5. Penapis tarikh terlalu kaku, memerlukan penyesuaian dinamik.

Penyelesaian:

  1. Tambah penunjuk momentum untuk mengelakkan pasaran sampingan.

  2. Tambah syarat harga untuk menapis salib palsu.

  3. Tetapkan stop loss awal dan belakang yang wajar.

  4. Parameter ujian di seluruh produk, optimalisasi dinamik.

  5. Sesuaikan tarikh penapis berdasarkan keadaan masa nyata.

Arahan pengoptimuman

Beberapa potensi peningkatan untuk strategi:

  1. Tambah penapis kelantangan untuk isyarat silang.

  2. Mengoptimumkan kombinasi parameter MACD di seluruh produk yang berbeza.

  3. Tambah strategi hentian seperti hentian kehilangan tetap atau berturut-turut.

  4. Sesuaikan stop loss secara dinamik berdasarkan turun naik pasaran.

  5. Mengesan kekuatan trend untuk ukuran kedudukan.

Ringkasan

Strategi MACD DEMA menggabungkan kekuatan kedua-dua penunjuk, menggunakan persilangan untuk menangkap trend. Tetapi MACD secara semula jadi tertinggal, berhati-hati dengan isyarat palsu. Juga mengoptimumkan berhenti untuk mengelakkan pembubaran yang tidak munasabah. Untuk perdagangan langsung, kemasukan yang berhati-hati berdasarkan parameter yang dioptimumkan dan peningkatan berterusan disyorkan.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(" MACD DEMA STRATEGY ", overlay=true)

source=close
price=source



fastmacd = input(12,title='MACD Fast  Line Length')
slowmacd = input(26,title='MACD Slow Line Length')
signalmacd = input(9,title='Signal Line Length')

macdslowline1 = ema(close,slowmacd)
macdslowline2 = ema(macdslowline1,slowmacd)
DEMAslow = ((2 * macdslowline1) - macdslowline2 )

macdfastline1 = ema(close,fastmacd)
macdfastline2 = ema(macdfastline1,fastmacd)
DEMAfast = ((2 * macdfastline1) - macdfastline2)

MACDLine = (DEMAfast - DEMAslow)

SignalLine1 = ema(MACDLine, signalmacd)
SignalLine2 = ema(SignalLine1, signalmacd)
SignalLine = ((2 * SignalLine1) - SignalLine2 )


MACDSignal = SignalLine-MACDLine


colorbar= MACDSignal>0?green:red




yearfrom = input(2018)
yearuntil =input(2019)
monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)







if ( crossover(MACDLine,SignalLine) ) 
    strategy.entry("MMAL", strategy.long, stop=close, oca_name="TREND",  comment="AL")
    
else
    strategy.cancel(id="MMAL")


if (  crossunder(MACDLine,SignalLine) ) 

    strategy.entry("MMSAT", strategy.short,stop=close, oca_name="TREND",  comment="SAT")
else
    strategy.cancel(id="MMSAT")
    
    
    
    
    
    
    
    
    
    
    
    


Lebih lanjut