Sumber daya yang dimuat... Pemuatan...

Sistem Perdagangan Kuantitatif Otomatis dengan Crossover EMA Dual dan Manajemen Risiko

Penulis:ChaoZhang, Tanggal: 2024-11-29 11:20:40
Tag:EMASLTPMA

img

Gambaran umum

Strategi ini adalah sistem perdagangan otomatis berdasarkan teori crossover rata-rata bergerak ganda dengan fungsi manajemen risiko terintegrasi. Strategi inti menggunakan Rata-rata Bergerak Eksponensial (EMA) periode 21 dan 50 periode sebagai indikator sinyal, secara otomatis mengeksekusi perdagangan berdasarkan titik persilangan sambil menggabungkan mekanisme Stop Loss dan Take Profit untuk pengendalian risiko.

Prinsip Strategi

Logika inti didasarkan pada teori crossover rata-rata bergerak klasik dalam analisis teknis. Sistem menghasilkan sinyal bullish dan memasuki posisi panjang ketika EMA jangka pendek (21-periode) melintasi EMA jangka panjang (50-periode), dan sebaliknya, menghasilkan sinyal bearish dan memasuki posisi pendek ketika EMA jangka pendek melintasi EMA jangka panjang. Setiap sinyal perdagangan secara otomatis menetapkan stop loss dan take profit level, dengan pengaturan default 40 ticks untuk stop loss dan 80 ticks untuk take profit. Desain ini memastikan rasio risiko-manfaat 1:2, mematuhi prinsip manajemen perdagangan profesional.

Keuntungan Strategi

  1. Otomasi tinggi: Sistem beroperasi secara otomatis, dari deteksi sinyal hingga pelaksanaan perdagangan dan manajemen risiko
  2. Manajemen Risiko yang Komprehensif: Setiap perdagangan memiliki stop loss yang jelas dan mengambil tingkat keuntungan untuk pengendalian risiko yang efektif
  3. Parameter yang dapat disesuaikan: Stop loss dan level take profit dapat disesuaikan secara fleksibel untuk kondisi pasar yang berbeda
  4. Clear Visual Feedback: Sistem menandai sinyal beli/jual dengan panah dan menampilkan stop loss/take profit level dengan garis berbintik-bintik
  5. Logika Strategi Sederhana: Menggunakan indikator teknis klasik, mudah dimengerti dan dipertahankan

Risiko Strategi

  1. Risiko pasar berbelit-belit: Dapat menghasilkan sinyal palsu yang sering terjadi di pasar yang terikat rentang
  2. Risiko slippage: Harga eksekusi sebenarnya dapat menyimpang dari harga sinyal selama volatilitas tinggi
  3. Risiko Pembalikan Tren: Tingkat stop loss tetap mungkin tidak memadai selama pembalikan pasar tiba-tiba
  4. Risiko Optimasi Parameter: Over-optimasi dapat menyebabkan overfit, mempengaruhi kinerja dunia nyata

Arah Optimasi Strategi

  1. Tambahkan Filter Tren: Masukkan indikator identifikasi tren tambahan seperti ADX atau indeks kekuatan tren untuk menyaring sinyal palsu
  2. Mekanisme Stop Loss Dinamis: Mengatur secara otomatis stop loss dan mengambil tingkat keuntungan berdasarkan volatilitas pasar
  3. Tambahkan Filter Waktu: Hindari perdagangan selama periode volatilitas tinggi seperti rilis berita utama
  4. Menerapkan Ukuran Posisi: Sesuaikan ukuran posisi secara otomatis berdasarkan volatilitas pasar dan risiko akun
  5. Meningkatkan Konfirmasi Sinyal: Tambahkan volume dan indikator tambahan lainnya untuk meningkatkan keandalan sinyal

Ringkasan

Ini adalah strategi perdagangan otomatis yang dirancang dengan baik dengan logika yang jelas. Dengan menggabungkan sinyal crossover rata-rata bergerak dengan manajemen risiko yang ketat, strategi ini menyediakan kerangka teknis yang dapat diandalkan untuk menangkap tren pasar sambil memastikan keamanan perdagangan. Meskipun ada ruang untuk optimasi, dasar strategi ini lengkap dan cocok sebagai modul dasar untuk pengembangan dan penyempurnaan lebih lanjut dalam sistem perdagangan kuantitatif.


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

//@version=5
strategy("EMA Crossover Strategy with SL & TP", overlay=true, default_qty_type=strategy.percent_of_equity)

// Input settings for SL and TP (ticks)
slTicks = input.int(40, title="Stop Loss (ticks)", minval=1)
tpTicks = input.int(80, title="Take Profit (ticks)", minval=1)

// Define EMA periods
ema21 = ta.ema(close, 21)
ema50 = ta.ema(close, 50)

// Detect crossovers
bullishCross = ta.crossover(ema21, ema50)
bearishCross = ta.crossunder(ema21, ema50)

// Plot the EMAs
plot(ema21, color=color.green, linewidth=2, title="EMA 21")
plot(ema50, color=color.red, linewidth=2, title="EMA 50")

// Calculate tick size in points
var float tickSize = syminfo.mintick

// Calculate stop loss and take profit prices for long and short positions
longSL = close - slTicks * tickSize
longTP = close + tpTicks * tickSize

shortSL = close + slTicks * tickSize
shortTP = close - tpTicks * tickSize

// Execute trades on crossover signals
if (bullishCross)
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", "Long", stop=longSL, limit=longTP)

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

// Plot arrows on crossovers
plotshape(series=bullishCross, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.small)
plotshape(series=bearishCross, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.small)

// Optional: Background coloring
bgcolor(bullishCross ? color.new(color.green, 90) : na, title="Bullish Background")
bgcolor(bearishCross ? color.new(color.red, 90) : na, title="Bearish Background")


Berkaitan

Lebih banyak