Sistem perdagangan pengesanan aliran berbilang tempoh berdasarkan jalur turun naik purata bergerak EMA

EMA stdev ATR SMA MACD RSI
Tarikh penciptaan: 2024-11-29 10:49:30 Akhirnya diubah suai: 2024-11-29 10:49:30
Salin: 1 Bilangan klik: 424
1
fokus pada
1617
Pengikut

Sistem perdagangan pengesanan aliran berbilang tempoh berdasarkan jalur turun naik purata bergerak EMA

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan ribut yang dibangunkan berdasarkan purata bergerak indeks 300-siklus ((EMA)). Dengan menggabungkan EMA dan perbezaan piawai, ia membentuk kawasan pergerakan dinamik yang serupa dengan Brin’s ribut untuk menangkap peluang overbought dan oversold di pasaran. Strategi ini menghasilkan isyarat perdagangan terutamanya melalui persilangan harga dengan ribut yang bergelombang, dan menetapkan syarat berhenti berdasarkan peratusan.

Prinsip Strategi

Inti strategi ini adalah untuk menubuhkan pusat harga melalui EMA 300 kitaran, dan kemudian menggunakan perbezaan piawai untuk membina band turun naik. Apabila harga menembusi terbalik, ia dianggap sebagai tanda jual beli dan apabila ia menembusi terbalik, ia dianggap sebagai tanda beli beli.

  1. Menggunakan EMA 300 untuk membina garis panduan trend jangka panjang
  2. Hitung perbezaan piawai harga 300 kitaran dan binaan band dengan perbezaan piawai 2 kali ganda
  3. Lebih banyak kedudukan dibuka apabila harga melepasi tren bawah, kedudukan berhenti naik 0.98% untuk harga pembukaan
  4. Harga menembusi rantaian, kedudukan dibuka kosong, dan kedudukan ditutup untuk harga bukaan turun 0.98%
  5. Menampilkan isyarat perdagangan secara langsung melalui antara muka grafik, dan dilengkapi dengan fungsi amaran masa nyata

Kelebihan Strategik

  1. Sistem menggunakan EMA jangka panjang untuk menyaring bunyi pasaran jangka pendek
  2. Julat pergerakan dinamik dapat menyesuaikan diri dengan perubahan kadar turun naik pasaran
  3. Peraturan perdagangan yang jelas untuk mengelakkan gangguan penilaian subjektif
  4. Mempunyai mekanisme pencegahan yang baik untuk mengawal risiko
  5. Antara muka grafik yang mudah untuk melihat keadaan pasaran
  6. Fungsi amaran dalam masa nyata membantu untuk merebut peluang dagangan tepat pada masanya

Risiko Strategik

  1. Garis purata kitaran panjang terbelakang, mungkin terlepas pergerakan pantas
  2. Mungkin terdapat kemungkinan terobosan palsu yang kerap berlaku dalam pasaran yang bergolak.
  3. Peratusan Tetap Penangguhan Mungkin Berlepas Terdahulu dan Melewatkan Perlawanan Besar
  4. Tidak mempunyai mekanisme penangguhan kerugian, risiko lebih tinggi jika trend berbalik Langkah-langkah berikut disyorkan untuk menguruskan risiko:
  • Kaedah penilaian tambahan dengan penunjuk kitaran pendek
  • Penapis pengesahan trend ditambah
  • Peratusan penghentian penyesuaian dinamik
  • Mekanisme penangguhan kerugian tambahan

Arah pengoptimuman strategi

  1. Memperkenalkan penunjuk pengesahan trend, seperti MACD, RSI dan lain-lain, menapis isyarat pecah palsu
  2. Menggunakan ATR untuk menyesuaikan kedudukan stop loss secara dinamik
  3. Tambah fungsi henti rugi mudah alih untuk mengunci keuntungan dengan lebih baik
  4. Optimumkan parameter panjang untuk mencari kombinasi kitaran yang optimum
  5. Pertimbangan untuk menambah penunjuk jumlah trafik untuk meningkatkan kebolehpercayaan isyarat
  6. Membangunkan mekanisme parameter penyesuaian untuk meningkatkan penyesuaian strategi

ringkaskan

Strategi ini menangkap peluang overbought dan oversold di pasaran melalui EMA band, peraturan perdagangan jelas, operasi mudah. Tetapi dalam aplikasi praktikal, perlu berhati-hati untuk mengawal risiko, disarankan untuk meningkatkan kestabilan strategi dengan menambah petunjuk tambahan, menetapkan parameter pengoptimuman dan sebagainya. Strategi ini secara keseluruhan direka dengan munasabah, mempunyai nilai praktikal yang lebih baik dan ruang pengoptimuman.

Kod sumber strategi
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia de Compra/Venta en Bandas de EMA 300", overlay=true)

// Definir el período de la EMA
periodo = input.int(300, title="Período de la EMA")

// Calcular la EMA de 300
ema_300 = ta.ema(close, periodo)

// Definir el número de desviaciones estándar
num_desviaciones = input.float(2, title="Número de Desviaciones Estándar")

// Calcular la desviación estándar de la EMA de 300
desviacion = ta.stdev(close, periodo)

// Calcular los límites superior e inferior de las bandas
banda_superior = ema_300 + desviacion * num_desviaciones
banda_inferior = ema_300 - desviacion * num_desviaciones

// Definir el porcentaje para las señales de compra y venta
porcentaje = input.float(0.98, title="Porcentaje de Salida de Banda")

// Definir señales de compra y venta
compra = ta.crossover(close, banda_inferior)
venta = ta.crossunder(close, banda_superior)

// Calcular el precio de salida para las señales de compra y venta
precio_salida_compra = close * (1 + porcentaje / 100)
precio_salida_venta = close * (1 - porcentaje / 100)

// Plotear las bandas
plot(banda_superior, color=color.blue, linewidth=2, title="Banda Superior")
plot(banda_inferior, color=color.red, linewidth=2, title="Banda Inferior")

// Plotear las señales de compra y venta
plotshape(compra, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Compra")
plotshape(venta, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Venta")

// Simular operaciones
if (compra)
    strategy.entry("Compra", strategy.long)
if (venta)
    strategy.entry("Venta", strategy.short)

// Definir reglas de salida
if (strategy.position_size > 0)
    strategy.exit("Exit Long", from_entry="Compra", limit=precio_salida_compra)
if (strategy.position_size < 0)
    strategy.exit("Exit Short", from_entry="Venta", limit=precio_salida_venta)

// Crear alertas
alertcondition(compra, title="Alerta de Compra", message="¡Señal de Compra Detectada!")
alertcondition(venta, title="Alerta de Venta", message="¡Señal de Venta Detectada!")

// Mostrar alertas en el gráfico
if (compra)
    label.new(bar_index, low, text="Compra", style=label.style_label_up, color=color.green, textcolor=color.white)
if (venta)
    label.new(bar_index, high, text="Venta", style=label.style_label_down, color=color.red, textcolor=color.white)