Strategi Perdagangan Trend Momentum Purata Pergerakan Tiga Kali

MA EMA SMA TP SL
Tarikh penciptaan: 2025-02-10 14:37:15 Akhirnya diubah suai: 2025-02-10 14:37:15
Salin: 2 Bilangan klik: 408
1
fokus pada
1617
Pengikut

Strategi Perdagangan Trend Momentum Purata Pergerakan Tiga Kali

Gambaran keseluruhan

Ini adalah strategi pengesanan trend tiga garis rata-rata berdasarkan metodologi perdagangan Oliver Valez. Strategi ini menggunakan isyarat silang rata-rata bergerak 20 kitaran, 50 kitaran dan 200 kitaran untuk mengenal pasti trend pasaran dan peluang perdagangan. 200 garis rata-rata kitaran berfungsi sebagai penapis trend utama, dan persilangan 20 dan 50 garis rata-rata kitaran digunakan untuk menghasilkan isyarat perdagangan tertentu.

Prinsip Strategi

Logik utama strategi ini merangkumi tiga tahap utama:

  1. Pengenalan trend: menggunakan garis purata 200 sebagai garis pemisah trend. Apabila harga berada di atas garis purata 200, ia dianggap sebagai tren naik; apabila harga berada di bawah garis purata 200, ia dianggap sebagai tren menurun.
  2. Isyarat dagangan: dalam trend menaik, apabila garis purata 20 kitaran menaik melintasi garis purata 50 kitaran, mencetuskan signal banyak; dalam trend menurun, apabila garis purata 20 kitaran melintasi garis purata 50 kitaran ke bawah, mencetuskan isyarat kosong.
  3. Kawalan risiko: Strategi ini ditetapkan secara default 2% stop loss dan 4% stop loss, dan secara automatik menutup kedudukan apabila terdapat isyarat silang terbalik.

Kelebihan Strategik

  1. Mekanisme pengesahan berganda: menyediakan isyarat dagangan yang lebih dipercayai melalui penggunaan gabungan tiga garis lurus.
  2. Penapisan Trend: Fungsi penapisan trend yang sejajar 200 secara berkesan mengurangkan risiko penembusan palsu.
  3. Fleksibiliti: Sokongan untuk beralih antara SMA dan EMA, parameter boleh disesuaikan mengikut ciri-ciri pasaran yang berbeza.
  4. Pengurusan risiko yang sempurna: mekanisme pencegahan kerugian terbina dalam, melindungi keselamatan dana.
  5. Kesan visual: menunjukkan status trend secara intuitif dengan menukar warna latar belakang.

Risiko Strategik

  1. Ketinggalan: Purata bergerak pada dasarnya adalah penunjuk ketinggalan, yang boleh menyebabkan sedikit kelewatan masa masuk atau keluar.
  2. Tidak berlaku untuk pasaran goyah: Dalam tahap penyusunan cakera, persilangan garis rata yang kerap boleh menghasilkan isyarat palsu.
  3. Risiko Stop Loss Tetap: Penggunaan Stop Loss Peratusan Tetap mungkin tidak sesuai untuk semua keadaan pasaran.
  4. Sensitiviti parameter: Pengaturan kitaran purata yang berbeza boleh menghasilkan hasil yang berbeza.

Arah pengoptimuman strategi

  1. Memperkenalkan analisis jumlah trafik: boleh menambah petunjuk pengesahan jumlah trafik, meningkatkan kebolehpercayaan isyarat.
  2. Tetapan hentian dinamik: pertimbangkan menggunakan ATR atau indikator kadar turun naik untuk menyesuaikan kedudukan hentian secara dinamik.
  3. Menambah penapis kekuatan trend: Indikator kekuatan trend seperti ADX boleh diperkenalkan, penapis persekitaran trend lemah.
  4. Optimumkan masa kemasukan: menggabungkan bentuk harga dan tahap rintangan sokongan untuk meningkatkan ketepatan kemasukan.
  5. Tambah penapis masa: anda boleh menetapkan tetingkap masa dagangan untuk mengelakkan tempoh yang lebih turun naik.

ringkaskan

Ini adalah strategi pengesanan trend yang lengkap dan logik yang jelas. Melalui kerjasama kerjasama tiga garis rata, kedua-dua memastikan ketepatan pengenalan trend dan menyediakan isyarat perdagangan yang jelas.

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

//@version=5
strategy("Oliver Valez Triple MA Strategy", overlay=true, margin_long=100, margin_short=100)

// Inputs
ma20_length = input.int(20, "20-period MA Length", minval=1)
ma50_length = input.int(50, "50-period MA Length", minval=1)
ma200_length = input.int(200, "200-period MA Length", minval=1)
use_ema = input.bool(false, "Use EMA Instead of SMA")
sl_percent = input.float(2.0, "Stop Loss %", minval=0.0)
tp_percent = input.float(4.0, "Take Profit %", minval=0.0)

// Calculate MAs
ma20 = use_ema ? ta.ema(close, ma20_length) : ta.sma(close, ma20_length)
ma50 = use_ema ? ta.ema(close, ma50_length) : ta.sma(close, ma50_length)
ma200 = use_ema ? ta.ema(close, ma200_length) : ta.sma(close, ma200_length)

// Plot MAs
plot(ma20, "MA 20", color=color.new(color.blue, 0), linewidth=2)
plot(ma50, "MA 50", color=color.new(color.orange, 0), linewidth=2)
plot(ma200, "MA 200", color=color.new(color.red, 0), linewidth=2)

// Trend Filter
bullish_trend = close > ma200
bearish_trend = close < ma200

// Entry Conditions
long_condition = ta.crossover(ma20, ma50) and bullish_trend
short_condition = ta.crossunder(ma20, ma50) and bearish_trend

// Exit Conditions
exit_long = ta.crossunder(ma20, ma50)
exit_short = ta.crossover(ma20, ma50)

// Risk Management
stop_loss = strategy.position_avg_price * (1 - sl_percent/100)
take_profit = strategy.position_avg_price * (1 + tp_percent/100)

// Execute Trades
if (long_condition)
    strategy.entry("Long", strategy.long)
    strategy.exit("XL", "Long", stop=stop_loss, limit=take_profit)

if (short_condition)
    strategy.entry("Short", strategy.short)
    strategy.exit("XS", "Short", stop=stop_loss, limit=take_profit)

// Close trades on opposite signals
if (exit_long)
    strategy.close("Long")

if (exit_short)
    strategy.close("Short")

// Plot Signals
plotshape(long_condition, "Buy", shape.labelup, location.belowbar, color=color.green, text="BUY", textcolor=color.white)
plotshape(short_condition, "Sell", shape.labeldown, location.abovebar, color=color.red, text="SELL", textcolor=color.white)

// Background Color for Trend
bgcolor(bullish_trend ? color.new(color.green, 90) : bearish_trend ? color.new(color.red, 90) : na)