Strategi ini mengira lilin Heikin-Ashi untuk meluruskan garis harga dan menggabungkan penunjuk MACD untuk menjana isyarat perdagangan, melaksanakan strategi kuantitatif yang mengesan trend jangka sederhana hingga panjang.
Mengira harga bukaan, penutupan, tinggi dan rendah Heikin-Ashi untuk merangka lilin Heikin-Ashi dan trend harga yang lancar.
Tetapkan parameter MACD: panjang cepat 12, panjang perlahan 26, panjang isyarat 9.
Mengira garis perlahan DEA, garis pantas DEA dan histogram MACD.
Pergi panjang apabila histogram MACD melintasi di atas 0; Pergi pendek apabila melintasi di bawah 0.
Tambah penapis tahun, bulan dan hari untuk mengehadkan perdagangan ke julat masa yang ditentukan.
Lilin Heikin-Ashi menyaring bunyi pasaran dengan berkesan untuk mengenal pasti trend.
MACD memberikan isyarat perdagangan trend yang jelas.
Menggabungkan Heikin-Ashi dan MACD meningkatkan kualiti isyarat dan keuntungan.
Penapis masa membantu mengoptimumkan jadual dagangan berdasarkan prestasi sejarah.
Kemungkinan kerugian besar semasa pembalikan trend.
Parameter MACD yang tidak betul boleh menghasilkan isyarat yang terlalu tidak berharga.
Penapis masa yang kaku mungkin terlepas peluang perdagangan yang baik.
Tindakan balas:
Tetapkan stop loss/take profit untuk mengehadkan kerugian.
Mengoptimumkan parameter MACD untuk menentukan kombinasi terbaik.
Tambah penunjuk untuk menentukan trend tempatan.
Uji kombinasi parameter yang berbeza untuk mencari optimum.
Tambahkan mekanisme stop loss seperti trailing stop loss.
Tambah penunjuk seperti EMA, KDJ untuk menentukan titik pembalikan.
Tambah penunjuk jumlah untuk mengelakkan perbezaan.
Strategi ini meratakan tindakan harga dengan lilin Heikin-Ashi dan menentukan arah trend dan isyarat kemasukan dengan penunjuk MACD Tradingview untuk melaksanakan strategi kuant trend. Berbanding dengan strategi MACD biasa, ia menapis beberapa bunyi bising untuk pengenalan trend yang lebih jelas. Penambahbaikan lanjut pada pengoptimuman parameter, stop loss, dan penunjuk combo dapat meningkatkan kestabilan dan keuntungan.
/*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")