Strategi entri berkelanjutan ADX dan Supertrend

ADX supertrend DMI ATR OB BB VOLUME
Tanggal Pembuatan: 2025-07-22 09:19:22 Akhirnya memodifikasi: 2025-07-22 09:19:22
menyalin: 4 Jumlah klik: 364
2
fokus pada
319
Pengikut

Strategi entri berkelanjutan ADX dan Supertrend Strategi entri berkelanjutan ADX dan Supertrend

Ringkasan

Strategi perdagangan masuk berkelanjutan berdasarkan ADX dan Supertrend adalah metode perdagangan kuantitatif yang menggabungkan indikator arah dengan alat pengakuan tren, yang membangun sistem perdagangan yang komprehensif dengan mengintegrasikan indeks arah rata-rata ((ADX), indikator bergerak arah ((DMI) dan indikator Supertrend, dan dengan analisis blok pesanan bertimbang ((Order Block) yang dibantu dengan transaksi. Strategi ini sangat menekankan pada mekanisme verifikasi kondisi berkelanjutan, yaitu memicu sinyal perdagangan setelah beberapa kondisi teknis terpenuhi, yang secara efektif meningkatkan kualitas perdagangan dan mengurangi tingkat kesalahan sinyal.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada beberapa komponen utama:

  1. Analisis indikator ADX dan DMI: Sistem menggunakan indikator ADX untuk mengukur kekuatan tren pasar dan menentukan arah tren dengan membandingkan nilai + DI dan -DI. Ketika nilai ADX lebih tinggi dari set threshold (default 25), menunjukkan adanya tren kuat di pasar; + DI lebih besar dari -DI menunjukkan tren bullish, sebaliknya menunjukkan tren bearish.

  2. Supertrend dikonfirmasi:Indikator Supertrend sebagai alat konfirmasi tren ganda, mendukung pembelian ketika menunjukkan sinyal bullish ((trend == -1)), mendukung penjualan ketika menunjukkan sinyal bearish ((trend == 1). Perubahan Supertrend juga digunakan sebagai pemicu sinyal keluar.

  3. Blok pesanan dengan bobot volumeStrategi memperkenalkan mekanisme untuk mengidentifikasi area dukungan dan resistensi dinamis berdasarkan volume transaksi. Ketika volume transaksi melebihi beberapa kali lipat dari rata-rata (default 2x) dan harga mencapai titik tinggi atau rendah lokal, sistem akan menandai area tersebut sebagai blok pesanan potensial dan tetap berlaku selama periode waktu yang ditetapkan (default 15 siklus).

  4. Validasi kondisi kontinuitasBagian yang paling unik dari strategi ini adalah mekanisme verifikasi kondisi yang berkelanjutan. Sistem ini melacak kondisi perdagangan melalui empat indikator Bull: kondisi tren, kondisi ADX, kondisi DMI, dan kondisi regional.

Kondisi pembelian:

  • ADX lebih tinggi dari batas (default 25)
  • +DI lebih besar dari -DI
  • Supertrend berada di posisi bullish
  • Harga tidak berada dalam zona resistensi volume transaksi

Kondisi Penjualan:

  • ADX lebih tinggi dari batas (default 25)
  • -DI lebih besar dari +DI
  • Supertrend berada dalam kondisi penurunan
  • Harga tidak berada dalam zona dukungan volume transaksi

Keluar dari Logika: Strategi akan melunasi posisi saat ini ketika indikator Supertrend mengubah arah tren.

Keunggulan Strategis

  1. Mekanisme multiple confirmationDengan mengintegrasikan beberapa indikator teknis, strategi ini secara signifikan mengurangi sinyal palsu dan meningkatkan akurasi perdagangan. Kombinasi ADX dan Supertrend, khususnya, memastikan kekuatan tren dan memberikan panduan arah yang jelas.

  2. Validasi kondisi kontinuitasSistem ini dirancang untuk meningkatkan stabilitas strategi dan mengurangi transaksi yang tidak perlu dalam kondisi pasar yang tidak menguntungkan.

  3. Identifikasi dukungan dan resistensi dinamisAnalisis blok pesanan berdasarkan volume transaksi memberikan referensi dukungan dan resistensi yang dinamis untuk strategi, membuat keputusan perdagangan lebih dekat dengan struktur mikro pasar, dan menghindari perdagangan berlawanan di wilayah harga kunci.

  4. Mekanisme Keluar yang JelasStrategi: Menggunakan Supertrend Reversal sebagai sinyal keluar, memberikan metode stop loss dan stop loss yang objektif dan tepat waktu, mengelola risiko setiap perdagangan secara efektif.

  5. Sangat mudah beradaptasiStrategi dapat beradaptasi dengan berbagai lingkungan pasar dan varietas perdagangan, dengan beberapa parameter yang dapat disesuaikan, meningkatkan kepraktisan dan fleksibilitas.

Risiko Strategis

  1. Parameter SensitivitasEfektivitas strategi sangat bergantung pada pengaturan parameter. Pilihan parameter seperti panjang ADX, perkalian Supertrend, dan siklus ATR memiliki pengaruh yang signifikan terhadap kinerja strategi. Pengaturan parameter yang tidak tepat dapat menyebabkan overtrading atau kehilangan peluang penting.

  2. Risiko pembalikan trenMeskipun menggunakan mekanisme multiple confirmation, strategi masih mungkin menghadapi risiko keterlambatan dalam situasi pasar yang berbalik atau berfluktuasi tinggi. Solusinya adalah dengan mempertimbangkan untuk memperkenalkan filter fluktuasi atau secara dinamis menyesuaikan ADX threshold untuk menyesuaikan dengan kondisi pasar yang berbeda.

  3. Risiko abnormalitasStrategi ini lebih bergantung pada analisis volume transaksi, yang dapat menyebabkan kesalahan dalam identifikasi blok pesanan dalam kasus anomali volume transaksi (seperti volume transaksi besar yang tidak biasa yang terjadi secara tiba-tiba). Solusinya adalah dengan menambahkan pemrosesan perataan transaksi atau dengan memperkenalkan mekanisme deteksi anomali tambahan.

  4. Risiko over-optimisasiKarena strategi mengandung banyak parameter yang dapat disesuaikan, mudah menyebabkan optimasi berlebihan, membuat strategi berkinerja baik pada data historis tetapi tidak bekerja dengan baik dalam perdagangan nyata. Solusi adalah menggunakan pengujian ke depan dan pengujian luar sampel untuk memastikan kehandalan strategi.

  5. Risiko likuiditasDalam pasar yang kurang likuiditas, banyaknya transaksi dapat menyebabkan slippage atau penundaan eksekusi order, yang mempengaruhi efektivitas strategi. Solusi adalah menambahkan kondisi penyaringan likuiditas tambahan dalam lingkungan likuiditas rendah, atau menyesuaikan ukuran posisi.

Arah optimasi strategi

  1. Pengaturan parameter dinamisStrategi dapat dioptimalkan lebih lanjut untuk secara otomatis menyesuaikan ADX threshold dan parameter Supertrend sesuai dengan volatilitas pasar. Misalnya, pada periode fluktuasi tinggi, threshold ADX dapat ditingkatkan untuk mengurangi sinyal false breakout. Pada periode fluktuasi rendah, threshold dapat diturunkan untuk meningkatkan sensitivitas.

  2. Integrasi filter waktuFitur: Menggunakan filter waktu untuk menghindari perdagangan pada saat pasar terbuka, tertutup, atau kurang likuiditas. Optimalisasi ini terutama berlaku untuk strategi perdagangan intraday, yang secara signifikan mengurangi perdagangan yang tidak perlu yang disebabkan oleh kebisingan pasar.

  3. Analisis multi-frame waktuDengan mengintegrasikan informasi tren dari kerangka waktu yang lebih tinggi, strategi dapat memastikan bahwa arah perdagangan konsisten dengan tren yang lebih besar. Misalnya, hanya melakukan perdagangan ketika tren garis hari dan arah tren garis jam konsisten, yang dapat meningkatkan peluang menang dan mengurangi risiko perdagangan berlawanan.

  4. Peningkatan manajemen risikoMekanisme keluar dari strategi saat ini relatif sederhana, dan dapat meningkatkan manajemen risiko dengan menambahkan stop loss bergerak, penyaringan persentase kerugian, atau perhitungan stop loss berdasarkan volatilitas. Perbaikan ini dapat lebih melindungi keuntungan dan mengendalikan risiko per perdagangan.

  5. Klasifikasi kondisi pasar: Memperkenalkan mekanisme klasifikasi keadaan pasar, memungkinkan strategi untuk mengidentifikasi berbagai lingkungan pasar, seperti periode pengumpulan, periode tren, dan periode fluktuasi tinggi, dan menyesuaikan logika perdagangan dengan demikian. Optimasi ini dapat menghindari perdagangan dalam kondisi pasar yang tidak sesuai dengan strategi, dan lebih meningkatkan kehandalan strategi.

Meringkaskan

Strategi perdagangan masuk berkelanjutan berbasis ADX dan Supertrend membangun sistem perdagangan yang komprehensif dan solid dengan mengintegrasikan beberapa indikator teknis dan mekanisme verifikasi kondisi berkelanjutan yang unik. Strategi ini secara khusus menekankan pada perdagangan dalam kondisi pasar yang ideal dan menghindari banyak jebakan sinyal palsu yang umum.

Meskipun strategi ini memiliki banyak keuntungan, pengguna harus memperhatikan masalah potensial seperti sensitivitas parameter, risiko reversal tren, dan optimasi berlebihan. Strategi ini memiliki banyak ruang untuk pengoptimalan dengan memperkenalkan penyesuaian parameter dinamis, analisis multi-frame timeframe, dan mekanisme manajemen risiko yang ditingkatkan. Akhirnya, pendekatan ini yang menggabungkan indikator teknis dan analisis struktur mikro pasar mewakili pemikiran perdagangan kuantitatif yang seimbang dan komprehensif yang cocok untuk investor yang mencari sinyal perdagangan berkualitas tinggi daripada perdagangan frekuensi tinggi.

Kode Sumber Strategi
/*backtest
start: 2024-07-22 00:00:00
end: 2025-07-20 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":2000000}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

// © algostudio

//Code Generated using PineGPT  - www.marketcalls.in

//@version=6
strategy("ADX + Supertrend Persistent Entry Logic", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10, process_orders_on_close=true, calc_on_every_tick=true, max_bars_back=500)

// === INPUTS === //
adxLen = input.int(7, "ADX Length")
dilen = input.int(7, "+DI/-DI Length")
adxThresh = input.float(25, "ADX Threshold")
supertrendFactor = input.float(2.0, "Supertrend Multiplier", minval=0.1)
supertrendLen = input.int(7, "Supertrend ATR Length")
volLookback = input.int(10, "Volume Zone Lookback")
volMult = input.float(2.0, "Volume Threshold Multiplier")
zoneDuration = input.int(15, "Zone Display Duration")

// === ADX AND DI CALCULATION === //
[plusDI, minusDI, adx] = ta.dmi(dilen, adxLen)

// === SUPER TREND CALCULATION === //
[supertrend, trend] = ta.supertrend(supertrendFactor, supertrendLen)

bullishSupertrendShift = trend == -1 and trend[1] == 1
bearishSupertrendShift = trend == 1 and trend[1] == -1

// === DYNAMIC ORDER BLOCK ZONES (Volume weighted) === //
volThreshold = ta.sma(volume, volLookback) * volMult
volHighs = high == ta.highest(high, 5) and volume > volThreshold
volLows = low == ta.lowest(low, 5) and volume > volThreshold

obSupportValid = ta.valuewhen(volLows, low, 0)
bbResistanceValid = ta.valuewhen(volHighs, high, 0)
obSupportStart = ta.valuewhen(volLows, bar_index, 0)
bbResistanceStart = ta.valuewhen(volHighs, bar_index, 0)
obSupportEnd = obSupportStart + zoneDuration
bbResistanceEnd = bbResistanceStart + zoneDuration

inObZone = bar_index >= obSupportStart and bar_index <= obSupportEnd
inBbZone = bar_index >= bbResistanceStart and bar_index <= bbResistanceEnd

// === PLOT ZONES === //
plot(inObZone ? obSupportValid : na, title="OB Support Line", color=color.green, linewidth=2)
plot(inBbZone ? bbResistanceValid : na, title="BB Resistance Line", color=color.red, linewidth=2)
plot(supertrend, color=trend == 1 ? color.red : color.green, title="Supertrend")

// === PERSISTENT FLAGS === //
var bool buyTrendMet = false
var bool buyAdxMet = false
var bool buyDiMet = false
var bool buyZoneClear = false

var bool sellTrendMet = false
var bool sellAdxMet = false
var bool sellDiMet = false
var bool sellZoneClear = false

// === READY FLAGS (declare early to resolve use-before-declare issues) === //
buyReady = buyTrendMet and buyAdxMet and buyDiMet and buyZoneClear
sellReady = sellTrendMet and sellAdxMet and sellDiMet and sellZoneClear

// Track condition flags
buyTrendMet := trend == -1 ? true : buyTrendMet
buyAdxMet := adx > adxThresh ? true : (buyReady ? buyAdxMet : false)
buyDiMet := plusDI > minusDI ? true : buyDiMet
buyZoneClear := not inBbZone ? true : buyZoneClear

sellTrendMet := trend == 1 ? true : sellTrendMet
sellAdxMet := adx > adxThresh ? true : (sellReady ? sellAdxMet : false)
sellDiMet := minusDI > plusDI ? true : sellDiMet
sellZoneClear := not inObZone ? true : sellZoneClear

// Recalculate readiness after condition updates
buyReady := buyTrendMet and buyAdxMet and buyDiMet and buyZoneClear
sellReady := sellTrendMet and sellAdxMet and sellDiMet and sellZoneClear

// === STRATEGY ENTRIES === //
if buyReady
    strategy.entry("Buy", strategy.long)
    buyTrendMet := false
    buyAdxMet := false
    buyDiMet := false
    buyZoneClear := false

if sellReady
    strategy.entry("Sell", strategy.short)
    sellTrendMet := false
    sellAdxMet := false
    sellDiMet := false
    sellZoneClear := false

// === STRATEGY EXITS === //
if strategy.position_size > 0 and trend == 1
    strategy.close("Buy")

if strategy.position_size < 0 and trend == -1
    strategy.close("Sell")

// === PLOTS === //
plotshape(buyReady, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellReady, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// For more tutorials on Tradingview Pinescript visit , visit https://www.marketcalls.in/category/tradingview