
Multi-frame MACD Impulse Volatility Filter Trading Strategy adalah sistem perdagangan garis pendek yang tepat yang dirancang untuk pedagang jangka pendek yang bertujuan untuk menangkap titik masuk yang cepat dan efektif dalam pergerakan tren. Strategi ini dengan cerdik menggabungkan indikator dispersi konvergensi rata-rata pergerakan multi-frame MACD, filter impak grafik lurus, filter volatilitas berdasarkan amplitudo pergerakan nyata (ATR), dan pengakuan tren 200-siklus indeks bergerak rata-rata (EMA200) yang dapat dipilih untuk mengidentifikasi pengaturan perdagangan probabilitas tinggi.
Prinsip-prinsip inti dari strategi ini didasarkan pada sinergi dari beberapa indikator teknis yang membentuk kerangka keputusan perdagangan yang komprehensif:
Analisis MACD multi-frame waktuStrategi: Menggunakan indikator MACD untuk menghitung pada jangka waktu yang dipilih pengguna (default 60 menit), bukan hanya bergantung pada jangka waktu grafik saat ini. Pendekatan multi-frame ini dapat memberikan perspektif pasar yang lebih luas dan membantu menangkap sinyal tren yang lebih andal.
Garis lurus filter doronganSelain MACD tradisional yang bersinggungan dengan jalur sinyal, strategi ini juga meminta MACD linear untuk menunjukkan cukup “impul” atau energi gerak, melaluihistImpulseUpDanhistImpulseDownImplementasi Variabel: sinyal masuk hanya akan dianggap valid jika perubahan grafik lurus melebihi setinggi batas ((default 0.015).
Kondisi volatilitas dikonfirmasiStrategi: Menggunakan indikator ATR untuk memastikan volatilitas pasar yang cukup besar, hanya mempertimbangkan perdagangan ketika nilai ATR 14 siklus melebihi nilai terendah minimum (default 0.10). Ini menghindari perdagangan dalam lingkungan pasar yang terlalu kecil, yang dapat menyebabkan sinyal tidak dapat diandalkan.
Filter arah tren: Filter EMA200 yang dapat dipilih digunakan untuk memastikan bahwa arah perdagangan konsisten dengan tren keseluruhan, hanya diizinkan untuk melakukan over jika harga berada di atas EMA200, dan diizinkan untuk melakukan over jika berada di bawahnya.
Syarat masuk ditentukan sebagai berikut:
Strategi keluar juga dirancang dengan baik:
Setelah menganalisis kode secara mendalam, strategi ini menunjukkan keuntungan yang signifikan:
Filter masuk yang tepatDengan menggabungkan beberapa kondisi penyaringan (MACD crossover, dash impulse, volatilitas, dan konfirmasi tren), strategi ini secara signifikan mengurangi kesalahan sinyal dan hanya melakukan perdagangan dalam pengaturan probabilitas tinggi.
Aplikasi kerangka waktu yang fleksibelAnalisis MACD multi-frame memungkinkan pedagang untuk melakukan perdagangan pada grafik berperiode pendek, sementara memanfaatkan sinyal MACD berperiode lebih lama, dengan kombinasi keuntungan dari masuk yang tepat dalam jangka pendek dan konfirmasi tren jangka panjang.
AdaptifParameter strategi dapat disesuaikan secara optimal sesuai dengan kondisi pasar yang berbeda dan varietas perdagangan, termasuk parameter MACD, grafik lurus dengan nilai terendah, ATR minimum, dan persentase stop loss.
Peningkatan manajemen risikoStrategi ini memungkinkan pertumbuhan keuntungan sambil melindungi dana dengan mengatur stop loss dengan persentase tetap, dan mekanisme pembiayaan MACD reverse signal.
Umpan balik visual yang jelasStrategi: Menggambar komponen MACD, EMA200 dan indikator ATR pada grafik, sehingga pedagang dapat secara intuitif memahami dan memverifikasi sinyal perdagangan.
Efisiensi pelaksanaanStrategi: Struktur kode yang jelas dan efisien, menggunakan fungsi yang terbungkus dalam perhitungan MACD, dan menggunakan request.security untuk analisis multi-frame waktu, untuk memastikan akurasi perhitungan dan efisiensi eksekusi.
Meskipun strategi ini dirancang dengan baik, masih ada beberapa risiko potensial:
Risiko Penembusan PalsuDalam pasar yang sangat bergejolak, MACD dapat menghasilkan sinyal false breakout, yang menyebabkan perdagangan masuk terlalu dini dan kemudian terbalik dengan cepat. Solusi: Anda dapat menambahkan periode konfirmasi, meminta sinyal untuk berlangsung selama beberapa siklus, atau menambahkan indikator konfirmasi lainnya.
Parameter SensitivitasStrategi ini sangat tergantung pada pengaturan parameter, dan mungkin memerlukan kombinasi parameter yang berbeda untuk pasar dan periode waktu yang berbeda. Solusi: Uji ulang dan optimalisasi parameter secara teratur, atau pertimbangkan untuk menerapkan sistem parameter adaptif.
Risiko perubahan trenPada periode pergeseran tren, strategi dapat menyebabkan kerugian berturut-turut karena seringnya penyeberangan MACD. Solusi: Menghentikan perdagangan di pasar dengan interval yang jelas, atau meningkatkan filter intensitas tren.
Tidak terlalu besar.Pengaturan stop loss default 0,4% mungkin terlalu kecil di beberapa varietas berfluktuasi tinggi, sehingga mudah disentuh. Solusi: Sesuaikan persentase stop loss berdasarkan rata-rata amplitudo riil dari varietas yang diperdagangkan, atau atur stop loss menggunakan kelipatan ATR dan bukan persentase tetap.
Kurangnya pertimbangan struktur pasarStrategi hanya mengandalkan sinyal indikator, tanpa mempertimbangkan resistensi pendukung utama atau struktur pasar. Solusi: Integrasi analisis perilaku harga atau algoritma identifikasi tingkat kunci.
Berdasarkan analisis kode, berikut ini adalah arah optimasi yang mungkin dilakukan untuk strategi ini:
Sistem Parameter Adaptif: Mekanisme untuk menyesuaikan parameter MACD dan penyaringan overbought secara otomatis berdasarkan volatilitas pasar atau intensitas tren. Ini akan memungkinkan strategi untuk lebih beradaptasi dengan kondisi pasar yang berbeda tanpa intervensi manual.
Integrasi analisis lalu lintas: Untuk menambahkan kondisi penyaringan volume transaksi dalam konfirmasi sinyal, transaksi dilakukan hanya ketika volume transaksi mendukung pergerakan harga. Hal ini dapat dilakukan dengan memeriksa posisi volume transaksi relatif terhadap rata-rata bergerak atau indikator dampak volume transaksi.
Peningkatan strategi keluarIntroduksi manajemen posisi sebagian, seperti memindahkan stop loss ke harga biaya atau posisi terdegradasi setelah keuntungan tertentu tercapai, untuk menyeimbangkan risiko dan keuntungan dengan lebih baik.
Tambahkan filter waktuTambahkan filter waktu transaksi untuk menghindari periode likuiditas rendah atau volatilitas tinggi, seperti saat data ekonomi penting dirilis atau saat pasar dibuka / ditutup.
Klasifikasi Negara Pasar Terpadu: mengembangkan sistem klasifikasi kondisi pasar ((trend, interval, volatilitas tinggi, dll) dan menerapkan parameter perdagangan yang berbeda atau bahkan varian strategi yang sama sekali berbeda sesuai dengan kondisi pasar yang berbeda.
Optimalisasi Pembelajaran Mesin: Menggunakan algoritma pembelajaran mesin untuk secara dinamis memprediksi kombinasi parameter atau keandalan sinyal yang optimal, meningkatkan kemampuan adaptasi dan akurasi strategi.
Multi-Framework MACD Impulse Rate Fluctuation Filtering Trading Strategy adalah sistem perdagangan short-line yang dirancang dengan baik yang menyediakan titik masuk yang berkualitas tinggi bagi pedagang melalui beberapa lapisan penyaringan sinyal dan manajemen risiko yang ketat. Strategi ini sangat cocok untuk pedagang yang ingin menangkap peluang pasar jangka pendek sambil tetap disiplin.
Keunggulan inti dari strategi ini adalah mekanisme penyaringan multi-dimensi dan aturan eksekusi yang jelas, yang membuat keputusan perdagangan menjadi obyektif dan mengurangi gangguan emosional. Selain itu, melalui analisis multi-frame waktu, strategi ini dapat melakukan perdagangan pada grafik periode pendek sambil tetap sensitif terhadap tren jangka panjang.
Namun, trader harus menyadari keterbatasan strategi ini ketika menggunakannya, terutama sensitivitas parameter dan ketergantungan pada keadaan pasar. Kinerja strategi dapat ditingkatkan lebih lanjut melalui optimasi berkelanjutan dan kemungkinan perluasan (seperti analisis volume perdagangan yang terintegrasi, pertimbangan struktur pasar, atau parameter adaptasi).
Secara keseluruhan, ini adalah kerangka strategi yang memiliki dasar teoritis yang kuat dan cara pelaksanaannya yang jelas, yang cocok untuk digunakan oleh pedagang garis pendek yang berpengalaman dalam lingkungan pasar yang sesuai, terutama di pasar yang cukup berfluktuasi. Yang terpenting, strategi ini memberikan pedagang titik awal yang andal, yang dapat disesuaikan dan dikembangkan lebih lanjut sesuai dengan gaya perdagangan pribadi dan preferensi pasar.
/*backtest
start: 2024-08-03 00:00:00
end: 2025-08-02 08:00:00
period: 4d
basePeriod: 4d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Invencible MACD Strategy Scalping 5M", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)
// === Configuración General ===
source = close
useCurrentRes = input(true, title="¿Usar resolución actual del gráfico?")
resCustom = input.timeframe("60", title="Otra resolución")
res = useCurrentRes ? timeframe.period : resCustom
// === Parámetros MACD ===
fastLength = input.int(12, minval=1, title="MACD Fast EMA")
slowLength = input.int(26, minval=1, title="MACD Slow EMA")
signalLength = input.int(9, minval=1, title="MACD Signal")
// === Filtros ===
histThreshold = input.float(0.015, title="Histograma mínimo impulso")
minATR = input.float(0.10, title="ATR mínimo para operar")
useTrendFilter = input.bool(true, title="¿Usar filtro de tendencia con EMA 200?")
// === Gestión de riesgo (sin trailing) ===
takeProfitPerc = input.float(1.0, title="Take Profit (%)") / 100
stopLossPerc = input.float(0.4, title="Stop Loss (%)") / 100
// === Función MACD ===
macdFunc(_src, _fast, _slow, _signal) =>
fastMA = ta.ema(_src, _fast)
slowMA = ta.ema(_src, _slow)
_macd = fastMA - slowMA
_signalLine = ta.sma(_macd, _signal)
_hist = _macd - _signalLine
[_macd, _signalLine, _hist]
// === MACD MTF ===
[macd, signal, hist] = request.security(syminfo.tickerid, res, macdFunc(source, fastLength, slowLength, signalLength))
// === Condiciones de entrada ===
macdCrossUp = ta.crossover(macd, signal)
macdCrossDown = ta.crossunder(macd, signal)
histUp = hist > hist[1]
histDown = hist < hist[1]
histImpulseUp = (hist - hist[1]) > histThreshold
histImpulseDown = (hist[1] - hist) > histThreshold
// === Filtro de tendencia y volatilidad ===
ema200 = ta.ema(close, 200)
trendUp = useTrendFilter ? close > ema200 : true
trendDown = useTrendFilter ? close < ema200 : true
atr = ta.atr(14)
volatilityOK = atr > minATR
// === Condiciones finales ===
longCondition = macdCrossUp and histUp and histImpulseUp and trendUp and volatilityOK
shortCondition = macdCrossDown and histDown and histImpulseDown and trendDown and volatilityOK
// === Salidas por reversión MACD ===
exitLongNow = ta.crossunder(macd, signal)
exitShortNow = ta.crossover(macd, signal)
if strategy.position_size > 0 and exitLongNow
strategy.close("Long", comment="MACD Reverse Exit Long")
alert("MACD Reverse Exit Long", alert.freq_once_per_bar_close)
if strategy.position_size < 0 and exitShortNow
strategy.close("Short", comment="MACD Reverse Exit Short")
alert("MACD Reverse Exit Short", alert.freq_once_per_bar_close)
// === Entradas y salidas principales ===
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("TP/SL Long", from_entry="Long",
limit=close * (1 + takeProfitPerc),
stop=close * (1 - stopLossPerc))
alert("MACD Long Entry", alert.freq_once_per_bar_close)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("TP/SL Short", from_entry="Short",
limit=close * (1 - takeProfitPerc),
stop=close * (1 + stopLossPerc))
alert("MACD Short Entry", alert.freq_once_per_bar_close)
// === Visuales ===
plot(macd, title="MACD", color=color.lime)
plot(signal, title="Signal", color=color.orange)
plot(hist, title="Histograma", color=hist >= 0 ? color.teal : color.red, style=plot.style_histogram)
plot(ema200, title="EMA 200", color=color.gray)
plot(atr, title="ATR", color=color.fuchsia, display=display.none)