Pertimbangan arah aliran purata bergerak berganda dan strategi hentikan kerugian turun naik

EMA ATR SL CROSS
Tarikh penciptaan: 2025-02-19 16:44:55 Akhirnya diubah suai: 2025-02-27 17:57:02
Salin: 1 Bilangan klik: 321
2
fokus pada
319
Pengikut

Pertimbangan arah aliran purata bergerak berganda dan strategi hentikan kerugian turun naik Pertimbangan arah aliran purata bergerak berganda dan strategi hentikan kerugian turun naik

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan trend-following yang menggabungkan indeks moving average (EMA) dan mekanisme stop loss berdasarkan amplitudo pergerakan sebenar (ATR). Strategi ini menggunakan EMA 9 dan 21 kitaran untuk mengenal pasti trend pasaran, sambil menggunakan ATR untuk menyesuaikan kedudukan stop loss secara dinamik, mewujudkan gabungan organik trend-following dan kawalan risiko.

Prinsip Strategi

Logik teras strategi ini merangkumi dua bahagian utama: penilaian trend dan kawalan risiko. Dalam penilaian trend, trend pasaran ditentukan dengan memantau persilangan EMA cepat (siklus 9) dan EMA perlahan (siklus 21). Apabila ia melintasi garis perlahan, ia akan mencetuskan isyarat ganda. Apabila ia melintasi garis perlahan, ia akan mencetuskan isyarat kosong.

Kelebihan Strategik

  1. Ketepatan pengiktirafan trend yang tinggi: Dengan menggunakan dua kitaran EMA yang berbeza, dapat menyaring bunyi pasaran dengan berkesan, meningkatkan ketepatan penghakiman trend.
  2. Fleksibiliti kawalan risiko: mekanisme hentian dinamik berasaskan ATR dapat menyesuaikan diri dengan turun naik pasaran, memberikan ruang hentian yang lebih longgar apabila turun naik meningkat, dan mengetatkan kedudukan hentian apabila turun naik lemah.
  3. Parameter yang boleh disesuaikan: parameter utama strategi (siklus EMA, kitaran ATR, kali ATR) boleh disesuaikan secara optimum mengikut ciri-ciri pasaran dan kitaran perdagangan yang berbeza.
  4. Kesederhanaan: Logik strategi jelas, struktur kod ringkas, mudah difahami dan dipelihara.

Risiko Strategik

  1. Risiko pasaran goyah: Dalam pasaran goyah, isyarat persilangan rata-rata sering berlaku, yang boleh menyebabkan perdagangan berlebihan dan hentian berterusan.
  2. Risiko keterbelakangan: Indeks EMA sendiri mempunyai keterbelakangan dan mungkin tidak bertindak balas dengan cepat apabila pasaran berubah dengan cepat.
  3. Seting Stop Loss Risiko: Pilihan ATR perlu mengimbangi ruang stop loss dan peluang keuntungan, dan seting yang tidak betul boleh menyebabkan stop loss terlalu awal atau mengambil risiko yang terlalu besar.

Arah pengoptimuman strategi

  1. Memperkenalkan pengesahan kekuatan trend: Indikator kekuatan trend (seperti ADX) boleh ditambah sebagai syarat penapisan perdagangan, hanya masuk apabila trend jelas.
  2. Dinamik menyesuaikan ATR ganda: boleh menyesuaikan ATR ganda secara automatik mengikut kitaran turun naik pasaran, meningkatkan kesesuaian tetapan stop-loss.
  3. Meningkatkan matlamat keuntungan: Anda boleh menetapkan matlamat keuntungan dinamik berdasarkan ATR, untuk pengurusan dinamik nisbah ganjaran risiko.
  4. Menambah pengesahan jumlah transaksi: Menambah analisis jumlah transaksi semasa pengesahan isyarat masuk, meningkatkan kebolehpercayaan isyarat perdagangan.

ringkaskan

Strategi ini membina satu sistem perdagangan trend yang lengkap dengan menggabungkan trend penilaian silang garis sejajar dan ATR yang dinamik. Keunggulan strategi ini adalah menilai objektif standard, fleksibiliti kawalan risiko, tetapi juga perlu berhati-hati dalam menangani risiko pasaran yang bergolak dan masalah keterlambatan isyarat.

Kod sumber strategi
/*backtest
start: 2024-02-20 00:00:00
end: 2024-05-31 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"TRB_USDT"}]
*/

//@version=5
strategy("EMA 9/21 + ATR SL Strategy", shorttitle="EMA+ATR", overlay=true)

// ===== Input Parameters ===== //
emaFastLen  = input.int(9,  "Fast EMA")
emaSlowLen  = input.int(21, "Slow EMA")
atrLen      = input.int(14, "ATR Length")
atrMult     = input.float(1.5, "ATR Multiplier")

// ===== EMA Calculation ===== //
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)

// ===== ATR Calculation ===== //
atrValue = ta.atr(atrLen)

// ===== Conditions for Entry ===== //
longCondition  = ta.crossover(emaFast, emaSlow)   // Long when 9 EMA crosses above 21 EMA
shortCondition = ta.crossunder(emaFast, emaSlow)  // Short when 9 EMA crosses below 21 EMA

// ===== Entry Commands ===== //
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

// ===== Set Stop-Loss Using ATR ===== //
//
// For LONG: stop-loss = entry price - (atrMult * ATR)
// For SHORT: stop-loss = entry price + (atrMult * ATR)
//
// Note: You can adjust the atrMult values based on market volatility
//
if strategy.position_size > 0
    // If holding LONG, define stop-loss below the entry price
    strategy.exit("Exit Long", "Long", stop = strategy.position_avg_price - atrMult * atrValue)

if strategy.position_size < 0
    // If holding SHORT, define stop-loss above the entry price
    strategy.exit("Exit Short", "Short", stop = strategy.position_avg_price + atrMult * atrValue)