Strategi kuantitatif MACD kecerunan


Tarikh penciptaan: 2023-12-19 16:14:50 Akhirnya diubah suai: 2023-12-19 16:14:50
Salin: 0 Bilangan klik: 399
1
fokus pada
1166
Pengikut

Strategi kuantitatif MACD kecerunan

Gambaran keseluruhan

Strategi ini menghasilkan isyarat dagangan dengan mengira garisan Heikin-Ashi, harga garisan K, dan MACD, untuk mencapai strategi dagangan kuantitatif yang menjejaki trend garisan panjang dan tengah.

Prinsip Strategi

  1. Hitung harga pembukaan dan penutupan Heikin-Ashi, harga tertinggi dan harga terendah, melukis garisan Heikin-Ashi, meluruskan pergerakan harga K.

  2. Tetapkan parameter MACD: Panjang garisan pantas 12, panjang garisan perlahan 26, panjang garisan isyarat 9.

  3. Hitung garis perlahan DEA, garis cepat DEA dan perbezaan MACD. Gambarkan grafik MACD.

  4. Apabila MACD di atas 0, buat lebih banyak; apabila MACD di bawah 0, buat kosong.

  5. Tetapkan penapis tahun, bulan, dan hari untuk berdagang hanya dalam tempoh masa yang ditetapkan.

Analisis kelebihan

  1. Heikin-Ashi Filter adalah kaedah yang berkesan untuk menyaring bunyi pasaran dan mengenal pasti trend.

  2. MACD boleh menyediakan titik jual beli trend yang lebih jelas.

  3. Gabungan Heikin-Ashi dan MACD dapat meningkatkan kualiti tempat membeli dan menjual dan meningkatkan keuntungan perdagangan.

  4. Tetapkan syarat penapisan masa untuk menentukan masa perdagangan terbaik berdasarkan data sejarah dan meningkatkan kadar keuntungan.

Analisis risiko

  1. Jika trend berbalik, ia boleh menyebabkan kerugian besar.

  2. Parameter MACD yang tidak betul boleh menghasilkan terlalu banyak isyarat tidak sah.

  3. Syarat penapisan masa terlalu ketat dan mungkin menyebabkan peluang perdagangan yang lebih baik terlepas.

Kaedah pencegahan:

  1. Tetapkan Stop Loss Stop Stop untuk mengawal kerugian tunggal.

  2. Mengoptimumkan parameter MACD untuk menentukan kombinasi parameter terbaik.

  3. Kaedah ini boleh dikombinasikan dengan petunjuk lain untuk menilai trend tempatan.

Arah pengoptimuman

  1. Uji kombinasi parameter yang berbeza untuk mencari parameter yang optimum.

  2. Menambah mekanisme hentikan kerugian, seperti meninggalkan hentikan kerugian / menjejaki hentikan kerugian.

  3. Ini adalah satu titik balik dalam pengkajian EMA, KDJ dan sebagainya.

  4. Tambahkan penunjuk tenaga, elakkan perbezaan tenaga.

ringkaskan

Strategi ini mencapai strategi kuantitatif yang berdasarkan trend-tracking dengan mengira harga rataan Heikin-Ashi, dengan menggunakan MACD Tradingview untuk menentukan arah trend dan titik masuk. Berbanding dengan strategi MACD biasa, ia melonggarkan kurva harga, menapis sebahagian bunyi, dan dapat menentukan arah trend dengan lebih jelas. Dengan pengoptimuman parameter, mekanisme stop-loss, dan kombinasi indikator lain, anda dapat meningkatkan lagi kestabilan dan keuntungan strategi.

Kod sumber strategi
/*backtest
start: 2023-11-18 00:00:00
end: 2023-12-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MACD ASHI BARS .v1 ", overlay=false,default_qty_type = strategy.percent_of_equity, default_qty_value = 100,commission_type=strategy.commission.percent,commission_value=0.1,slippage=1)

// Calculation HA Values 
haopen  = 0.0
haclose = (open + high + low + close) / 4
haopen := na(haopen[1]) ? (open + close) / 2 : (haopen[1] + haclose[1]) / 2
hahigh  = max(high, max(haopen, haclose))
halow   = min(low,  min(haopen, haclose))

// HA colors
hacolor = haclose > haopen ? color.green : color.red
src=haclose



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

macdslowline1 = sma(src,slowmacd)
macdslowline2 = sma(macdslowline1,slowmacd)
DEMAslow = ((2 * macdslowline1) - macdslowline2 )

macdfastline1 = sma(src,fastmacd)
macdfastline2 = sma(macdfastline1,fastmacd)
DEMAfast = ((2 * macdfastline1) - macdfastline2)

MACDLine = (DEMAfast - DEMAslow)

SignalLine = sma(MACDLine, signalmacd)

delta = MACDLine-SignalLine




swap1 = delta>0?color.green:color.red



plot(delta,color=swap1,style=plot.style_columns,title='Histo',histbase=0,transp=20)
p1 = plot(MACDLine,color=color.blue,title='MACD Line')
p2 = plot(SignalLine,color=color.red,title='Signal')
fill(p1, p2, color=color.blue)
hline(0)



yearfrom = input(2020)
yearuntil =input(2042)
monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)







if ( crossover(delta,0)  and   year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) 
    strategy.entry("MMAL", strategy.long, stop=close, oca_name="TREND",  comment="AL")
    
else
    strategy.cancel(id="MMAL")


if (  crossunder(delta,0) and  year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) 

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