Strategi perdagangan berdasarkan momentum purata bergerak berganda digabungkan dengan harga purata wajaran volum dan sistem pengesahan indeks kekuatan relatif

EMA RSI VWAP ATR SL TP RR
Tarikh penciptaan: 2025-02-21 11:50:06 Akhirnya diubah suai: 2025-02-21 11:50:06
Salin: 0 Bilangan klik: 379
2
fokus pada
319
Pengikut

Strategi perdagangan berdasarkan momentum purata bergerak berganda digabungkan dengan harga purata wajaran volum dan sistem pengesahan indeks kekuatan relatif Strategi perdagangan berdasarkan momentum purata bergerak berganda digabungkan dengan harga purata wajaran volum dan sistem pengesahan indeks kekuatan relatif

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan yang komprehensif, menggabungkan beberapa petunjuk teknikal untuk mengesahkan isyarat perdagangan. Logik teras adalah berdasarkan persilangan indeks bergerak cepat dan lambat (EMA) dan pengesahan isyarat dilakukan melalui harga purata bertimbangan berat (VWAP) dan indikator yang agak lemah (RSI). Pada masa yang sama, sistem menggunakan skim hentian dinamik berdasarkan gelombang sebenar (ATR) untuk memastikan sains dan fleksibiliti pengurusan risiko.

Prinsip Strategi

Prinsip utama strategi ini adalah untuk memastikan arah perdagangan melalui kerjasama berserta pelbagai petunjuk teknikal. Ini termasuk:

  1. Menggunakan EMA 9 dan 21 kitaran untuk menangkap perubahan pergerakan harga
  2. Mengukuhkan keutamaan pasaran dengan menilai kedudukan harga semasa berbanding harga purata transaksi pada hari itu melalui VWAP
  3. Menggunakan RSI untuk menilai keadaan pasaran overbought dan oversold, dan sebagai penunjuk tambahan untuk pengesahan trend
  4. Berdasarkan ATR, kedudukan hentian dinamik, menggunakan 1.5 kali ATR sebagai jarak hentian
  5. Menggunakan 2: 1 risiko berbanding keuntungan untuk menetapkan kedudukan berhenti

Kelebihan Strategik

  1. Sistem penunjuk lengkap, mengurangkan isyarat palsu melalui pengesahan berganda
  2. Skim Hentian Kerosakan Dinamis menyesuaikan diri dengan turun naik pasaran untuk mengelakkan daripada terganggu oleh turun naik biasa
  3. Rasio risiko-keuntungan tetap yang menguntungkan perdagangan yang stabil dalam jangka panjang
  4. Gabungan dengan VWAP yang biasa digunakan oleh peniaga institusi, untuk lebih memahami tingkah laku dana besar
  5. Tingkat automasi sistem yang tinggi, mengurangkan gangguan emosi manusia

Risiko Strategik

  1. Pasaran yang bergolak mungkin menghasilkan isyarat palsu yang kerap
  2. Pengesahan pelbagai indikator mungkin menyebabkan kehilangan sebahagian peluang perdagangan
  3. Kadar ganjaran risiko tetap mungkin tidak fleksibel dalam keadaan pasaran tertentu
  4. Indeks teknologi bergantung kepada berita besar yang mungkin tidak akan berkesan
  5. Kesan kos urus niaga ke atas pulangan strategi perlu dipertimbangkan

Arah pengoptimuman strategi

  1. Pengenalan penunjuk kadar turun naik pasaran, menyesuaikan parameter dalam persekitaran turun naik yang berbeza
  2. Menambah kebolehpercayaan isyarat dengan analisis jumlah transaksi
  3. Membangunkan sistem balasan risiko yang bersesuaian
  4. Memperkenalkan analisis struktur pasaran, mengoptimumkan pilihan masa perdagangan
  5. Pertimbangkan untuk menambah penapis asas untuk meningkatkan ketahanan terhadap risiko

ringkaskan

Strategi ini membina sistem perdagangan yang agak lengkap melalui gabungan organik pelbagai petunjuk teknikal. Ia memberi perhatian bukan sahaja kepada ketepatan isyarat, tetapi juga menekankan pentingnya pengurusan risiko. Walaupun terdapat beberapa batasan, strategi ini dijangka mengekalkan prestasi yang stabil dalam pelbagai keadaan pasaran melalui pengoptimuman dan penambahbaikan yang berterusan.

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

//@version=5
strategy("BTC Day Trading Strategy with Alerts", overlay=true)

// Input parameters
emaShortLength = input(9, title="Short EMA Length")
emaLongLength  = input(21, title="Long EMA Length")
rsiLength      = input(14, title="RSI Length")
rsiOverbought  = input(70, title="RSI Overbought Level")
rsiOversold    = input(30, title="RSI Oversold Level")
atrMultiplier  = input(1.5, title="ATR Multiplier for SL")
riskRewardRatio = input(2, title="Risk-Reward Ratio") // Defines TP as 2x SL

// Calculate indicators
emaShort = ta.ema(close, emaShortLength)
emaLong  = ta.ema(close, emaLongLength)
rsi      = ta.rsi(close, rsiLength)
vwap     = ta.vwap(close)  // Fixed: Added "close" as the source
atr      = ta.atr(14)

// Define conditions for entry
longCondition  = ta.crossover(emaShort, emaLong) and close > vwap and rsi > 50
shortCondition = ta.crossunder(emaShort, emaLong) and close < vwap and rsi < 50

// ATR-based Stop Loss & Take Profit
longSL  = close - (atr * atrMultiplier)
longTP  = close + ((close - longSL) * riskRewardRatio)

shortSL = close + (atr * atrMultiplier)
shortTP = close - ((shortSL - close) * riskRewardRatio)

// Execute trades
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", from_entry="Long", stop=longSL, limit=longTP)

if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", from_entry="Short", stop=shortSL, limit=shortTP)

// 🔔 Add Alert Conditions for TradingView Alerts
alertcondition(longCondition, title="BTC Buy Signal", message="🚀 Buy Signal: 9 EMA crossed above 21 EMA, Price above VWAP, RSI > 50")
alertcondition(shortCondition, title="BTC Sell Signal", message="🔻 Sell Signal: 9 EMA crossed below 21 EMA, Price below VWAP, RSI < 50")

// Plot indicators
plot(emaShort, color=color.blue, title="9 EMA", linewidth=2)  // Thicker line for better visibility
plot(emaLong, color=color.red, title="21 EMA", linewidth=2)    // Thicker line for better visibility
hline(rsiOverbought, "RSI Overbought", color=color.red, linewidth=2)  // Thicker line for RSI Overbought
hline(rsiOversold, "RSI Oversold", color=color.green, linewidth=2)    // Thicker line for RSI Oversold
plot(vwap, color=color.purple, title="VWAP", linewidth=2)            // VWAP line on price chart

// Create a separate panel for RSI for better scaling
plot(rsi, color=color.orange, title="RSI", linewidth=2, style=plot.style_line)  // Plot RSI on a separate panel