Sumber daya yang dimuat... Pemuatan...

Multi-Timeframe Heikin-Ashi Moving Average Trend Mengikuti Sistem Perdagangan

Penulis:ChaoZhang, Tanggal: 2025-01-06 16:20:56
Tag:EMAMACDHASMAMembeliMenjual

img

Gambaran umum

Strategi ini adalah sistem mengikuti tren multi-frame timeframe berdasarkan lilin Heikin-Ashi dan crossover Exponential Moving Average (EMA). Strategi ini menggabungkan sifat pelunturan lilin Heikin-Ashi dengan kemampuan mengikuti tren rata-rata bergerak di berbagai kerangka waktu, menggunakan MACD sebagai filter tambahan untuk menangkap tren pasar dengan akurat. Strategi ini menggunakan desain kerangka waktu hierarkis, menghitung dan memvalidasi sinyal di seluruh kerangka waktu 60 menit, 180 menit, dan 15 menit.

Prinsip Strategi

Logika inti mencakup beberapa komponen utama:

  1. Perhitungan Heikin-Ashi: Meratakan data harga asli melalui perhitungan OHLC khusus untuk mengurangi kebisingan pasar.
  2. Sistem EMA multi-frame: Menghitung Heikin-Ashi EMA pada jangka waktu 180 menit, membentuk sinyal silang dengan EMA lambat pada jangka waktu 60 menit.
  3. Filter MACD: Menghitung indikator MACD pada jangka waktu 15 menit untuk memvalidasi sinyal perdagangan.
  4. Aturan pembuatan sinyal: Menghasilkan sinyal beli ketika EMA Heikin-Ashi cepat melintasi EMA lambat dengan konfirmasi MACD (jika diaktifkan); membalikkan untuk sinyal jual.

Keuntungan Strategi

  1. Penghapusan sinyal yang kuat: Lilin Heikin-Ashi secara efektif mengurangi sinyal palsu.
  2. Validasi multi-frame waktu: Menggunakan kerangka waktu yang berbeda meningkatkan keandalan sinyal.
  3. Efektif mengikuti tren: Sistem silang EMA secara efektif menangkap tren jangka menengah hingga panjang.
  4. Mekanisme penyaringan yang fleksibel: Filter MACD opsional memberikan konfirmasi sinyal tambahan.
  5. Kemampuan adaptasi parameter yang kuat: Beberapa parameter kunci dapat dioptimalkan untuk karakteristik pasar yang berbeda.

Risiko Strategi

  1. Risiko pasar bergolak: Dapat menghasilkan sinyal pecah palsu yang sering terjadi di pasar sampingan.
  2. Risiko keterlambatan: Validasi multi-frame waktu dapat menyebabkan keterlambatan sedikit entri.
  3. Sensitivitas parameter: Kombinasi parameter yang berbeda dapat mengakibatkan variasi kinerja yang signifikan.
  4. Ketergantungan lingkungan pasar: Strategi berkinerja lebih baik di pasar tren yang kuat, mungkin berkinerja buruk dalam kondisi lain.

Arahan Optimasi

  1. Menambahkan penyaringan volatilitas: Memperkenalkan ATR atau Bollinger Bands untuk penilaian volatilitas pasar.
  2. Mengoptimalkan pemilihan jangka waktu: Sesuaikan kombinasi jangka waktu berdasarkan karakteristik instrumen tertentu.
  3. Memperbaiki mekanisme stop-loss: Tambahkan trailing stop atau stop-loss dinamis berbasis volatilitas.
  4. Meningkatkan ukuran posisi: Sesuaikan ukuran posisi secara dinamis berdasarkan kekuatan sinyal dan volatilitas pasar.
  5. Sertakan analisis lingkungan pasar: Tambahkan indikator kekuatan tren untuk membedakan kondisi pasar.

Ringkasan

Strategi ini membangun sistem perdagangan trend lengkap dengan menggunakan sistem Heikin-Ashi dan EMA multi-frame yang dikombinasikan dengan penyaringan MACD. Desainnya secara menyeluruh mempertimbangkan keandalan sinyal dan stabilitas sistem, mampu beradaptasi dengan lingkungan pasar yang berbeda melalui optimasi parameter dan mekanisme pengendalian risiko.


/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Scriptâ„¢ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradingbauhaus

//@version=5
strategy("Heikin Ashi Candle Time Frame @tradingbauhaus", shorttitle="Heikin Ashi Candle Time Frame @tradingbauhaus", overlay=true)

// Inputs
res = input.timeframe(title="Heikin Ashi Candle Time Frame", defval="60")
hshift = input.int(1, title="Heikin Ashi Candle Time Frame Shift")
res1 = input.timeframe(title="Heikin Ashi EMA Time Frame", defval="180")
mhshift = input.int(0, title="Heikin Ashi EMA Time Frame Shift")
fama = input.int(1, title="Heikin Ashi EMA Period")
test = input.int(1, title="Heikin Ashi EMA Shift")
sloma = input.int(30, title="Slow EMA Period")
slomas = input.int(1, title="Slow EMA Shift")
macdf = input.bool(false, title="With MACD filter")
res2 = input.timeframe(title="MACD Time Frame", defval="15")
macds = input.int(1, title="MACD Shift")

// Heikin Ashi calculation
var float ha_open = na
ha_close = (open + high + low + close) / 4
ha_open := na(ha_open[1]) ? (open + close) / 2 : (ha_open[1] + ha_close[1]) / 2
ha_high = math.max(high, math.max(ha_open, ha_close))
ha_low = math.min(low, math.min(ha_open, ha_close))

// Adjusted Heikin Ashi Close for different timeframes
mha_close = request.security(syminfo.tickerid, res1, ha_close[mhshift])

// MACD calculation
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdl = request.security(syminfo.tickerid, res2, macdLine[macds])
macdsl = request.security(syminfo.tickerid, res2, signalLine[macds])

// Moving Averages
fma = ta.ema(mha_close[test], fama)
sma = ta.ema(ha_close[slomas], sloma)
plot(fma, title="Heikin Ashi EMA", color=color.green, linewidth=2)
plot(sma, title="Slow EMA", color=color.red, linewidth=2)

// Strategy Logic
golong = ta.crossover(fma, sma) and (macdl > macdsl or not macdf)
goshort = ta.crossunder(fma, sma) and (macdl < macdsl or not macdf)

// Plot Shapes for Buy/Sell Signals
plotshape(golong, color=color.green, text="Buy", style=shape.triangleup, location=location.belowbar)
plotshape(goshort, color=color.red, text="SELL", style=shape.triangledown, location=location.abovebar)

// Strategy Orders
strategy.entry("Long", strategy.long, when=golong)
strategy.close("Long", when=goshort)
strategy.entry("Short", strategy.short, when=goshort)
strategy.close("Short", when=golong)

// Alerts
alertcondition(golong, "Heikin Ashi BUY", "")
alertcondition(goshort, "Heikin Ashi SELL", "")




Berkaitan

Lebih banyak