
Strategi ini menggunakan teknik Heiken Ashwin yang dibantu dengan sinyal silang rata dan indikator MACD untuk memfilter, untuk membangun strategi pelacakan tren. Strategi ini dapat menangkap tren pasar dalam periode waktu yang berbeda, menggunakan silang rata untuk menghasilkan sinyal perdagangan, lalu memfilter Sinyal Palsu melalui indikator MACD, dan menunjukkan tingkat keuntungan yang lebih tinggi dalam pengujian kembali.
Strategi ini menggunakan tiga indikator teknis utama:
Teknologi Heiken-Ashley. Teknologi ini menggunakan modifikasi harga penutupan untuk membuat garis-garis yang tidak berbayar. Ini dapat menunjukkan tren harga yang sebenarnya dengan lebih jelas dan menyaring kebisingan pasar yang berlebihan.
EMA digunakan untuk menangkap tren jangka pendek, EMA lambat digunakan untuk menentukan arah tren jangka panjang. Ketika EMA cepat melewati EMA lambat menghasilkan sinyal beli; Ketika EMA cepat melewati EMA lambat menghasilkan sinyal jual.
Indikator MACD. Indikator ini digabungkan dengan EMA cepat dan lambat. Indikator ini memberikan sinyal bullish ketika MACD mainline lebih tinggi dari Signal line dan bearish ketika MACD mainline lebih rendah dari Signal line.
Sinyal perdagangan strategi ini berasal dari EMA cepat dan EMA lambat. Untuk memfilter sinyal palsu, strategi ini memperkenalkan indikator MACD untuk penilaian tambahan, dan hanya menghasilkan sinyal perdagangan akhir ketika indikator MACD mengeluarkan sinyal isotopik, yang sangat mengurangi probabilitas perdagangan yang salah.
Secara khusus, ketika EMA cepat melewati EMA lambat ((golden forks) dan MACD mainline di atas Signal line ((bullish signals) secara bersamaan, menghasilkan sinyal beli; ketika EMA cepat melewati EMA lambat ((dead forks) dan MACD mainline di bawah Signal line ((bullish signals) secara bersamaan, menghasilkan sinyal jual.
Filtrasi ini, yang menggabungkan crossover linear dan indikator MACD, dapat secara efektif mengidentifikasi titik-titik pivotal di pasar dan menangkap tren harga.
Strategi ini memiliki beberapa keunggulan utama:
Probabilitas menangkap sinyal tren meningkat secara signifikan. Menggunakan teknologi Heiken-Ashley dapat lebih jelas menilai tren, dua garis sejajar sistem silang menghasilkan sinyal yang sangat kuat, dengan reliabilitas yang lebih tinggi setelah penyaringan MACD.
Risiko penarikan rendah. MACD sebagai indikator penilaian tambahan dapat menghindari risiko stop loss sampai batas tertentu dan secara efektif mengurangi kerugian posisi yang bersih.
Lebih banyak parameter yang dapat disesuaikan. Siklus Heiken Ash, siklus cepat dan lambat sistem rata-rata, parameter MACD, dan lain-lain dapat disesuaikan dengan pasar, sehingga strategi lebih dapat beradaptasi dengan situasi yang berbeda.
Implementasi relatif sederhana dan jelas. Harga dinyatakan dengan Heiken Ash, didukung dengan indikator yang umum digunakan untuk menilai, mudah diprogram, kode ringkas, mudah dipahami.
Efisiensi penggunaan dana yang lebih tinggi. Strategi untuk mengikuti tren, sebagian besar waktu, dapat membuat dana berjalan sesuai dengan arah pasar utama, memanfaatkan jumlah dana secara efektif untuk menghasilkan keuntungan.
Strategi ini juga memiliki beberapa kemungkinan risiko:
Ketika pasar mengalami fluktuasi besar, kerugian yang lebih besar dapat terjadi. Ketika harga melonjak secara signifikan atau berbalik dengan cepat dalam waktu singkat, langkah-langkah stop loss dapat ditembus dan menyebabkan kerugian yang lebih besar dari yang diharapkan.
MACD sebagai indikator tambahan juga dapat menghasilkan kesalahan penilaian, sehingga menyebabkan kesalahan strategi dalam posisi atau posisi kosong.
Pengaturan parameter terlalu kaku. Kombinasi parameter tetap tidak selalu dapat beradaptasi dengan pasar yang berubah-ubah, dan mungkin kehilangan peluang perdagangan yang baik.
Frekuensi perdagangan mungkin terlalu tinggi. Metode untuk membangun posisi mengikuti tren dapat menyebabkan perdagangan yang lebih sering, meningkatkan biaya perdagangan dan kehilangan slip.
Untuk menghindari dan mengurangi risiko di atas, langkah-langkah berikut dapat diambil:
Tetapkan stop loss, membatasi kerugian tunggal. Jangan terlalu mengejar penurunan, dan kendalikan ukuran posisi.
Menyesuaikan parameter MACD untuk mengurangi kemungkinan indikator tambahan mengirimkan sinyal yang salah. Indikator lain juga dapat diperkenalkan untuk verifikasi ganda.
Membangun mekanisme optimasi parameter. Menggunakan metode seperti pembelajaran mesin untuk mengoptimalkan kombinasi parameter secara otomatis, membuat strategi lebih adaptif.
Kondisi pemicu sinyal perdagangan yang lebih longgar, mengurangi frekuensi perdagangan. Anda juga dapat mengatur perubahan harga minimal untuk memicu perdagangan.
Strategi ini juga memiliki ruang untuk pengoptimalan yang besar, mulai dari:
Optimalisasi periode Haykanush . Anda dapat menguji periode yang lebih panjang atau lebih pendek untuk menemukan periode yang lebih mencerminkan tren pasar.
Penyesuaian parameter sistem garis rata. Memodifikasi parameter siklus EMA untuk menemukan kombinasi parameter yang optimal.
Optimalisasi multiparameter dari indikator MACD. Mengatur parameter dari garis rata-rata MACD dan garis sinyal untuk mencari parameter optimal.
Peningkatan modul manajemen risiko strategis. Mengatur aturan stop loss dan stop loss yang lebih ilmiah, juga dapat menambahkan modul seperti kontrol posisi, manajemen dana.
Menambahkan lebih banyak indikator tambahan, seperti pengenalan indikator lain seperti KD, RSI untuk verifikasi multi faktor, meningkatkan kualitas sinyal.
Aplikasi teknologi pembelajaran mesin. Menggunakan metode seperti jaringan saraf, algoritma genetik dan lain-lain untuk mengoptimalkan parameter strategi secara real-time, membuat strategi lebih adaptif.
Strategi ini dapat ditingkatkan lebih lanjut, lebih stabil, dan lebih efisien dengan kombinasi indikator teknis, pengoptimalan parameter yang berkelanjutan, dan penguatan modul kontrol risiko.
Strategi ini menggabungkan Heiken-Ashley dan sistem persimpangan rata untuk menangkap tren pasar, dengan indikator MACD sebagai penyaringan tambahan, dapat secara efektif mengidentifikasi titik balik utama, menghasilkan sinyal perdagangan yang sangat andal. Strategi ini memiliki kinerja yang sangat baik, memiliki probabilitas keuntungan yang tinggi, risiko penarikan yang rendah, dan kemampuan menyesuaikan 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")