Penjejakan arah aliran dinamik ATR dan strategi dagangan persilangan purata bergerak

ATR EMA HLC3
Tarikh penciptaan: 2025-02-21 14:20:15 Akhirnya diubah suai: 2025-02-27 16:57:27
Salin: 1 Bilangan klik: 405
2
fokus pada
319
Pengikut

Penjejakan arah aliran dinamik ATR dan strategi dagangan persilangan purata bergerak Penjejakan arah aliran dinamik ATR dan strategi dagangan persilangan purata bergerak

Gambaran keseluruhan

Ini adalah strategi pengesanan trend berdasarkan ATR (Rang Real Rata-rata), yang menggabungkan stop-loss dinamik dan isyarat persimpangan garis rata. Strategi ini menentukan turun naik pasaran dengan mengira ATR dan menggunakan maklumat ini untuk membina stop-loss pengesanan dinamik.

Prinsip Strategi

Logik utama strategi ini adalah berdasarkan beberapa pengiraan utama:

  1. Penggunaan indikator ATR untuk mengukur turun naik pasaran yang boleh disesuaikan
  2. Jarak hentian dinamik yang dikira berdasarkan nilai ATR, disesuaikan dengan parameter kepekaan a
  3. Membina ATR untuk mengesan garis berhenti yang secara dinamik menyesuaikan dengan pergerakan harga
  4. Gunakan 1 kitaran EMA dan ATR untuk menentukan isyarat dagangan dengan penyambungan garisan berhenti
  5. EMA terbuka apabila menembusi ATR Tracking Stop Line ke atas dan terbuka apabila menembusi ke bawah
  6. Pilihan untuk menggunakan harga penutupan biasa atau HLC3 pada garis K Ping An sebagai asas pengiraan

Kelebihan Strategik

  1. Kebolehsuaian dinamik: ATR menjejaki stop loss yang dapat disesuaikan secara automatik dengan turun naik pasaran, membolehkan strategi tetap stabil dalam keadaan pasaran yang berbeza
  2. Kawalan risiko yang sempurna: perlindungan berterusan terhadap kedudukan melalui garis hentian dinamik
  3. Parameter yang boleh disesuaikan: dapat menyesuaikan diri dengan ciri-ciri pasaran yang berbeza dengan menyesuaikan kitaran dan kepekaan ATR
  4. Isyarat jelas dan boleh dipercayai: gabungan persilangan linear memberikan isyarat masuk dan keluar yang jelas
  5. Kesederhanaan logik pengiraan: logik strategi jelas, mudah difahami dan dipelihara
  6. Kesan visual yang baik: memberikan isyarat perdagangan dan trend yang ditunjukkan secara grafik

Risiko Strategik

  1. Risiko pasaran goyah: Isyarat penembusan palsu yang kerap berlaku dalam pasaran goyah.
  2. Kesan slippage: Kesan slippage yang lebih besar mungkin berlaku dalam keadaan pantas yang mempengaruhi prestasi strategi
  3. Kepekaan parameter: Kombinasi parameter yang berbeza boleh membawa kepada perbezaan besar dalam prestasi strategi
  4. Kebergantungan arah aliran: Strategi ini mungkin tidak berprestasi baik dalam pasaran bukan aliran
  5. Keterangan Hentikan Kerosakan: Nilai ATR yang tidak normal boleh menyebabkan kedudukan hentikan yang tidak munasabah

Arah pengoptimuman strategi

  1. Menambah penapis trend: pengenalan penunjuk penilaian trend tambahan untuk mengurangkan isyarat palsu pasaran goyah
  2. Penyesuaian parameter pengoptimuman: Membangunkan mekanisme untuk mengoptimumkan kitaran dan kepekaan ATR secara automatik
  3. Peningkatan pengesahan isyarat: peningkatan jumlah transaksi atau petunjuk teknikal lain sebagai pengesahan isyarat
  4. Memperbaiki mekanisme penangguhan: menambah penangguhan tetap dan penangguhan bergerak berdasarkan ATR
  5. Meningkatkan pengurusan kedudukan: menyesuaikan saiz pegangan mengikut pergerakan pasaran yang tidak menentu

ringkaskan

Ini adalah strategi perdagangan yang lengkap yang menggabungkan sistem berhenti dan garis lurus yang mengikuti pergerakan. Strategi ini menangkap ciri-ciri turun naik pasaran melalui indikator ATR dan menyediakan isyarat perdagangan menggunakan persilangan garis lurus, membentuk sistem perdagangan yang ketat secara logik. Keunggulan strategi ini adalah kemampuan adaptasi dan kawalan risiko dinamik, tetapi juga perlu memperhatikan prestasi di pasaran horizontal.

Kod sumber strategi
/*backtest
start: 2024-05-15 00:00:00
end: 2024-08-08 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy(title="UT Bot Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Inputs
a = input.float(1, title="Key Value. 'This changes the sensitivity'")
c = input.int(10, title="ATR Period")
h = input.bool(false, title="Signals from Heikin Ashi Candles")

// Calculate ATR
xATR = ta.atr(c)
nLoss = a * xATR

// Source for calculations
src = h ? request.security(syminfo.tickerid, timeframe.period, hlc3) : close

// ATR Trailing Stop logic
var float xATRTrailingStop = na
if (not na(xATRTrailingStop[1]) and src > xATRTrailingStop[1] and src[1] > xATRTrailingStop[1])
    xATRTrailingStop := math.max(xATRTrailingStop[1], src - nLoss)
else if (not na(xATRTrailingStop[1]) and src < xATRTrailingStop[1] and src[1] < xATRTrailingStop[1])
    xATRTrailingStop := math.min(xATRTrailingStop[1], src + nLoss)
else
    xATRTrailingStop := src > xATRTrailingStop[1] ? src - nLoss : src + nLoss

// Position logic
var int pos = 0
if (not na(xATRTrailingStop[1]) and src[1] < xATRTrailingStop[1] and src > xATRTrailingStop[1])
    pos := 1
else if (not na(xATRTrailingStop[1]) and src[1] > xATRTrailingStop[1] and src < xATRTrailingStop[1])
    pos := -1
else
    pos := pos[1]

xcolor = pos == -1 ? color.red : pos == 1 ? color.green : color.blue

// Entry and Exit Signals
ema = ta.ema(src, 1)
above = ta.crossover(ema, xATRTrailingStop)
below = ta.crossover(xATRTrailingStop, ema)

buy = src > xATRTrailingStop and above
sell = src < xATRTrailingStop and below

// Strategy Execution
if (buy)
    strategy.entry("UT Long", strategy.long)
if (sell)
    strategy.entry("UT Short", strategy.short)

// Plotting and Alerts
plotshape(buy, title="Buy", text='Buy', style=shape.labelup, location=location.belowbar, color=color.green, textcolor=color.white, size=size.tiny)
plotshape(sell, title="Sell", text='Sell', style=shape.labeldown, location=location.abovebar, color=color.red, textcolor=color.white, size=size.tiny)

barcolor(src > xATRTrailingStop ? color.green : src < xATRTrailingStop ? color.red : na)

alertcondition(buy, title="UT Long", message="UT Long")
alertcondition(sell, title="UT Short", message="UT Short")