Sistem perdagangan stop loss bergerak cerdas berdasarkan tiga crossover rata-rata bergerak yang dikombinasikan dengan rasio risiko-pengembalian

EMA R2R
Tanggal Pembuatan: 2025-01-06 16:53:36 Akhirnya memodifikasi: 2025-01-06 16:53:36
menyalin: 1 Jumlah klik: 445
1
fokus pada
1617
Pengikut

Sistem perdagangan stop loss bergerak cerdas berdasarkan tiga crossover rata-rata bergerak yang dikombinasikan dengan rasio risiko-pengembalian

Ringkasan

Ini adalah sistem perdagangan mengikuti tren berdasarkan sinyal persilangan Triple Exponential Moving Average (EMA). Sistem ini menggabungkan tiga rata-rata pergerakan, EMA8, EMA21 dan EMA89, menghasilkan sinyal perdagangan melalui persilangan rata-rata pergerakan, dan mengintegrasikan fungsi stop-loss pergerakan cerdas berdasarkan rasio risiko-pengembalian untuk mencapai manajemen risiko otomatis.

Prinsip Strategi

Sistem ini terutama mencakup modul fungsional inti berikut:

  1. Modul pembangkit sinyal: Gunakan persilangan EMA8 cepat dan EMA21 sedang untuk menentukan arah perdagangan, dan memerlukan harga berada di atas atau di bawah EMA89 yang lambat untuk mengonfirmasi tren umum
  2. Modul eksekusi perdagangan: secara otomatis membuka posisi ketika kondisi panjang atau pendek terpenuhi, dan mengatur stop loss awal dan posisi target
  3. Modul manajemen risiko: Ketika harga mencapai rasio risiko-pengembalian 1:1, stop loss secara otomatis dipindahkan ke posisi biaya untuk mengunci pengembalian bebas risiko
  4. Modul visualisasi: gambar tiga moving average, titik masuk, dan penanda trailing stop loss pada grafik

Keunggulan Strategis

  1. Verifikasi beberapa kerangka waktu: Konfirmasikan tren melalui tiga rata-rata pergerakan periode yang berbeda untuk meningkatkan keandalan transaksi
  2. Manajemen risiko cerdas: mekanisme stop loss bergerak berdasarkan rasio risiko-imbal hasil, melindungi keuntungan sekaligus mengurangi kerugian
  3. Sangat otomatis: Seluruh proses mulai dari pembuatan sinyal hingga manajemen posisi dijalankan secara otomatis, sehingga mengurangi campur tangan manusia
  4. Parameter dapat disesuaikan: parameter utama seperti periode rata-rata bergerak, rasio stop loss, dll. dapat dioptimalkan sesuai dengan karakteristik pasar yang berbeda

Risiko Strategis

  1. Risiko pasar yang bergejolak: Sinyal breakout palsu yang sering terjadi dapat terjadi di pasar yang bergerak menyamping.
  2. Risiko tergelincir: Mungkin terjadi tergelincir ketika mengeksekusi stop loss bergerak di pasar yang cepat.
  3. Risiko sistemik: Fluktuasi pasar yang tiba-tiba dan besar dapat menyebabkan kegagalan stop loss Larutan:
  • Tambahkan filter tren untuk mengidentifikasi pasar yang bergejolak
  • Tetapkan buffer stop loss yang wajar
  • Memperkenalkan mekanisme adaptif volatilitas

Arah optimasi strategi

  1. Memperkenalkan indikator volume: Tambahkan konfirmasi volume berdasarkan sinyal persilangan rata-rata pergerakan untuk meningkatkan kualitas sinyal
  2. Mengembangkan stop loss dinamis: menyesuaikan jarak stop loss secara dinamis sesuai dengan volatilitas pasar untuk meningkatkan kemampuan beradaptasi strategi
  3. Optimalkan mekanisme trailing stop: gunakan trailing stop setelah mencapai rasio laba target untuk mendapatkan lebih banyak potensi keuntungan
  4. Tambahkan penyaringan lingkungan pasar: rancang indikator kekuatan tren dan sesuaikan parameter strategi di lingkungan pasar yang berbeda

Meringkaskan

Strategi ini mewujudkan sistem perdagangan mengikuti tren secara lengkap dengan menggabungkan sistem persilangan rata-rata bergerak klasik dengan metode manajemen risiko modern. Keunggulan sistem terletak pada mekanisme pembangkitan sinyal yang andal dan metode pengendalian risiko yang cerdas, tetapi dalam aplikasi praktis, optimalisasi parameter dan perluasan fungsi masih diperlukan sesuai dengan karakteristik pasar tertentu. Melalui perbaikan dan pengoptimalan yang berkelanjutan, strategi ini diharapkan dapat mempertahankan kinerja yang stabil di berbagai lingkungan pasar.

Kode Sumber Strategi
/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover with SL to BE", shorttitle="OmegaGalsky", overlay=true)

// Входни параметри
ema8_period = input.int(8, title="EMA 8 Period")
ema21_period = input.int(21, title="EMA 21 Period")
ema89_period = input.int(89, title="EMA 89 Period")
fixed_risk_reward = input.float(1.0, title="Risk/Reward Ratio (R2R)")
sl_percentage = input.float(0.001, title="Stop Loss Percentage", step=0.0001)
tp_percentage = input.float(0.0025, title="Take Profit Percentage", step=0.0001)

// Изчисляване на EMA
ema8 = ta.ema(close, ema8_period)
ema21 = ta.ema(close, ema21_period)
ema89 = ta.ema(close, ema89_period)

// Условия за BUY
buy_condition = ta.crossover(ema8, ema21) and close > ema89 and close > open

// Условия за SELL
sell_condition = ta.crossunder(ema8, ema21) and close < ema89 and close < open

// Вход в BUY позиция
if (buy_condition)
    stop_loss = close * (1 - sl_percentage)
    take_profit = close * (1 + tp_percentage)
    strategy.entry("BUY", strategy.long)
    strategy.exit("TP/SL", from_entry="BUY", stop=stop_loss, limit=take_profit)

// Вход в SELL позиция
if (sell_condition)
    stop_loss = close * (1 + sl_percentage)
    take_profit = close * (1 - tp_percentage)
    strategy.entry("SELL", strategy.short)
    strategy.exit("TP/SL", from_entry="SELL", stop=stop_loss, limit=take_profit)

// Логика за преместване на стоп към BE
if (strategy.position_size > 0)
    entry_price = strategy.position_avg_price
    // За LONG позиция
    if (strategy.position_size > 0 and high  >= entry_price + (entry_price * sl_percentage * fixed_risk_reward))
        strategy.exit("SL to BE", from_entry="BUY", stop=entry_price)
        label.new(bar_index, high, "SL moved to BE", color=color.green)
    // За SHORT позиция
    if (strategy.position_size < 0 and low <= entry_price - (entry_price * sl_percentage * fixed_risk_reward))
        strategy.exit("SL to BE", from_entry="SELL", stop=entry_price)
        label.new(bar_index, low, "SL moved to BE", color=color.red)

// Чертеж на EMA
plot(ema8, color=color.orange, title="EMA 8")
plot(ema21, color=color.blue, title="EMA 21")
plot(ema89, color=color.purple, title="EMA 89")