Sistem perdagangan stop loss bergerak pintar berdasarkan tiga pindah silang purata bergerak digabungkan dengan nisbah pulangan risiko

EMA R2R
Tarikh penciptaan: 2025-01-06 16:53:36 Akhirnya diubah suai: 2025-01-06 16:53:36
Salin: 0 Bilangan klik: 89
1
fokus pada
1166
Pengikut

Sistem perdagangan stop loss bergerak pintar berdasarkan tiga pindah silang purata bergerak digabungkan dengan nisbah pulangan risiko

Gambaran keseluruhan

Ini adalah sistem perdagangan mengikut arah aliran berdasarkan isyarat silang Purata Pergerakan Eksponen Tiga (EMA). Sistem ini menggabungkan tiga purata bergerak, EMA8, EMA21 dan EMA89, menjana isyarat dagangan melalui pindah silang purata bergerak, dan menyepadukan fungsi henti rugi bergerak pintar berdasarkan nisbah pulangan risiko untuk mencapai pengurusan risiko automatik.

Prinsip Strategi

Sistem ini terutamanya merangkumi modul fungsi teras berikut:

  1. Modul penjanaan isyarat: Gunakan silang EMA8 pantas dan EMA21 sederhana untuk menentukan arah dagangan, dan memerlukan harga berada di atas atau di bawah EMA89 perlahan untuk mengesahkan arah aliran umum
  2. Modul pelaksanaan perdagangan: membuka kedudukan secara automatik apabila syarat panjang atau pendek dipenuhi, dan tetapkan stop loss awal dan kedudukan sasaran
  3. Modul pengurusan risiko: Apabila harga mencapai nisbah pulangan risiko 1:1, stop loss dipindahkan secara automatik ke kedudukan kos untuk mengunci pulangan bebas risiko
  4. Modul visualisasi: lukis tiga purata bergerak, titik masuk dan penanda henti kerugian mengekor pada carta

Kelebihan Strategik

  1. Pengesahan rangka masa berbilang: Sahkan aliran melalui tiga purata bergerak bagi tempoh berbeza untuk meningkatkan kebolehpercayaan transaksi
  2. Pengurusan risiko pintar: mekanisme henti rugi bergerak berdasarkan nisbah pulangan risiko, melindungi keuntungan sambil mengurangkan pengeluaran
  3. Sangat automatik: Keseluruhan proses daripada penjanaan isyarat kepada pengurusan kedudukan dilaksanakan secara automatik, mengurangkan campur tangan manusia
  4. Parameter boleh dilaraskan: parameter utama seperti tempoh purata bergerak, nisbah stop loss, dll. boleh dioptimumkan mengikut ciri pasaran yang berbeza

Risiko Strategik

  1. Risiko pasaran tidak menentu: Isyarat pelarian palsu yang kerap mungkin berlaku dalam pasaran sisi.
  2. Risiko gelincir: Mungkin terdapat gelinciran apabila melaksanakan stop loss bergerak dalam pasaran pantas.
  3. Risiko sistemik: Turun naik pasaran yang mendadak dan besar boleh menyebabkan kegagalan stop loss Penyelesaian:
  • Tambahkan penapis arah aliran untuk mengenal pasti pasaran yang tidak menentu
  • Tetapkan penimbal henti rugi yang munasabah
  • Memperkenalkan mekanisme penyesuaian turun naik

Arah pengoptimuman strategi

  1. Memperkenalkan penunjuk kelantangan: Tambah pengesahan kelantangan berdasarkan isyarat persilangan purata bergerak untuk meningkatkan kualiti isyarat
  2. Bangunkan henti rugi dinamik: laraskan jarak henti rugi secara dinamik mengikut turun naik pasaran untuk meningkatkan kebolehsesuaian strategi
  3. Optimumkan mekanisme trailing stop: gunakan trailing stop selepas mencapai nisbah keuntungan sasaran untuk mendapatkan lebih banyak potensi keuntungan
  4. Tambah penapisan persekitaran pasaran: reka bentuk penunjuk kekuatan arah aliran dan laraskan parameter strategi dalam persekitaran pasaran yang berbeza

ringkaskan

Strategi ini merealisasikan sistem perdagangan mengikut arah aliran yang lengkap dengan menggabungkan sistem pindah silang purata bergerak klasik dengan kaedah pengurusan risiko moden. Kelebihan sistem terletak pada mekanisme penjanaan isyarat yang boleh dipercayai dan kaedah kawalan risiko pintar, tetapi dalam aplikasi praktikal, pengoptimuman parameter dan pengembangan fungsi masih diperlukan mengikut ciri pasaran tertentu. Melalui penambahbaikan dan pengoptimuman berterusan, strategi ini dijangka dapat mengekalkan prestasi yang stabil dalam pelbagai persekitaran pasaran.

Kod 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")