Strategi perdagangan kuantitatif persilangan EMA multi-periode


Tanggal Pembuatan: 2023-12-27 17:09:23 Akhirnya memodifikasi: 2023-12-27 17:09:23
menyalin: 0 Jumlah klik: 643
1
fokus pada
1621
Pengikut

Strategi perdagangan kuantitatif persilangan EMA multi-periode

Ringkasan

Artikel ini membahas strategi perdagangan kuantitatif yang didasarkan pada titik-titik persimpangan rata-rata bergerak indeks (EMA) dari tiga periode yang berbeda. Strategi ini bertujuan untuk menggunakan titik-titik persimpangan EMA untuk mengidentifikasi tren jangka panjang dan jangka pendek di pasar saham dan membuat keputusan perdagangan yang efektif.

Prinsip Strategi

Strategi ini menggunakan tiga siklus EMA yang berbeda: 10 hari, 100 hari, dan 200 hari. Ketika EMA jangka pendek (sekitar 10 hari) melintasi EMA jangka panjang (sekitar 100 hari atau 200 hari), strategi ini menghasilkan sinyal beli atau jual sesuai dengan arah melintasi. Strategi ini juga menggabungkan filter waktu yang memastikan bahwa perdagangan hanya dilakukan dalam jangka waktu tertentu. Kombinasi ini meningkatkan fleksibilitas dan kemampuan adaptasi strategi.

Analisis Keunggulan

Keunggulan dari strategi ini adalah kesederhanaan dan fleksibilitas yang tinggi. EMA multi-siklus memberikan pandangan multi-sudut tentang tren pasar, meningkatkan akurasi keputusan perdagangan. Sementara itu, filter waktu menghindari ketidakstabilan pasar pada periode tertentu dan mengurangi risiko potensial.

Analisis risiko

Meskipun strategi ini efektif, ada risiko tertentu. Risiko utama adalah bahwa kejadian pasar yang tidak terduga dapat menyebabkan strategi gagal. Selain itu, indikator EMA mungkin memiliki keterlambatan dan penundaan yang mencerminkan perubahan pasar.

Arah optimasi

Strategi optimasi meliputi penggunaan komposit dari beberapa indikator teknis, seperti RSI dan Brinks, untuk meningkatkan kedalaman dan luasnya analisis pasar. Selain itu, dapat disesuaikan dengan kondisi pasar yang berbeda dengan menyesuaikan siklus EMA.

Meringkaskan

Secara keseluruhan, strategi perdagangan kuantitatif lintas EMA multi-siklus ini adalah alat yang efisien untuk membantu pedagang membuat keputusan yang lebih baik di pasar yang berubah-ubah. Dengan terus mengoptimalkan dan beradaptasi dengan perubahan pasar, strategi ini berpotensi untuk menghasilkan keuntungan yang lebih tinggi dalam perdagangan di masa depan.

Kode Sumber Strategi
/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
start = timestamp(2023,1,1,0,0)
end = timestamp(2024,1,1,0,0)
strategy("Tester Emas", overlay = true)

periodo1 = input(10,"Periodo_1")
periodo2 = input(100,"Periodo_2")
periodo3 = input(200,"Periodo_3")

//definir media moviles
ema1 = ta.ema(close,periodo1)
ema2 = ta.ema(close,periodo2)
ema3 = ta.ema(close,periodo3)

//Desde
desde_a = input(2000, title = "Desde año")
desde_m = input.int(   1, title = "Desde mes", minval=1, maxval = 12)
desde_d = input.int(   1, title = "Desde dia", minval=1, maxval = 31)

//Hasta
hasta_a = input(2030, title = "Hasta año")
hasta_m = input.int(   1, title = "Hasta mes", minval=1, maxval = 12)
hasta_d = input.int(   1, title = "Hasta dia", minval=1, maxval = 31)

FechaValida() => true

//Condicion de entradas
longCondition = ta.crossover(ema1, ema2)
shortCondition = ta.crossunder(ema1,ema2)

alcista = (ema1 > ema2) and (ema2 > ema3)
comprado =strategy.position_size > 0



//Comprar o vender segun las condiciones de entradas

//if (longCondition)
if (not comprado and alcista and FechaValida())
    // Round redondea mi capital para comprar las acciones en cantidades enteras
    cantidad = math.round(strategy.equity/ close)
    strategy.entry("Compra", strategy.long, cantidad)
//if (shortCondition)
if (comprado and not alcista and FechaValida())
    //strategy.entry("Venta", strategy.short)
    strategy.close("Compra" , comment = "Venta")

if (comprado and not FechaValida())
    //Cierre x finalizacion de periodo
    //strategy.entry("Venta", strategy.short)
    strategy.close("Compra" , comment = "Venta x fin")

//Graficar las medias moviles
plot(ema1, color = color.green, title = "Ema1")
plot(ema2, color = color.yellow, title = "Ema2")
plot(ema3, color = color.red, title = "Ema2")
//GMarca los cruces de medias
bgcolor(longCondition ? color.green : na)
bgcolor(shortCondition ? color.red : na)