Sumber daya yang dimuat... Pemuatan...

Trend Rata-rata Bergerak Ganda Mengikuti Sistem Perdagangan dengan Strategi Optimasi Rasio Risiko-Reward

Penulis:ChaoZhang, Tanggal: 2024-11-28 17:20:13
Tag:EMARRR

img

Dalam bidang perdagangan kuantitatif, strategi trend following selalu menjadi salah satu metode trading yang paling populer.

Tinjauan Strategi

Strategi ini menggunakan rata-rata bergerak eksponensial 20 hari dan 200 hari (EMA) sebagai indikator utama, dikombinasikan dengan rasio risiko-manfaat 3: 1 untuk keputusan perdagangan. Sinyal beli dihasilkan ketika harga melanggar EMA 20 hari dan EMA 20 hari berada di atas EMA 200 hari. Setiap perdagangan memiliki tingkat stop-loss (-0,5%) dan take-profit (1,5%) yang tetap untuk memastikan risiko terkendali.

Prinsip Strategi

Logika inti mencakup beberapa elemen kunci:

  1. Menggunakan EMA 20 hari dan 200 hari untuk menilai tren pasar, dengan EMA 200 hari mewakili tren jangka panjang dan EMA 20 hari mencerminkan pergerakan jangka pendek
  2. Sinyal beli dihasilkan ketika harga menembus EMA 20 hari dan EMA 20 hari berada di atas EMA 200 hari, menunjukkan tren naik
  3. Menggunakan rasio risiko-manfaat 3: 1, dengan tingkat take profit (1,5%) tiga kali lipat dari tingkat stop loss (0,5%)
  4. Menggunakan variabel untuk melacak status perdagangan dan menghindari entri duplikat
  5. Memulihkan status perdagangan ketika harga turun di bawah EMA 20 hari, mempersiapkan perdagangan berikutnya

Keuntungan Strategi

  1. Sistem rata-rata bergerak ganda secara efektif menyaring kebisingan pasar dan meningkatkan keandalan sinyal
  2. Rasio risiko-manfaat tetap mendukung perdagangan yang menguntungkan jangka panjang
  3. Aturan masuk dan keluar yang jelas mengurangi penilaian subjektif
  4. Tingkat otomatisasi yang tinggi, mudah diterapkan dan backtest
  5. Mekanisme pengendalian risiko yang komprehensif dengan tingkat stop loss yang jelas untuk setiap perdagangan

Risiko Strategi

  1. Dapat menghasilkan sinyal palsu yang sering di berbagai pasar
  2. Tingkat stop loss dan take profit tetap mungkin tidak sesuai dengan semua kondisi pasar
  3. Biaya perdagangan yang tidak dipertimbangkan dapat mempengaruhi hasil yang sebenarnya
  4. Penempatan stop-loss mungkin terlalu dekat dengan masuk ke pasar dengan volatilitas tinggi
  5. Faktor likuiditas pasar tidak dipertimbangkan

Arahan Optimasi

  1. Memperkenalkan indikator volume untuk meningkatkan akurasi penilaian tren
  2. Mengatur secara dinamis tingkat stop loss dan take profit berdasarkan volatilitas pasar
  3. Tambahkan filter kekuatan tren untuk mengurangi sinyal palsu
  4. Pertimbangkan untuk memasukkan indikator sentimen pasar
  5. Mengoptimalkan sistem manajemen posisi untuk manajemen uang yang lebih baik

Ringkasan

Ini adalah tren yang terstruktur dengan baik mengikuti strategi dengan logika yang jelas. Dengan menggabungkan sistem rata-rata bergerak ganda dengan rasio risiko-balasan tetap, strategi mencapai pengembalian yang baik sambil menjaga pengendalian risiko. Meskipun ada bidang untuk optimasi, secara keseluruhan ini adalah sistem perdagangan yang layak untuk penelitian dan perbaikan lebih lanjut.


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

//@version=5
strategy("Estrategia de Compra con Ratio 3:1", overlay=true)

// Parámetros de la temporalidad diaria y las EMAs
ema20 = ta.ema(close, 20)
ema200 = ta.ema(close, 200)

// Condiciones para la entrada en largo
cierre_por_encima_ema20 = close > ema20
ema20_mayor_ema200 = ema20 > ema200

// Variable para registrar si ya se realizó una compra
var bool compra_realizada = false

// Condición para registrar una compra: primera vez que cierra por encima de EMA 20 con EMA 20 > EMA 200
if (cierre_por_encima_ema20 and ema20_mayor_ema200 and not compra_realizada)
    // Abrir una operación de compra
    strategy.entry("Compra", strategy.long)
    compra_realizada := true  // Registrar que se realizó una compra

    // Definir los niveles de stop loss y take profit basados en el ratio 3:1
    stop_loss = strategy.position_avg_price * 0.995  // -0.50% (rendimiento)
    take_profit = strategy.position_avg_price * 1.015  // +1.50% (3:1 ratio)
    
    // Establecer el stop loss y take profit
    strategy.exit("Take Profit / Stop Loss", from_entry="Compra", stop=stop_loss, limit=take_profit)

// Condición para resetear la compra: cuando el precio cierra por debajo de la EMA de 20
if (close < ema20)
    compra_realizada := false  // Permitir una nueva operación

// Ploteo de las EMAs
plot(ema20, title="EMA 20", color=color.blue, linewidth=2)
plot(ema200, title="EMA 200", color=color.red, linewidth=2)

// Colorear el fondo cuando el precio está por encima de ambas EMAs
bgcolor(cierre_por_encima_ema20 and ema20_mayor_ema200 ? color.new(color.green, 80) : na)


Berkaitan

Lebih banyak