Sistem perdagangan rata-rata pergerakan lilin yang dihaluskan beberapa periode waktu

EMA MACD HA SMA BUY SELL
Tanggal Pembuatan: 2025-01-06 16:20:56 Akhirnya memodifikasi: 2025-01-06 16:20:56
menyalin: 3 Jumlah klik: 343
1
fokus pada
1617
Pengikut

Sistem perdagangan rata-rata pergerakan lilin yang dihaluskan beberapa periode waktu

Ringkasan

Strategi ini adalah sistem mengikuti tren multi-periode waktu yang didasarkan pada persilangan kandil yang dihaluskan (Heikin-Ashi) dan rata-rata pergerakan eksponensial (EMA). Dengan menggabungkan karakteristik penghalusan kandil Heikin-Ashi dan kemampuan pelacakan tren rata-rata pergerakan selama periode waktu berbeda, dan menggunakan indikator MACD sebagai filter, penangkapan tren pasar yang akurat dapat tercapai. Strategi ini mengadopsi desain hierarki periode waktu, dan melakukan kalkulasi dan verifikasi sinyal dalam tiga periode waktu: 60 menit, 180 menit, dan 15 menit.

Prinsip Strategi

Logika inti dari strategi ini mencakup bagian-bagian utama berikut:

  1. Perhitungan kandil Heikin-Ashi: Melalui metode khusus perhitungan harga pembukaan, tertinggi, terendah, dan penutupan, ia menghaluskan data harga mentah dan mengurangi kebisingan pasar.
  2. Sistem EMA beberapa periode waktu: Heikin-Ashi EMA dihitung pada periode 180 menit dan membentuk sistem sinyal persilangan dengan EMA yang lebih lambat pada periode 60 menit.
  3. Filter MACD: Menghitung indikator MACD pada periode 15 menit untuk memverifikasi validitas sinyal perdagangan.
  4. Aturan pembangkitan sinyal: Ketika Heikin-Ashi EMA cepat melintasi EMA lambat dan indikator MACD mengonfirmasi (jika diaktifkan), sinyal panjang dihasilkan; jika tidak, sinyal pendek dihasilkan.

Keunggulan Strategis

  1. Kelancaran sinyal yang kuat: Karakteristik penghalusan kandil Heikin-Ashi dapat secara efektif mengurangi sinyal palsu.
  2. Verifikasi beberapa periode waktu: Penggunaan periode waktu yang berbeda secara terkoordinasi meningkatkan keandalan sinyal.
  3. Efek pelacakan tren yang baik: Tren jangka menengah dan panjang dapat ditangkap secara efektif melalui sistem persilangan EMA.
  4. Mekanisme penyaringan yang fleksibel: Filter MACD opsional menyediakan konfirmasi sinyal tambahan.
  5. Penyesuaian parameter yang kuat: Beberapa parameter utama dapat dioptimalkan sesuai dengan karakteristik pasar yang berbeda.

Risiko Strategis

  1. Risiko pasar yang fluktuatif: Sinyal breakout palsu yang sering terjadi dapat terjadi di pasar yang sideways dan fluktuatif.
  2. Risiko keterlambatan: Verifikasi beberapa periode waktu dapat mengakibatkan sedikit keterlambatan dalam waktu entri.
  3. Sensitivitas parameter: Kombinasi parameter yang berbeda dapat menyebabkan perbedaan besar dalam kinerja strategi.
  4. Ketergantungan lingkungan pasar: Strategi berkinerja lebih baik di pasar dengan tren kuat, tetapi mungkin tidak berkinerja baik di lingkungan pasar lainnya.

Arah optimasi strategi

  1. Tambahkan penyaringan volatilitas: Perkenalkan indikator seperti ATR atau Bollinger band untuk menilai volatilitas pasar.
  2. Optimalkan pemilihan periode waktu: Kombinasi periode waktu dapat disesuaikan menurut karakteristik produk perdagangan tertentu.
  3. Tingkatkan mekanisme stop-loss: tambahkan trailing stop-loss atau stop-loss dinamis berdasarkan volatilitas.
  4. Menambahkan manajemen posisi: menyesuaikan ukuran posisi secara dinamis berdasarkan kekuatan sinyal dan volatilitas pasar.
  5. Tambahkan penilaian lingkungan pasar: Tambahkan indikator kekuatan tren untuk membedakan lingkungan pasar yang berbeda.

Meringkaskan

Strategi ini menggunakan sistem Heikin-Ashi dan EMA dari berbagai periode waktu yang dikombinasikan dengan filter MACD untuk membangun sistem perdagangan mengikuti tren yang lengkap. Desain strategi sepenuhnya mempertimbangkan keandalan sinyal dan stabilitas sistem, dan dapat beradaptasi dengan berbagai lingkungan pasar melalui optimalisasi parameter dan peningkatan mekanisme pengendalian risiko. Keuntungan inti dari strategi ini terletak pada kelancaran sinyal dan berbagai mekanisme verifikasi, tetapi pada saat yang sama, perhatian juga harus diberikan pada risiko pasar yang fluktuatif dan masalah pengoptimalan parameter.

Kode Sumber Strategi
/*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", "")