Strategi pelacakan tren adaptif ATR difilter oleh rata-rata pergerakan ganda

EMA ATR HEIKIN ASHI Trailing Stop TAKE PROFIT
Tanggal Pembuatan: 2025-04-25 15:01:18 Akhirnya memodifikasi: 2025-04-25 15:01:18
menyalin: 0 Jumlah klik: 403
2
fokus pada
319
Pengikut

Strategi pelacakan tren adaptif ATR difilter oleh rata-rata pergerakan ganda Strategi pelacakan tren adaptif ATR difilter oleh rata-rata pergerakan ganda

Ringkasan

Strategi ini menggabungkan sistem penyaringan dua rantai dan ATR self-adapting tracking stop loss untuk melacak tren dengan tingkat kemenangan yang tinggi melalui pemetaan Heikin Ashi untuk meratakan pergerakan harga. Inti dari strategi ini adalah menggunakan EMA cepat dan EMA lambat sebagai filter arah tren, sementara menggunakan stop loss dinamis berbasis ATR untuk melindungi keuntungan.

Prinsip Strategi

  1. Lapisan Pembuatan Sinyal

    • Menggunakan harga Heikin Ashi setelah konversi sebagai sumber data dasar (harga asli yang dapat dikonversi)
    • Hitung saluran ATR: menentukan lebar saluran dinamis dengan panjang ATR ((20) dan perkalian ((1.0)
    • Membuat Stop Loss Tracking Adaptif: Mencetak sinyal reversal saat harga menembus saluran
  2. Trending Filter Layers

    • Menggunakan sistem EMA ganda ((10 siklus garis cepat / 50 siklus garis lambat)
    • Hanya diizinkan untuk melakukan lebih banyak jika jalur cepat lebih tinggi dari jalur lambat, sebaliknya diizinkan untuk melakukan lebih sedikit
  3. Manajemen risiko

    • Tracking Stop Loss: Mengontrol stop loss moving grain dengan parameter trail_step dan trail_offset
    • Take_profit_points menetapkan target keuntungan mutlak
  4. Eksekusi Logika

    • Buka posisi saat harga menembus saluran ATR dan sesuai dengan arah EMA
    • Tanda-tanda reversal muncul atau mencapai posisi terpadat pada waktu stop loss/stopping

Analisis Keunggulan

  1. Desain dengan Rasio Kemenangan TinggiFungsi: Triple Filter mechanism ((Heikin Ashi Smooth + ATR Channel + EMA Cross) efektif mengurangi sinyal palsu
  2. Adaptasi pengendalian anginATR secara dinamis menyesuaikan posisi stop loss, secara otomatis memperluas ruang kesalahan ketika pasar bergejolak
  3. Keberlanjutan trenFilter EMA memastikan hanya peluang perdagangan yang sesuai dengan arah tren besar
  4. Kompatibilitas multi-frameParameter dapat disesuaikan untuk varietas yang berbeda
  5. Bantuan visualTag sinyal jual beli dan tampilan garis rata yang dibangun untuk verifikasi manual

Analisis risiko

  1. Risiko pembalikan trenPada saat terjadi perlambatan, saluran ATR dapat mengalami keterlambatan yang dapat menyebabkan kerugian yang berlebihan.
    • Optimisasi: meningkatkan HRS maksimum
  2. Parameter tidak cocokHasilnya adalah: 90% kemungkinan menang dalam data historis tertentu.
    • Optimasi: melakukan uji Walk-Forward multi-siklus
  3. Penjelasan lebih lanjutEMA: Keseluruhan sinyal palsu di kota yang bergoyang
    • Optimasi: Menggunakan filter ADX atau nilai terendah volatilitas
  4. Efek slippointTracking Stop Loss: Eksekusi dengan harga yang tidak menguntungkan dalam situasi yang cepat
    • Optimasi: Setel toleransi titik geser minimum

Arah optimasi

  1. Pengaturan parameter dinamis

    • Mengatur ATR secara otomatis berdasarkan fluktuasi pasar (seperti indeks VIX)
    • Prinsip implementasi: perhitungan persentase dari deviasi standar atau fluktuasi historis
  2. Sistem Filter Komposit

    • Menambahkan konfirmasi dengan bobot transaksi: Memerintahkan peningkatan volume transaksi saat melakukan penembusan
    • Menambahkan Filter Waktu: Menghindar dari Data Ekonomi Penting
  3. Optimalisasi Pembelajaran Mesin

    • Menggunakan reinforcement learning untuk menyesuaikan siklus EMA
    • Prediksi titik berhenti optimal melalui LSTM
  4. Verifikasi multi-dimensi

    • Memperkenalkan pengesahan tren pada tingkat garis lingkar
    • Menambahkan RSI deviasi sebagai sinyal tambahan

Meringkaskan

Strategi ini memungkinkan penangkapan tren probabilitas tinggi melalui arsitektur tiga Heikin Ashi-ATR-EMA, dan mekanisme stop loss dinamis yang efektif melindungi keuntungan. Keunggulan utamanya adalah integrasi organik antara penilaian arah tren (EMA), adaptasi tingkat fluktuasi (ATR) dan penyaringan kebisingan (Heikin Ashi).

Kode Sumber Strategi
/*backtest
start: 2025-01-01 00:00:00
end: 2025-04-23 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/

//@version=5
strategy("UTBot + EMA Filter (HA + ATR Logic)", overlay = true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// === INPUTS ===
bandwidth = input.float(8., 'Bandwidth')
atr_mult = input.float(1.0, 'ATR Multiplier')
atr_len = input.int(20, 'ATR Length')
ema_fast_len = input.int(10, 'EMA Fast Length')
ema_slow_len = input.int(50, 'EMA Slow Length')
use_heikin = input.bool(true, title='Use Heikin Ashi Candle')
trail_step = input.float(10.0, title='Trailing Step (Points)', minval=0.1)
trail_offset = input.float(10.0, title='Trailing Offset (Points)', minval=0.1)
take_profit_points = input.float(100.0, title='Take Profit (Points)', minval=0.1)

// === SOURCE ===
sr = use_heikin ? request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close) : close

// === ATR Trailing Stop ===
atr = ta.atr(atr_len)
nLoss = atr_mult * atr

var float trail = na
iff_1 = sr > nz(trail[1]) ? sr - nLoss : sr + nLoss
iff_2 = sr < nz(trail[1]) and sr[1] < nz(trail[1]) ? math.min(nz(trail[1]), sr + nLoss) : iff_1
trail := sr > nz(trail[1]) and sr[1] > nz(trail[1]) ? math.max(nz(trail[1]), sr - nLoss) : iff_2

// === EMA FILTER ===
ema_fast = ta.ema(sr, ema_fast_len)
ema_slow = ta.ema(sr, ema_slow_len)

// === ENTRY & EXIT CONDITIONS ===
buy = sr[1] < trail[1] and sr > trail and ema_fast > ema_slow
sell = sr[1] > trail[1] and sr < trail and ema_fast < ema_slow

// === EXIT on opposite signal ===
exit_buy = sell
exit_sell = buy

// === STRATEGY EXECUTION ===
if buy
    strategy.entry("Buy", strategy.long)
if sell
    strategy.entry("Sell", strategy.short)

if exit_buy and strategy.position_size > 0
    strategy.close("Buy")
if exit_sell and strategy.position_size < 0
    strategy.close("Sell")

// === TRAILING STOP + TAKE PROFIT ===
// Long
if strategy.position_size > 0
    strategy.exit("Exit Long", from_entry="Buy", trail_points=trail_step, trail_offset=trail_offset, limit=sr + take_profit_points)

// Short
if strategy.position_size < 0
    strategy.exit("Exit Short", from_entry="Sell", trail_points=trail_step, trail_offset=trail_offset, limit=sr - take_profit_points)

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

plot(ema_fast, color=color.teal, title='EMA Fast')
plot(ema_slow, color=color.purple, title='EMA Slow')

// === ALERTS ===
alertcondition(buy, title='UTBot Buy', message='UTBot Buy Signal')
alertcondition(sell, title='UTBot Sell', message='UTBot Sell Signal')