Crossover purata bergerak berbilang digabungkan dengan pengayun dan sokongan dan strategi dagangan dinamik rintangan

EMA ATR
Tarikh penciptaan: 2024-12-27 14:45:40 Akhirnya diubah suai: 2024-12-27 14:45:40
Salin: 3 Bilangan klik: 404
1
fokus pada
1617
Pengikut

Crossover purata bergerak berbilang digabungkan dengan pengayun dan sokongan dan strategi dagangan dinamik rintangan

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan komprehensif yang menggabungkan pelbagai indeks moving averages (EMA) yang bersilang, amplitudo pergerakan sebenar (ATR) dan rintangan sokongan titik-titik pusat (Pivot Points). Strategi ini menggunakan isyarat persilangan EMA jangka pendek dengan EMA jangka menengah dan jangka panjang, yang menggabungkan rantau ATR dan tahap harga utama untuk menangkap titik perubahan trend pasaran, untuk mendapatkan peluang perdagangan yang tepat.

Prinsip Strategi

Strategi ini berdasarkan kepada analisis teknikal dalam tiga dimensi:

  1. Pengiktirafan trend: menggunakan EMA tiga tahap 4, 9 dan 18, untuk mengesahkan arah trend melalui penyeberangan arah EMA pendek (tahap 4) ke EMA pertengahan (tahap 9) dan EMA panjang (tahap 18).
  2. Julat turun naik: pengenalan penunjuk ATR 14 hari untuk mengukur turun naik pasaran dan menetapkan had perdagangan yang dinamik.
  3. Rintangan Sokongan Harga: Melalui sistem pengiraan titik-titik pusat harian (PPSignal), 7 tahap harga kritikal (PP, R1-R3, S1-S3) ditubuhkan, memberikan rujukan untuk perdagangan.

Peraturan transaksi adalah jelas:

  • Buat banyak syarat: EMA4 ke atas melalui EMA9 dan EMA18, dan harga penutupan menembusi jarak ATR di atas EMA9
  • Keadaan kosong: EMA4 ke bawah melalui EMA9 dan EMA18, dan harga penutupan memecahkan jarak ATR di bawah EMA9
  • Tetapan Stop Loss: Dinamika mengesan tahap EMA4

Kelebihan Strategik

  1. Analisis pelbagai dimensi: menggabungkan tiga dimensi trend, turun naik dan struktur harga untuk meningkatkan kebolehpercayaan isyarat
  2. Dinamika adaptasi: Strategi dapat menyesuaikan diri dengan keadaan pasaran yang berbeza melalui ATR dan kedudukan rintangan sokongan dinamik
  3. Pengendalian risiko yang sempurna: mekanisme hentian kerugian dinamik yang dapat mengunci keuntungan dan mengawal risiko
  4. Pengesahan isyarat yang mencukupi: memerlukan resonansi pelbagai petunjuk teknikal untuk mencetuskan perdagangan, mengurangkan risiko penembusan palsu

Risiko Strategik

  1. Risiko pasaran yang bergolak: mungkin akan menghasilkan isyarat palsu yang sering bercampur dalam fasa penyusunan di sebelah kiri
  2. Risiko ketinggalan: Purata bergerak itu sendiri mempunyai ketinggalan, dan anda mungkin terlepas masa kemasukan terbaik.
  3. Risiko Gap: Terbang di siang hari boleh menyebabkan titik hentian tidak berfungsi
  4. Sensitiviti parameter: kombinasi parameter yang berbeza boleh menghasilkan kesan yang berbeza

Arah pengoptimuman strategi

  1. Pengenalan penunjuk lalu lintas: tambah pengesahan lalu lintas semasa pengesahan isyarat silang
  2. Pengoptimuman parameter dinamik: menyesuaikan parameter kitaran EMA mengikut turun naik pasaran
  3. Peningkatan mekanisme penangguhan kerugian: boleh dipertimbangkan dengan penyesuaian penangguhan terapung ATR
  4. Penapisan keadaan pasaran: penambahan penunjuk kekuatan trend untuk membuka dagangan semasa trend kuat
  5. Penapisan masa: ciri-ciri untuk tempoh masa yang berbeza, menetapkan masa perdagangan yang optimum

