Strategi ini menggunakan teknik Heiken Ashwin dengan penapisan pada isyarat persilangan garisan dan penunjuk MACD, untuk membina strategi pemantauan trend. Strategi ini dapat menangkap trend pasaran dalam tempoh masa yang berbeza, menggunakan persilangan garisan untuk menghasilkan isyarat perdagangan, kemudian menapis isyarat palsu melalui penunjuk MACD, dan menunjukkan kadar keuntungan yang tinggi dalam ujian kembali.
Strategi ini menggunakan tiga indikator teknikal utama:
Teknologi Heiken-Ash. Teknik ini membina garis-garis yang tidak bercahaya dengan mengubah harga penutupan. Ini dapat menunjukkan trend sebenar harga dengan lebih jelas dan menyaring bunyi pasaran yang berlebihan.
EMA digunakan untuk menangkap trend jangka pendek, dan EMA perlahan digunakan untuk menentukan arah trend jangka panjang. Ia menghasilkan isyarat beli apabila EMA perlahan melintasi EMA cepat; ia menghasilkan isyarat jual apabila EMA perlahan melintasi EMA cepat.
Penunjuk MACD. Penunjuk ini menggabungkan EMA cepat dan lambat, memberi isyarat bullish apabila garis utama MACD lebih tinggi daripada garis isyarat, dan memberi isyarat bearish apabila garis utama lebih rendah daripada garis isyarat.
Isyarat perdagangan strategi ini berasal dari EMA cepat dan EMA lambat. Untuk menyaring isyarat palsu, strategi ini memperkenalkan penunjuk MACD untuk penilaian tambahan, dan hanya menghasilkan isyarat perdagangan akhir apabila penunjuk MACD mengeluarkan isyarat arah, yang mengurangkan kemungkinan perdagangan yang salah.
Khususnya, apabila EMA pantas melintasi EMA perlahan ((golden fork) dan garis utama MACD yang lebih tinggi daripada garis isyarat ((bullish signal)) pada masa yang sama, ia menghasilkan isyarat beli; apabila EMA pantas melintasi EMA perlahan ((dead fork) dan garis utama MACD yang lebih rendah daripada garis isyarat ((bullish signal)) pada masa yang sama, ia menghasilkan isyarat jual.
Cara penapisan ini yang menggabungkan penyambungan linear dan penunjuk MACD dapat mengesan titik-titik perubahan pasaran yang penting dan menangkap trend harga.
Strategi ini mempunyai beberapa kelebihan:
Kebarangkalian menangkap isyarat trend meningkat dengan ketara. Menggunakan teknologi Heiken-Ashley dapat menentukan trend dengan lebih jelas, sistem silang dua garis rata menghasilkan isyarat yang sangat kuat, dan kebolehpercayaan yang lebih tinggi selepas penapisan MACD.
Risiko penarikan balik yang lebih rendah. MACD sebagai penunjuk penilaian tambahan dapat mengelakkan risiko stop loss hingga tahap tertentu, dan mengurangkan kerugian kedudukan yang bersih.
Lebih banyak parameter yang boleh disesuaikan. Siklus Heiken-Ashley, siklus cepat dan lambat sistem rata-rata, parameter MACD dan sebagainya boleh disesuaikan mengikut pasaran, menjadikan strategi lebih sesuai dengan keadaan yang berbeza.
Implementasi yang sederhana dan jelas. Harga yang dinyatakan dengan Heiken Ash, ditambah dengan penunjuk yang biasa digunakan untuk menilai, mudah untuk diprogramkan, kod ringkas, mudah difahami.
Penggunaan dana yang lebih cekap. Strategi untuk mengikuti trend, kebanyakan masa dapat membuat dana berjalan mengikut arah arus utama pasaran, menggunakan jumlah dana dengan berkesan untuk menghasilkan keuntungan.
Strategi ini juga mempunyai risiko yang mungkin:
Apabila pasaran mengalami turun naik yang kuat, kerugian yang lebih besar mungkin berlaku. Apabila harga melonjak tinggi atau berbalik dengan cepat dalam jangka masa pendek, langkah-langkah pencegahan boleh ditembusi dan menyebabkan kerugian melebihi jangkaan.
MACD sebagai penunjuk tambahan juga boleh menghasilkan kesalahan penilaian, yang menyebabkan strategi yang salah untuk meletakkan atau meletakkan posisi kosong.
Tetapan parameter terlalu padat. Kombinasi parameter tetap tidak semestinya dapat menyesuaikan diri dengan pasaran yang berubah-ubah, dan mungkin kehilangan peluang perdagangan yang baik.
Frekuensi dagangan mungkin terlalu tinggi. Kaedah untuk membina kedudukan mengikut trend mungkin menyebabkan perdagangan yang kerap, meningkatkan kos perdagangan dan kehilangan titik slip.
Langkah-langkah berikut boleh diambil untuk mengelakkan dan mengurangkan risiko tersebut:
Tetapkan kedudukan hentian, hadkan kerugian tunggal. Jangan terlalu mengejar kejatuhan dan mengawal saiz kedudukan.
Menyesuaikan parameter MACD, mengurangkan kebarangkalian penunjuk tambahan menghantar isyarat yang salah. Ia juga boleh memperkenalkan penunjuk lain untuk disahkan berulang.
Membangunkan mekanisme pengoptimuman parameter. Menggunakan kaedah pembelajaran mesin dan lain-lain untuk mengoptimumkan kombinasi parameter secara automatik, menjadikan strategi lebih sesuai.
Syarat pemicu isyarat dagangan yang dilonggarkan dengan sewajarnya, mengurangkan kekerapan perdagangan. Anda juga boleh menetapkan perubahan harga minimum untuk memicu perdagangan.
Strategi ini juga mempunyai ruang yang besar untuk pengoptimuman, yang boleh bermula dari beberapa aspek:
Pengoptimuman masa Haiken Ash Ash. Anda boleh menguji kitaran yang lebih panjang atau lebih pendek untuk mencari tempoh masa yang lebih baik untuk menunjukkan trend pasaran.
Penyesuaian parameter sistem linear rata-rata. Mengubah parameter kitaran EMA secara perlahan-lahan untuk mencari kombinasi parameter terbaik.
Pengoptimuman pelbagai parameter untuk penunjuk MACD. Menyesuaikan parameter untuk garis purata laju MACD dan garis isyarat untuk mencari parameter yang paling optimum.
Peningkatan modul pengurusan risiko strategik. Menetapkan peraturan berhenti dan berhenti yang lebih saintifik, modul seperti kawalan kedudukan, pengurusan wang juga boleh ditambah.
Tambah lebih banyak petunjuk tambahan. Sebagai contoh, pengenalan petunjuk lain seperti KD, RSI untuk pengesahan pelbagai faktor, meningkatkan kualiti isyarat.
Menggunakan teknologi pembelajaran mesin. Menggunakan kaedah seperti rangkaian saraf, algoritma genetik dan lain-lain untuk mengoptimumkan parameter strategi dalam masa nyata, menjadikan strategi lebih adaptif.
Strategi ini dapat dipertingkatkan lagi, lebih stabil dan lebih berkesan melalui kombinasi berulang petunjuk teknikal, pengoptimuman berterusan parameter, dan penguatan modul kawalan risiko.
Strategi ini menggabungkan Heiken Ash dan sistem persilangan linear untuk menangkap trend pasaran, menyaring dengan penapis MACD, dapat mengenal pasti titik-titik perubahan utama, menghasilkan isyarat perdagangan yang sangat dipercayai. Strategi ini mempunyai prestasi pengukuran yang sangat baik, mempunyai kebarangkalian keuntungan yang tinggi, risiko penarikan balik yang rendah, dan kemampuan penyesuaian yang kuat.
/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//Heikin Ashi Strategy V1 by nachobuey
strategy("Heikin Ashi Strategy V2",shorttitle="HAS V2",overlay=true)
res = input(title="Heikin Ashi Candle Time Frame", defval="15")
hshift = input(0,title="Heikin Ashi Candle Time Frame Shift")
//res1 = input(title="Heikin Ashi EMA Time Frame", type=resolution, defval="180")
res1 = input(title="Time frame (Minutes. Not lower than chart)",defval="300")
mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift")
fama = input(16,"Heikin Ashi EMA Period")
test = input(0,"Heikin Ashi EMA Shift")
sloma = input(21,"Slow EMA Period")
slomas = input(0,"Slow EMA Shift")
macdf = input(false,title="With MACD filter")
res2 = input(title="MACD Time Frame", defval="60")
macds = input(1,title="MACD Shift")
//Heikin Ashi Open/Close Price
ha_t = heikinashi(syminfo.tickerid)
ha_open = request.security(ha_t, res, open[hshift])
ha_close = request.security(ha_t, res, close[hshift])
mha_close = request.security(ha_t, res1, close[mhshift])
//macd
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdl = request.security(ha_t,res2,macdLine[macds])
macdsl= request.security(ha_t,res2,signalLine[macds])
//Moving Average
fma = ema(mha_close[test],fama)
sma = ema(ha_close[slomas],sloma)
plot(fma,title="MA",color=lime,linewidth=2,style=line)
plot(sma,title="SMA",color=red,linewidth=2,style=line)
//Strategy
golong = crossover(fma,sma) and (macdl > macdsl or macdf == false )
goshort = crossunder(fma,sma) and (macdl < macdsl or macdf == false )
strategy.entry("Long",strategy.long,when = golong)
strategy.entry("Short",strategy.short,when = goshort)
plotchar(golong,char="L", color=green)
plotchar(goshort,char="S", color=red)
alertcondition(golong, "HAS GO LONG", "OPEN LONG")
alertcondition(goshort, "HAS GO SHORT", "OPEN SHORT")