Strategi dagangan kuantitatif jangka pendek berdasarkan crossover purata bergerak berganda, RSI dan penunjuk stokastik

SMA RSI ATR
Tarikh penciptaan: 2024-06-17 15:35:40 Akhirnya diubah suai: 2024-06-17 15:35:40
Salin: 1 Bilangan klik: 617
1
fokus pada
1617
Pengikut

Strategi dagangan kuantitatif jangka pendek berdasarkan crossover purata bergerak berganda, RSI dan penunjuk stokastik

Gambaran keseluruhan

Strategi ini menggabungkan dua persilangan linear, RSI dan penunjuk rawak, mencari peluang perdagangan yang tinggi dalam perdagangan garis pendek melalui pengesahan bersama beberapa petunjuk teknikal. Strategi ini menggunakan persilangan dua rata-rata bergerak pada hari ke-20 dan ke-50 sebagai isyarat perdagangan utama, sambil menggabungkan RSI dan penunjuk rawak sebagai penilaian tambahan, untuk melakukan pengesahan kedua pada isyarat perdagangan.

Prinsip Strategi

  1. Dua purata bergerak pada hari ke-20 dan ke-50 dikira, menghasilkan isyarat melakukan banyak apabila rata-rata jangka pendek melintasi rata-rata jangka panjang; sebaliknya, menghasilkan isyarat melakukan kosong.
  2. Memperkenalkan RSI sebagai penilaian tambahan, hanya pertimbangkan untuk meletakkan kedudukan apabila RSI tidak mencapai jarak overbought atau oversold.
  3. Memperkenalkan penunjuk rawak sebagai penilaian tambahan, apabila garis penunjuk rawak K tidak mencapai ruang overbought atau oversold, pertimbangan untuk meletakkan kedudukan.
  4. Menggunakan ATR untuk mengira kedudukan hentian dan hentian, dengan perbandingan keuntungan dan risiko 1: 2 untuk menetapkan harga hentian dan hentian.
  5. Apabila melakukan lebih banyak, kedudukan hentian adalah harga minimum tolak ATR, kedudukan hentian adalah harga tertinggi ditambah 2 kali ATR; apabila kosong, kedudukan hentian adalah harga tertinggi ditambah ATR, kedudukan hentian adalah harga minimum tolak 2 kali ATR.

Kelebihan Strategik

  1. Binary Equilibrium Crossover adalah indikator trend yang mudah digunakan, yang digabungkan dengan RSI dan penunjuk rawak yang berkesan untuk menyaring isyarat palsu.
  2. RSI dan penunjuk rawak dapat membantu menentukan sama ada pasaran berada dalam keadaan overbought atau oversold, dan mengelakkan masuk dalam keadaan yang melampau.
  3. Kaedah pengurusan kedudukan dengan nisbah risiko dan ganjaran tetap, boleh memperoleh keuntungan yang agak stabil dengan mengontrol risiko keseluruhan.
  4. Parameter boleh disesuaikan untuk persekitaran pasaran dan gaya perdagangan yang berbeza.

Risiko Strategik

  1. Strategi trend-based mudah menghasilkan lebih banyak isyarat palsu di pasaran yang bergolak, menyebabkan perdagangan yang kerap dan kehilangan dana.
  2. Penutupan peratusan tetap boleh menyebabkan kerugian tunggal yang terlalu besar dan melemahkan kurva dana.
  3. Kurangnya pertimbangan dalam pengurusan kedudukan dan pengurusan dana membuat ia sukar untuk menangani situasi yang melampau.

Arah pengoptimuman strategi

  1. Memperkenalkan lebih banyak penunjuk teknikal yang berkesan untuk meningkatkan ketepatan dan kebolehpercayaan isyarat.
  2. Mengoptimumkan kaedah penyetempatan stop loss dengan cara yang lebih dinamik dan bijak untuk meningkatkan tahap keuntungan strategi.
  3. Dalam pengurusan kedudukan, anda boleh menggabungkan indikator kadar turun naik seperti ATR untuk menyesuaikan kedudukan secara dinamik.
  4. Dalam pengurusan wang, memperkenalkan bajet risiko, formula Kelly dan kaedah lain untuk meningkatkan kecekapan penggunaan wang.