ringkaskan

Strategi ini membina sistem perdagangan yang lebih lengkap melalui kerjasama kolaboratif pelbagai petunjuk teknikal. Kelebihan utama strategi ini adalah mekanisme pengesahan isyarat pelbagai dimensi dan sistem kawalan risiko yang baik, tetapi masih memerlukan peniaga untuk mengoptimumkan parameter dan memperbaiki sistem mengikut keadaan pasaran tertentu. Dengan arah pengoptimuman yang dicadangkan, kestabilan dan kebolehpercayaan strategi dijangka akan ditingkatkan lagi.

Kod sumber strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover + ATR + PPSignal", overlay=true)

//--------------------------------------------------------------------
// 1. Cálculo de EMAs y ATR
//--------------------------------------------------------------------
ema4      = ta.ema(close, 4)
ema9      = ta.ema(close, 9)
ema18     = ta.ema(close, 18)
atrLength = 14
atr       = ta.atr(atrLength)

//--------------------------------------------------------------------
// 2. Cálculo de Pivot Points diarios (PPSignal)
//    Tomamos datos del día anterior (timeframe D) para calcularlos
//--------------------------------------------------------------------
dayHigh  = request.security(syminfo.tickerid, "D", high[1])
dayLow   = request.security(syminfo.tickerid, "D", low[1])
dayClose = request.security(syminfo.tickerid, "D", close[1])

// Fórmula Pivot Points estándar
pp = (dayHigh + dayLow + dayClose) / 3.0
r1 = 2.0 * pp - dayLow
s1 = 2.0 * pp - dayHigh
r2 = pp + (r1 - s1)
s2 = pp - (r1 - s1)
r3 = dayHigh + 2.0 * (pp - dayLow)
s3 = dayLow - 2.0 * (dayHigh - pp)

//--------------------------------------------------------------------
// 3. Definir colores para las EMAs
//--------------------------------------------------------------------
col4  = color.green   // EMA 4
col9  = color.yellow  // EMA 9
col18 = color.red     // EMA 18

//--------------------------------------------------------------------
// 4. Dibujar indicadores en el gráfico
//--------------------------------------------------------------------

// EMAs
plot(ema4,  title="EMA 4",  color=col4,  linewidth=2)
plot(ema9,  title="EMA 9",  color=col9,  linewidth=2)
plot(ema18, title="EMA 18", color=col18, linewidth=2)

// ATR
plot(atr, title="ATR", color=color.blue, linewidth=2)

// Pivot Points (PPSignal)
plot(pp, title="Pivot (PP)", color=color.new(color.white, 0),  style=plot.style_line, linewidth=1)
plot(r1, title="R1",        color=color.new(color.red,   0),  style=plot.style_line, linewidth=1)
plot(r2, title="R2",        color=color.new(color.red,   0),  style=plot.style_line, linewidth=1)
plot(r3, title="R3",        color=color.new(color.red,   0),  style=plot.style_line, linewidth=1)
plot(s1, title="S1",        color=color.new(color.green, 0),  style=plot.style_line, linewidth=1)
plot(s2, title="S2",        color=color.new(color.green, 0),  style=plot.style_line, linewidth=1)
plot(s3, title="S3",        color=color.new(color.green, 0),  style=plot.style_line, linewidth=1)

//--------------------------------------------------------------------
// 5. Condiciones de cruce (EMA4 vs EMA9 y EMA18) y estrategia
//--------------------------------------------------------------------
crossedAbove = ta.crossover(ema4, ema9) and ta.crossover(ema4, ema18)
crossedBelow = ta.crossunder(ema4, ema9) and ta.crossunder(ema4, ema18)

// Señales de Buy y Sell basadas en cruces + condición con ATR
if crossedAbove and close > ema9 + atr
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", stop=ema4)

if crossedBelow and close < ema9 - atr
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", stop=ema4)