Sumber dimuat naik... memuat...

Trend purata bergerak berganda mengikut sistem dagangan dengan strategi pengoptimuman nisbah risiko-balasan

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

img

Dalam bidang perdagangan kuantitatif, strategi mengikuti trend sentiasa menjadi salah satu kaedah perdagangan yang paling popular.

Ringkasan Strategi

Strategi ini menggunakan purata bergerak eksponen 20 hari dan 200 hari (EMA) sebagai penunjuk utama, digabungkan dengan nisbah risiko-balasan 3: 1 untuk keputusan perdagangan. Isyarat beli dihasilkan apabila harga memecahkan di atas EMA 20 hari dan EMA 20 hari di atas EMA 200 hari. Setiap perdagangan mempunyai tahap stop-loss (-0.5%) dan mengambil keuntungan (1.5%) tetap untuk memastikan risiko terkawal.

Prinsip Strategi

Logik teras merangkumi beberapa elemen utama:

  1. Menggunakan EMA 20 hari dan 200 hari untuk menilai trend pasaran, dengan EMA 200 hari mewakili trend jangka panjang dan EMA 20 hari mencerminkan pergerakan jangka pendek
  2. Isyarat beli dihasilkan apabila harga melanggar di atas EMA 20 hari dan EMA 20 hari di atas EMA 200 hari, menunjukkan trend menaik
  3. Menggunakan nisbah risiko-balasan 3: 1, dengan tahap mengambil keuntungan (1,5%) adalah tiga kali ganda daripada tahap stop-loss (0,5%)
  4. Menggunakan pembolehubah untuk mengesan status perdagangan dan mengelakkan entri berganda
  5. Set semula status perdagangan apabila harga jatuh di bawah EMA 20 hari, menyediakan untuk perdagangan seterusnya

Kelebihan Strategi

  1. Sistem purata bergerak berganda berkesan menapis bunyi pasaran dan meningkatkan kebolehpercayaan isyarat
  2. Nisbah risiko-balasan tetap menyokong perdagangan yang menguntungkan dalam jangka panjang
  3. Peraturan kemasukan dan keluar yang jelas mengurangkan pertimbangan subjektif
  4. Tahap automatik yang tinggi, mudah dilaksanakan dan backtest
  5. Mekanisme kawalan risiko yang komprehensif dengan tahap stop-loss yang jelas untuk setiap perdagangan

Risiko Strategi

  1. Boleh menghasilkan isyarat palsu yang kerap di pasaran yang berbeza
  2. Tahap Stop Loss dan Take Profit yang tetap mungkin tidak sesuai dengan semua keadaan pasaran
  3. Kos dagangan yang tidak dipertimbangkan boleh mempengaruhi pulangan sebenar
  4. Penempatan stop-loss mungkin terlalu dekat dengan kemasukan ke pasaran dengan turun naik yang tinggi
  5. Faktor kecairan pasaran tidak dipertimbangkan

Arahan pengoptimuman

  1. Memperkenalkan penunjuk jumlah untuk meningkatkan ketepatan penilaian trend
  2. Sesuaikan secara dinamik paras stop-loss dan mengambil keuntungan berdasarkan turun naik pasaran
  3. Tambah penapis kekuatan trend untuk mengurangkan isyarat palsu
  4. Pertimbangkan untuk memasukkan penunjuk sentimen pasaran
  5. Mengoptimumkan sistem pengurusan kedudukan untuk pengurusan wang yang lebih baik

Ringkasan

Ini adalah trend yang terstruktur dengan baik mengikuti strategi dengan logik yang jelas. Dengan menggabungkan sistem purata bergerak berganda dengan nisbah risiko-balasan tetap, strategi mencapai pulangan yang baik sambil mengekalkan kawalan risiko. Walaupun terdapat bidang untuk pengoptimuman, secara keseluruhan ia adalah sistem perdagangan yang layak untuk penyelidikan dan penambahbaikan 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 lanjut