ringkaskan

Strategi ini adalah strategi perdagangan jangka pendek yang berdasarkan pada dua rata-rata, RSI dan indikator rawak, dengan pengesahan bersama beberapa petunjuk teknikal, mengawal risiko perdagangan sambil menangkap peluang yang sedang berkembang. Logik strategi jelas, parameter mudah dioptimumkan, sesuai untuk digunakan oleh pelabur yang melakukan perdagangan jangka pendek.

Kod sumber strategi
/*backtest
start: 2024-05-17 00:00:00
end: 2024-06-16 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Cruce de Medias con Filtros de RSI y Estocástico", overlay=true)

// Definir parámetros de las medias móviles
fast_length = input(20, title="Periodo de Media Rápida")
slow_length = input(50, title="Periodo de Media Lenta")

// Calcular medias móviles
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)

// Añadir filtro RSI
rsi_length = input(7, title="Periodo del RSI")
rsi = ta.rsi(close, rsi_length)
rsi_overbought = input(70, title="RSI Sobrecomprado")
rsi_oversold = input(30, title="RSI Sobrevendido")

// Añadir filtro Estocástico
k_period = input(7, title="K Periodo del Estocástico")
d_period = input(3, title="D Periodo del Estocástico")
smooth_k = input(3, title="Suavización del Estocástico")
stoch_k = ta.sma(ta.stoch(close, high, low, k_period), smooth_k)
stoch_d = ta.sma(stoch_k, d_period)
stoch_overbought = input(80, title="Estocástico Sobrecomprado")
stoch_oversold = input(20, title="Estocástico Sobrevendido")

// Definir niveles de stop-loss y take-profit con ratio 2:1
risk = input(1, title="Riesgo en ATR")
reward_ratio = input(2, title="Ratio Riesgo/Beneficio")
atr_length = input(14, title="Periodo del ATR")
atr = ta.atr(atr_length)
stop_loss = risk * atr
take_profit = reward_ratio * stop_loss

// Señal de compra
long_condition = ta.crossover(fast_ma, slow_ma) and rsi < rsi_overbought and stoch_k < stoch_overbought
if (long_condition)
    strategy.entry("Compra", strategy.long)

// Señal de venta
short_condition = ta.crossunder(fast_ma, slow_ma) and rsi > rsi_oversold and stoch_k > stoch_oversold
if (short_condition)
    strategy.entry("Venta", strategy.short)

// Configurar Stop-Loss y Take-Profit para posiciones largas
if (strategy.position_size > 0)
    strategy.exit("Take Profit/Stop Loss", from_entry="Compra", stop=low - stop_loss, limit=high + take_profit)

// Configurar Stop-Loss y Take-Profit para posiciones cortas
if (strategy.position_size < 0)
    strategy.exit("Take Profit/Stop Loss", from_entry="Venta", stop=high + stop_loss, limit=low - take_profit)

// Plotear las medias móviles en el gráfico
plot(fast_ma, title="Media Rápida (50)", color=color.blue)
plot(slow_ma, title="Media Lenta (200)", color=color.red)

// Plotear RSI y Estocástico en subgráficos
hline(rsi_overbought, "RSI Sobrecomprado", color=color.red)
hline(rsi_oversold, "RSI Sobrevendido", color=color.green)
plot(rsi, title="RSI", color=color.orange, linewidth=2)
hline(stoch_overbought, "Estocástico Sobrecomprado", color=color.red)
hline(stoch_oversold, "Estocástico Sobrevendido", color=color.green)
plot(stoch_k, title="Estocástico K", color=color.purple, linewidth=2)
plot(stoch_d, title="Estocástico D", color=color.purple, linewidth=1, style=plot.style_stepline)