Sumber dimuat naik... memuat...

Strategi Dagangan Kuantitatif Jangka Pendek Berdasarkan Crossover Purata Bergerak Berganda, RSI, dan Penunjuk Stochastic

Penulis:ChaoZhang, Tarikh: 2024-06-17 15:35:40
Tag:SMARSIATR

img

Ringkasan

Strategi ini menggabungkan crossover purata bergerak berganda, RSI, dan penunjuk stokastik untuk mencari peluang perdagangan berkemungkinan tinggi dalam perdagangan jangka pendek melalui pengesahan bersama beberapa penunjuk teknikal. Strategi ini menggunakan crossover purata bergerak 20 hari dan 50 hari sebagai isyarat perdagangan utama, dan menggabungkan RSI dan penunjuk stokastik sebagai penilaian tambahan untuk memeriksa isyarat perdagangan. Di samping itu, strategi ini juga menggunakan ATR sebagai asas untuk berhenti-kerugian dan mengambil keuntungan, menguruskan kedudukan dengan nisbah risiko-balasan tetap, berusaha untuk mendapatkan pulangan yang stabil sambil mengawal risiko.

Prinsip Strategi

  1. Hitung purata bergerak 20 hari dan 50 hari. Apabila purata jangka pendek melintasi di atas purata jangka panjang, ia menghasilkan isyarat panjang; sebaliknya, ia menghasilkan isyarat pendek.
  2. Memperkenalkan penunjuk RSI sebagai penilaian tambahan, hanya mempertimbangkan untuk menubuhkan kedudukan apabila penunjuk RSI tidak mencapai julat overbought atau oversold.
  3. Memperkenalkan penunjuk stokastik sebagai pertimbangan tambahan, hanya mempertimbangkan untuk menubuhkan kedudukan apabila garis K penunjuk stokastik tidak mencapai julat overbought atau oversold.
  4. Menggunakan ATR untuk mengira paras stop-loss dan take-profit, menetapkan harga stop-loss dan take-profit mengikut nisbah risiko-balasan 1: 2.
  5. Apabila pergi panjang, tahap stop-loss adalah harga terendah dikurangkan ATR, dan tahap mengambil keuntungan adalah harga tertinggi ditambah 2 kali ATR; apabila pergi pendek, tahap stop-loss adalah harga tertinggi ditambah ATR, dan tahap mengambil keuntungan adalah harga terendah dikurangkan 2 kali ATR.

Kelebihan Strategi

  1. Perpindahan purata bergerak berganda adalah penunjuk penilaian trend yang mudah dan mudah digunakan, dan gabungan dengan RSI dan penunjuk stokastik dapat menapis isyarat palsu dengan berkesan.
  2. RSI dan penunjuk stokastik dapat membantu menentukan sama ada pasaran berada dalam keadaan terlalu banyak beli atau terlalu banyak jual, mengelakkan masuk ke kedudukan dalam keadaan pasaran yang melampau.
  3. Kaedah pengurusan kedudukan dengan nisbah risiko-balasan tetap boleh memperoleh pulangan yang agak stabil di bawah premis mengawal risiko keseluruhan.
  4. Parameter boleh diselaraskan dan sesuai untuk persekitaran pasaran dan gaya perdagangan yang berbeza.

Risiko Strategi

  1. Strategi mengikut trend cenderung menghasilkan lebih banyak isyarat palsu di pasaran yang tidak menentu, yang membawa kepada perdagangan dan kerugian modal yang kerap.
  2. Stop-loss nisbah tetap boleh membawa kepada kerugian tunggal yang berlebihan, melemahkan lengkung ekuiti.
  3. Kekurangan pertimbangan dalam pengurusan kedudukan dan pengurusan modal menjadikannya sukar untuk mengatasi keadaan pasaran yang melampau.

Arahan Pengoptimuman Strategi

  1. Memperkenalkan penunjuk teknikal yang lebih berkesan untuk meningkatkan ketepatan dan kebolehpercayaan isyarat.
  2. Mengoptimumkan kaedah penetapan stop-loss dan mengambil keuntungan, mengamalkan kaedah yang lebih dinamik dan pintar untuk meningkatkan keuntungan strategi.
  3. Dari segi pengurusan kedudukan, penyesuaian dinamik kepada kedudukan boleh dibuat bersama dengan penunjuk turun naik seperti ATR.
  4. Dari segi pengurusan modal, kaedah seperti belanjawan risiko dan formula Kelly boleh diperkenalkan untuk meningkatkan kecekapan penggunaan modal.

Ringkasan

Strategi ini adalah strategi perdagangan jangka pendek berdasarkan purata bergerak berganda, RSI, dan penunjuk stokastik. Ia mengawal risiko perdagangan sambil merebut peluang trend melalui pengesahan bersama beberapa penunjuk teknikal. Logik strategi jelas, parameter mudah dioptimumkan, dan ia sesuai untuk pelabur yang terlibat dalam perdagangan jangka pendek. Walau bagaimanapun, strategi ini juga mempunyai beberapa kelemahan, seperti keupayaan menangkap trend yang terhad dan kekurangan pengurusan dinamik kedudukan dan modal. Masalah ini dapat diperbaiki dengan memperkenalkan lebih banyak penunjuk teknikal, mengoptimumkan isyarat dan pengurusan kedudukan, dan lain-lain, untuk meningkatkan lagi prestasi 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)


Berkaitan

Lebih lanjut