
Strategi perdagangan masuk berterusan berdasarkan ADX dan Supertrend adalah kaedah perdagangan kuantitatif yang menggabungkan petunjuk arah dengan alat pengesahan trend, yang membina sistem perdagangan yang komprehensif dengan menggabungkan indeks arah rata-rata ((ADX), petunjuk bergerak arah ((DMI) dan petunjuk Supertrend, dan analisis blok pesanan yang diberi berat pemindahan ((Order Block)). Strategi ini memberi penekanan khusus kepada mekanisme pengesahan keadaan berterusan, iaitu memicu isyarat perdagangan hanya setelah memenuhi beberapa syarat teknikal.
Logik utama strategi ini adalah berdasarkan beberapa komponen utama:
Analisis ADX dan DMISistem menggunakan indikator ADX untuk mengukur kekuatan trend pasaran dan menentukan arah trend dengan membandingkan nilai +DI dan -DI. Apabila nilai ADX lebih tinggi daripada nilai tetes yang ditetapkan (default 25), ia menunjukkan bahawa pasaran mempunyai trend yang kuat; +DI lebih besar daripada -DI menunjukkan trend kenaikan harga, sebaliknya menunjukkan trend penurunan harga.
Pengesahan trend supertrendIndikator Supertrend sebagai alat pengesahan trend kedua, menyokong pembelian apabila ia menunjukkan isyarat bullish ((trend == -1) dan menyokong jual apabila ia menunjukkan isyarat bearish ((trend == 1)). Perubahan Supertrend juga digunakan sebagai pemicu isyarat keluar.
Blok pesanan bertimbangan kuantitiStrategi memperkenalkan mekanisme untuk mengenal pasti zon sokongan dan rintangan yang dinamik berdasarkan jumlah transaksi. Apabila jumlah transaksi melebihi beberapa kali ganda daripada purata (default 2x) dan harga mencapai titik tinggi atau rendah tempatan, sistem akan menandakan kawasan-kawasan ini sebagai blok pesanan yang berpotensi dan mengekalkan kesahihannya dalam tempoh masa yang ditetapkan (default 15 kitaran).
Pengesahan keadaan yang berterusanBahagian strategi yang paling unik adalah mekanisme pengesahan keadaan yang berterusan. Sistem ini mengesan keadaan perdagangan melalui empat tanda Bull: keadaan trend, keadaan ADX, keadaan DMI dan keadaan wilayah. Isyarat perdagangan hanya akan dicetuskan apabila semua syarat dipenuhi.
Syarat pembelian:
Syarat jualan:
Logik Keluar: Apabila indikator Supertrend mengubah arah trend, strategi akan melonggarkan kedudukan semasa.
Mekanisme pengesahan bergandaDengan mengintegrasikan pelbagai petunjuk teknikal, strategi ini mengurangkan banyak isyarat palsu dan meningkatkan ketepatan perdagangan. Terutama gabungan ADX dan Supertrend, yang memastikan kekuatan trend dan memberikan panduan arah yang jelas.
Pengesahan keadaan yang berterusanMekanisme pengesahan strategi yang berterusan membolehkan sistem bertindak semula apabila semua syarat matang, dan bukan hanya mencetuskan perdagangan berdasarkan isyarat tunggal. Reka bentuk ini sangat meningkatkan kestabilan strategi dan mengurangkan perdagangan yang tidak perlu dalam keadaan pasaran yang tidak menguntungkan.
Pengiktirafan sokongan dan rintangan dinamikAnalisis blok pesanan berdasarkan jumlah dagangan menyediakan rujukan sokongan dan rintangan yang dinamik untuk strategi, menjadikan keputusan perdagangan lebih dekat dengan struktur mikro pasaran, dan mengelakkan perdagangan yang bertentangan di kawasan harga utama.
Mekanisme keluar yang jelasStrategi menggunakan pembalikan Supertrend sebagai isyarat keluar, menyediakan cara berhenti dan berhenti yang objektif dan tepat pada masanya, dan menguruskan risiko setiap perdagangan dengan berkesan.
Sangat boleh menyesuaikan diriDengan pelbagai parameter yang boleh disesuaikan, strategi dapat disesuaikan dengan pelbagai keadaan pasaran dan jenis perdagangan, meningkatkan kepraktisan dan fleksibiliti.
Kepekaan ParameterKesan strategi sangat bergantung kepada tetapan parameter. Pilihan parameter seperti panjang ADX, kelipatan Supertrend dan kitaran ATR mempunyai kesan yang ketara terhadap prestasi strategi. Tetapan parameter yang tidak sesuai boleh menyebabkan perdagangan berlebihan atau kehilangan peluang penting.
Risiko pembalikan arah aliranWalaupun menggunakan mekanisme pengesahan berganda, strategi masih boleh menghadapi risiko ketinggalan dalam keadaan pasaran yang kuat atau bergelombang tinggi. Penyelesaian adalah dengan mempertimbangkan untuk memperkenalkan penapis kadar turun naik atau menyesuaikan nilai ADX secara dinamik untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
Risiko keabnormalanStrategi ini bergantung kepada analisis jumlah transaksi, yang boleh menyebabkan pengiktirafan blok pesanan yang salah dalam keadaan yang luar biasa (seperti jumlah transaksi yang luar biasa yang tiba-tiba). Penyelesaian adalah dengan menambah pemprosesan kelancaran transaksi atau memperkenalkan mekanisme pengesanan yang luar biasa tambahan.
Risiko yang terlalu optimumOleh kerana strategi mengandungi banyak parameter yang boleh disesuaikan, ia mudah menyebabkan pengoptimuman berlebihan, menjadikan strategi berfungsi dengan baik pada data sejarah tetapi tidak berfungsi dengan baik dalam perdagangan sebenar. Penyelesaian adalah dengan menggunakan ujian ke hadapan dan ujian luar sampel untuk memastikan kehandalan strategi.
Risiko kecairanDalam pasaran yang kurang kecairan, jumlah besar transaksi boleh menyebabkan tergelincir atau perintah yang tertangguh, mempengaruhi kesan strategi. Penyelesaian adalah dengan menambah syarat penapis kecairan tambahan dalam persekitaran yang kurang kecairan, atau menyesuaikan saiz kedudukan.
Pengaturan parameter dinamikStrategi boleh dioptimumkan lebih jauh untuk menyesuaikan parameter ADX dan Supertrend secara automatik mengikut turun naik pasaran. Sebagai contoh, dalam tempoh turun naik yang tinggi, anda boleh menaikkan ADX dan mengurangkan isyarat penembusan palsu; dalam tempoh turun naik yang rendah, anda boleh menurunkan turun naik dan meningkatkan kepekaan.
Integrasi penapis masaPengenalan penapis masa dapat mengelakkan perdagangan pada waktu pasaran terbuka, ditutup atau kurang likuid. Pengoptimuman ini terutama berlaku untuk strategi perdagangan dalam hari, yang dapat mengurangkan perdagangan yang tidak perlu yang disebabkan oleh kebisingan pasaran.
Analisis pelbagai kerangka masaDengan mengintegrasikan maklumat trend pada jangka masa yang lebih tinggi, strategi dapat memastikan arah perdagangan konsisten dengan trend yang lebih besar. Sebagai contoh, perdagangan hanya dijalankan apabila trend garis hari dan arah trend garis jam selaras, yang dapat meningkatkan peluang kemenangan dan mengurangkan risiko perdagangan berlawanan.
Pengurusan risiko yang lebih baikMekanisme keluar dari strategi semasa agak mudah, dan pengendalian risiko boleh dipertingkatkan dengan menambah stop loss bergerak, penapis perbandingan kerugian, atau pengiraan stop loss berdasarkan kadar turun naik. Peningkatan ini dapat melindungi keuntungan dan mengawal risiko setiap perdagangan dengan lebih baik.
Klasifikasi keadaan pasaranMemperkenalkan mekanisme klasifikasi keadaan pasaran yang membolehkan strategi mengenal pasti keadaan pasaran yang berbeza, seperti tempoh penyusunan, tempoh trend, dan tempoh turun naik yang tinggi, dan menyesuaikan logik perdagangan dengan ini. Pengoptimuman ini dapat mengelakkan perdagangan dalam keadaan pasaran yang tidak sesuai dengan strategi, dan meningkatkan lagi kestabilan strategi.
Strategi perdagangan masuk berterusan yang berasaskan ADX dan Supertrend membina sistem perdagangan yang komprehensif dan mantap dengan mengintegrasikan beberapa petunjuk teknikal dan mekanisme pengesahan keadaan yang berterusan yang unik. Strategi ini memberi penekanan khusus kepada perdagangan dalam keadaan pasaran yang ideal, mengelakkan banyak perangkap isyarat yang salah.
Walaupun terdapat banyak kelebihan dalam strategi ini, pengguna perlu berhati-hati dengan isu-isu yang berpotensi seperti sensitiviti parameter, risiko pembalikan trend dan pengoptimuman berlebihan. Strategi ini mempunyai ruang pengoptimuman yang besar dengan memperkenalkan penyesuaian parameter dinamik, analisis jangka masa berbilang dan mekanisme pengurusan risiko yang dipertingkatkan.
/*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