
Ini adalah strategi perdagangan short-line intraday yang kuat yang menggabungkan dua sistem supertrend. Strategi ini memastikan konfirmasi tren yang kuat sebelum melakukan perdagangan dengan menggabungkan supertrend axis dinamis (yang didasarkan pada tren tinggi dan rendah dan band ATR) dan supertrend klasik (yang didasarkan pada filter pelacakan tren ATR tradisional).
Inti dari strategi ini adalah menggabungkan dua sistem supertrend yang berbeda untuk mendapatkan sinyal perdagangan yang lebih andal:
Sistem supertrend sumbu:
pivotPeriodParameter)pivotCenterHitung harga pusat sumbu saat inipivotATRMultMembangun dukungan dinamis dan resistance bandpivotTrend)Sistem supertrend klasik:
classicATRMultPerkalian menciptakan pita dinamisstTrend)Syarat masuk:
Stop loss dan profit target:
Kode ini mengimplementasikan logika lengkap dari strategi ini, termasuk manajemen pesanan dan indikator visual, sehingga mudah diterapkan dalam transaksi nyata.
Dengan analisis kode yang mendalam, strategi ini menunjukkan keuntungan yang signifikan:
Mekanisme konfirmasi tren ganda: Dengan meminta dua sistem supertrend untuk dikonfirmasi secara bersamaan, hal ini sangat mengurangi false breakout dan kesalahan sinyal. Verifikasi ganda ini memastikan bahwa hanya perubahan tren yang kuat yang akan memicu sinyal perdagangan.
Parameter adaptasi dinamisStop loss dan profit target dalam strategi didasarkan pada perhitungan ATR, sehingga dapat secara otomatis disesuaikan dengan volatilitas pasar yang sebenarnya. Ini berarti bahwa di pasar yang lebih berfluktuasi, titik stop loss akan berkembang sesuai, dan di pasar yang lebih berfluktuasi akan mengencangkan, secara efektif beradaptasi dengan lingkungan pasar yang berbeda.
Identifikasi tren titik pivot: Menggunakan pivot point yang dinamis untuk menentukan tren, bukan level harga tetap, memungkinkan strategi untuk menangkap lebih baik perubahan struktur pasar yang nyata dan titik balik utama.
Visibilitas tinggiStrategi ini berisi indikator visual yang jelas seperti garis supertrend berwarna dan tanda sinyal jual beli, sehingga trader dapat dengan mudah mengidentifikasi peluang perdagangan.
Manajemen risiko yang lengkap: Terintegrasi dengan pengaturan stop loss dan profit target otomatis, menghilangkan kebutuhan untuk manajemen risiko manual, dan menjamin pelaksanaan disiplin perdagangan.
Optimalisasi transaksi singkat: Dirancang khusus untuk perdagangan garis pendek pada grafik 3-5 menit, sangat cocok untuk lingkungan perdagangan frekuensi tinggi dan menangkap fluktuasi dalam sehari.
Pengelolaan dana yang diantisipasiKode ini telah ditetapkan secara default untuk menggunakan 10% dari ekuitas akun untuk melakukan perdagangan, yang membantu menjaga ukuran posisi yang tepat dan pengendalian risiko.
Meskipun strategi ini dirancang dengan baik, ada risiko dan keterbatasan potensial seperti berikut:
Risiko terbalik dengan cepatSolusi: Pertimbangkan untuk menangguhkan perdagangan selama rilis data ekonomi penting atau fluktuasi yang tidak biasa.
Pasar horizontal tidak berjalan dengan baikSolusi: Tambahkan filter pasar horizontal tambahan, seperti ADX (Indeks Ke arah rata-rata) atau volatilitas yang terdegradasi.
Parameter SensitivitasSolusi: Melakukan retrospeksi sejarah yang luas untuk menemukan kombinasi parameter yang optimal untuk pasar dan jangka waktu tertentu.
Ketergantungan likuiditasSebagai strategi garis pendek, Anda mungkin menghadapi slippage dan masalah eksekusi di pasar atau saat likuiditas rendah. Solusi: Batasi waktu perdagangan di saat likuiditas tinggi, atau tambahkan filter likuiditas.
Risiko kerugian berkelanjutanTidak ada strategi yang dapat menjamin 100% kemenangan, dan perdagangan kerugian berturut-turut dapat terjadi. Solusi: menerapkan batas perdagangan maksimum dan batas kerugian maksimum setiap hari untuk mencegah perdagangan berlebihan dan kehilangan dana.
Risiko over-optimisasiStrategi memiliki beberapa parameter yang dapat disesuaikan, yang dapat menyebabkan over-optimasi dan fit-the-curve. Solusi: Menggunakan tes sampingan dan pengujian ke depan untuk memverifikasi parameter yang stabil.
Berdasarkan analisis kode, berikut ini adalah arah optimasi yang mungkin dilakukan untuk strategi ini:
Tambahkan filter lingkungan pasar: Mekanisme identifikasi tipe pasar terintegrasi (seperti ADX atau analisis volatilitas), strategi penyesuaian otomatis untuk menyesuaikan dengan tren atau pasar horizontal. Pengoptimalan seperti itu dapat secara signifikan mengurangi perdagangan yang merugikan dalam lingkungan pasar yang tidak cocok untuk perdagangan garis pendek.
Parameter optimasi beradaptasi: Mekanisme penyesuaian dinamis dari parameter yang diimplementasikan untuk secara otomatis mengoptimalkan perkalian dan siklus ATR berdasarkan kinerja pasar terbaru. Ini akan memungkinkan strategi untuk lebih beradaptasi dengan perubahan kondisi pasar tanpa intervensi manual.
Integrasi analisis lalu lintas: Tambahkan persyaratan konfirmasi volume transaksi ke dalam persyaratan masuk untuk memastikan bahwa pergerakan harga didukung oleh keterlibatan pasar yang cukup. Volume transaksi adalah indikator konfirmasi kunci dari tindakan harga yang dapat meningkatkan kualitas sinyal secara signifikan.
Filter waktu: Mengimplementasikan mekanisme penyaringan berdasarkan waktu perdagangan, hanya perdagangan dalam waktu pasar yang paling aktif dan paling menguntungkan. Komentar kode menyarankan perdagangan pada waktu volume tinggi (misalnya 9:15 AM vs 2:30 PM), yang dapat diprogram langsung.
Peningkatan strategi stop loss: Menjelajahi strategi stop loss yang lebih kompleks, seperti stop loss tracking atau stop loss berdasarkan level support/resistance, yang mungkin memberikan manajemen risiko yang lebih baik daripada ATR sederhana.
Optimalisasi Pembelajaran Mesin: Pertimbangkan untuk menggunakan algoritma pembelajaran mesin untuk mengidentifikasi kondisi pasar yang terbaik untuk strategi, atau pilih parameter optimasi berdasarkan data historis.
Konfirmasi multi-frame waktu: Menambahkan filter tren untuk jangka waktu yang lebih tinggi, memastikan bahwa perdagangan garis pendek mengikuti arah tren yang lebih besar, meningkatkan rasio kemenangan dan pengembalian risiko.
Pengoptimalan ini akan membuat strategi lebih kuat dan lebih baik beradaptasi dengan berbagai lingkungan pasar, sambil mempertahankan keunggulan inti dari identifikasi tren ganda dan manajemen risiko dinamis.
Strategi stop loss dinamis ATR beradaptasi dengan dua supertrend adalah sistem perdagangan garis pendek yang dirancang dengan baik yang memberikan sinyal perdagangan yang sangat andal dengan menggabungkan dua indikator supertrend yang terpisah. Keuntungan utama dari strategi ini adalah mekanisme konfirmasi ganda yang sangat mengurangi sinyal yang salah, sekaligus memberikan manajemen risiko yang efektif dengan stop loss dan profit target dinamis berbasis ATR.
Strategi ini sangat cocok untuk pedagang short-line dalam sehari, yang berkinerja terbaik pada periode perdagangan yang sangat likuid pada grafik 3-5 menit. Namun, pengguna harus memperhatikan potensi keterbatasan di pasar yang berada di posisi terdepan dan mempertimbangkan untuk mengoptimalkan implementasi yang disarankan, seperti filter lingkungan pasar dan konfirmasi volume transaksi, untuk meningkatkan kinerja strategi lebih lanjut.
Dengan penyesuaian parameter yang cermat dan manajemen risiko yang tepat, strategi ini dapat menjadi alat yang berharga dalam gudang senjata pedagang, terutama bagi pedagang aktif yang mencari untuk menangkap fluktuasi pasar dalam waktu singkat. Fungsi visualisasi dan peringatan yang dibangun di dalam kode membuatnya mudah untuk diimplementasikan dan dipantau, dan desain modular strategi juga memberikan dasar yang baik untuk kustomisasi dan perbaikan di masa depan.
/*backtest
start: 2024-06-04 00:00:00
end: 2025-06-03 00:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
//@version=6
strategy("🔥Scalping Fusion Strategy v6", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10, initial_capital=10000)
// === INPUTS ===
pivotPeriod = input.int(2, "Pivot Point Period", minval=1)
pivotATRPeriod = input.int(10, "Pivot ATR Period")
pivotATRMult = input.float(3.0, "Pivot ATR Multiplier", step=0.1)
classicATRPeriod = input.int(10, "Classic SuperTrend ATR Period")
classicATRMult = input.float(3.0, "Classic SuperTrend ATR Multiplier", step=0.1)
useClassicATR = input.bool(true, "Use Classic ATR Calculation")
stSource = input.source(hl2, "Classic SuperTrend Source")
slATRMult = input.float(1.5, "Stoploss ATR Multiplier")
tpATRMult = input.float(3.0, "Target ATR Multiplier")
// === PIVOT SUPER TREND LOGIC ===
ph = ta.pivothigh(high, pivotPeriod, pivotPeriod)
pl = ta.pivotlow(low, pivotPeriod, pivotPeriod)
var float pivotCenter = na
pivotPoint = not na(ph) ? ph : not na(pl) ? pl : na
if not na(pivotPoint)
pivotCenter := na(pivotCenter) ? pivotPoint : (pivotCenter * 2 + pivotPoint) / 3
pivotATR = ta.atr(pivotATRPeriod)
pivotUpper = pivotCenter - pivotATRMult * pivotATR
pivotLower = pivotCenter + pivotATRMult * pivotATR
var float trailPivotUp = na
var float trailPivotDown = na
var int pivotTrend = 0
trailPivotUp := close[1] > nz(trailPivotUp[1], pivotUpper) ? math.max(pivotUpper, nz(trailPivotUp[1], pivotUpper)) : pivotUpper
trailPivotDown := close[1] < nz(trailPivotDown[1], pivotLower) ? math.min(pivotLower, nz(trailPivotDown[1], pivotLower)) : pivotLower
pivotTrend := close > nz(trailPivotDown[1]) ? 1 : close < nz(trailPivotUp[1]) ? -1 : nz(pivotTrend[1], 1)
pivotSuperTrend = pivotTrend == 1 ? trailPivotUp : trailPivotDown
// === CLASSIC SUPER TREND LOGIC ===
atrST = useClassicATR ? ta.atr(classicATRPeriod) : ta.sma(ta.tr(true), classicATRPeriod)
stUpper = stSource - classicATRMult * atrST
stLower = stSource + classicATRMult * atrST
stUpper1 = nz(stUpper[1], stUpper)
stLower1 = nz(stLower[1], stLower)
stUpper := close[1] > stUpper1 ? math.max(stUpper, stUpper1) : stUpper
stLower := close[1] < stLower1 ? math.min(stLower, stLower1) : stLower
var int stTrend = 1
stTrend := close > stLower1 ? 1 : close < stUpper1 ? -1 : stTrend
classicSuperTrend = stTrend == 1 ? stUpper : stLower
// === ENTRY CONDITIONS ===
buySignal = pivotTrend == 1 and stTrend == 1 and pivotTrend[1] == -1
sellSignal = pivotTrend == -1 and stTrend == -1 and pivotTrend[1] == 1
// === ATR-BASED SL/TP ===
atrSLTP = ta.atr(14)
longSL = close - slATRMult * atrSLTP
longTP = close + tpATRMult * atrSLTP
shortSL = close + slATRMult * atrSLTP
shortTP = close - tpATRMult * atrSLTP
// === STRATEGY ORDERS ===
if (buySignal and strategy.position_size <= 0)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", from_entry="Long", stop=longSL, limit=longTP)
if (sellSignal and strategy.position_size >= 0)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", from_entry="Short", stop=shortSL, limit=shortTP)
// === VISUALS ===
plot(pivotSuperTrend, title="Pivot SuperTrend", color=pivotTrend == 1 ? color.lime : color.red, linewidth=2)
plot(classicSuperTrend, title="Classic SuperTrend", color=stTrend == 1 ? color.green : color.maroon, linewidth=2, style=plot.style_linebr)
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", textcolor=color.white, size=size.small)
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", textcolor=color.white, size=size.small)
// === ALERTS ===
alertcondition(buySignal, title="Buy Alert", message="🔥 DILL Strategy Buy Signal")
alertcondition(sellSignal, title="Sell Alert", message="🔥 DILL Strategy Sell Signal")