Penjejakan aliran purata bergerak berbilang dan strategi henti kerugian dinamik

EMA RSI
Tarikh penciptaan: 2025-02-10 14:23:43 Akhirnya diubah suai: 2025-02-10 14:23:43
Salin: 4 Bilangan klik: 389
1
fokus pada
1617
Pengikut

Penjejakan aliran purata bergerak berbilang dan strategi henti kerugian dinamik

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan trend-tracking berdasarkan moving average (EMA) dan indikator relatif lemah (RSI) dalam pelbagai indeks. Strategi ini menggabungkan tanda silang EMA (20, 30, 200) di peringkat garis matahari, pengesahan momentum RSI, dan mekanisme stop loss dinamik yang bertujuan untuk menangkap peluang tren jangka panjang di pasaran.

Prinsip Strategi

Logik teras strategi merangkumi komponen utama berikut:

  1. Isyarat masuk: Apabila EMA 20 hari melintasi EMA 30 hari ke atas, dan harga berada di atas EMA 200 hari, dan RSI lebih besar daripada 50, sistem menghasilkan isyarat ganda.
  2. Tetapan penangguhan: Tetapan penangguhan tetap 50% selepas masuk.
  3. Hentian dinamik: 25% Hentian pemantauan dinamik digunakan, dan kedudukan Hentian bergerak ke atas apabila harga berinovasi tinggi.
  4. Mekanisme Keluar: Apabila harga menyentuh titik berhenti atau titik berhenti, kedudukan kosong akan ditutup secara automatik.

Kelebihan Strategik

  1. Pemeriksaan kitaran masa berganda: Menapis turun naik jangka pendek dengan kombinasi garis rata di peringkat garis matahari untuk meningkatkan kestabilan perdagangan.
  2. Pengurusan risiko yang dinamik: Mechanisme menghentikan kerugian yang dikesan dapat mengunci keuntungan dengan berkesan dan mengelakkan penarikan balik yang besar.
  3. Pengesahan trend yang mencukupi: Indikator RSI, yang digabungkan dengan sistem garis rata, dapat lebih mengesahkan keberkesanan trend.
  4. Logik pelaksanaan yang jelas: syarat kemasukan dan keluar jelas, mudah difahami dan dikendalikan.

Risiko Strategik

  1. Risiko pasaran yang bergolak: Stop loss mungkin sering dicetuskan dalam pasaran yang bergolak.
  2. Kesan slippage: Apabila pasaran berubah-ubah dengan ketara, stop loss dan stop loss dinamik mungkin menghadapi slippage yang lebih besar.
  3. Risiko penembusan palsu: isyarat persilangan garis rata mungkin berlaku penembusan palsu.
  4. Sensitiviti parameter: Peratusan Stop Loss dan Stop Stop mempunyai kesan besar terhadap prestasi strategi.

Arah pengoptimuman strategi

  1. Penapis keadaan pasaran: penambahan indikator turun naik (seperti ATR) untuk menilai keadaan pasaran, menurunkan kedudukan atau menangguhkan perdagangan di pasaran yang bergolak.
  2. Dinamika penutupan: Pertimbangkan untuk menyesuaikan kadar penutupan secara dinamik mengikut turun naik pasaran
  3. Optimasi isyarat masuk: Indeks kuantiti boleh diperkenalkan untuk bekerjasama dengan isyarat silang linear, meningkatkan kebolehpercayaan isyarat.
  4. Pengurusan kedudukan diperbaiki: Memperkenalkan mekanisme pengurusan kedudukan dinamik, secara automatik menyesuaikan saiz kedudukan berdasarkan risiko pasaran.

ringkaskan

Strategi ini membina satu sistem perdagangan yang lengkap untuk mengesan trend melalui kerjasama kerjasama dengan pelbagai petunjuk teknikal. Ciri utama strategi ini adalah gabungan penghakiman trend jangka panjang dan kawalan risiko dinamik, sesuai untuk beroperasi dalam keadaan pasaran yang jelas trend. Dengan pengoptimuman dan penyempurnaan berterusan, strategi ini dijangka dapat mencapai prestasi yang lebih baik dalam perdagangan sebenar.

Kod sumber strategi
/*backtest
start: 2024-02-10 00:00:00
end: 2025-02-09 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Talbuaia Signal", overlay=true)

// Request EMAs on the daily timeframe
ema20_daily = request.security(syminfo.tickerid, "D", ta.ema(close, 20), lookahead=barmerge.lookahead_on)
ema30_daily = request.security(syminfo.tickerid, "D", ta.ema(close, 30), lookahead=barmerge.lookahead_on)
ema200_daily = request.security(syminfo.tickerid, "D", ta.ema(close, 200), lookahead=barmerge.lookahead_on)

// RSI Calculation
rsi = ta.rsi(close, 14)

// Plot daily EMAs
plot(ema20_daily, color=color.blue, title="Daily EMA 20")
plot(ema30_daily, color=color.orange, title="Daily EMA 30")
plot(ema200_daily, color=color.red, title="Daily EMA 200")

// Plot RSI
hline(50, "RSI Midline", color=color.gray)
plot(rsi, color=color.purple, title="RSI")

// Entry condition: 20 EMA crosses above 30 EMA, price is above 200 EMA, and RSI > 50
bullishEntry = ta.crossover(ema20_daily, ema30_daily) and close > ema200_daily and rsi > 50

// Variables to track entry price, take profit, and trailing stop
var float entryPriceLong = na
var float highestPriceSinceEntry = na
var float takeProfitLevel = na
var float trailingStopLevel = na

// Entry Logic
if bullishEntry
    strategy.entry("Long", strategy.long)
    entryPriceLong := close
    highestPriceSinceEntry := close  // Initialize the highest price since entry
    takeProfitLevel := entryPriceLong * 1.50  // Set take profit at 50% above entry price
    trailingStopLevel := na  // Reset trailing stop
    label.new(bar_index, close, "BUY", style=label.style_label_up, color=color.green, textcolor=color.white)

// Update highest price and trailing stop dynamically
if strategy.position_size > 0
    highestPriceSinceEntry := math.max(highestPriceSinceEntry, close)  // Track the highest price reached
    trailingStopLevel := highestPriceSinceEntry * (1 - 0.25)  // Set trailing stop at 25% below the highest price

// Exit Logic: Take profit or trailing stop
if strategy.position_size > 0 and (close >= takeProfitLevel or close <= trailingStopLevel)
    strategy.close("Long")
    label.new(bar_index, close, "EXIT LONG", style=label.style_label_down, color=color.red, textcolor=color.white)

// Plot trailing stop and take profit levels on the chart
plot(trailingStopLevel, "Trailing Stop", color=color.red, linewidth=2, style=plot.style_line)
plot(takeProfitLevel, "Take Profit", color=color.green, linewidth=2, style=plot.style_line)