Strategi Dagangan Kuantitatif EMA Crossover Multi-Periode

Penulis:ChaoZhang, Tarikh: 2023-12-27 17:09:23
Tag:

img

Ringkasan

Artikel ini memperkenalkan strategi perdagangan kuantitatif berdasarkan titik persimpangan purata bergerak eksponen (EMA) dalam tiga tempoh yang berbeza.

Prinsip Strategi

Strategi ini menggunakan EMA tiga tempoh yang berbeza: 10 hari, 100 hari, dan 200 hari. Isyarat beli atau jual dihasilkan berdasarkan arah persilangan apabila EMA jangka pendek (10 hari) melintasi EMA jangka panjang (100-hari atau 200 hari).

Analisis Kelebihan

Kekuatan strategi ini terletak pada kesederhanaan dan kebolehsesuaian yang tinggi. EMA berbilang tempoh menyediakan pandangan pelbagai dimensi mengenai trend pasaran, meningkatkan ketepatan keputusan perdagangan. Di samping itu, penapis masa mengelakkan ketidakstabilan semasa tempoh pasaran tertentu, mengurangkan risiko berpotensi.

Analisis Risiko

Walaupun berkesan, strategi ini membawa risiko tertentu. Risiko utama adalah turun naik pasaran disebabkan oleh peristiwa yang tidak dijangka, yang boleh menyebabkan kegagalan strategi. Di samping itu, EMA boleh ketinggalan, menunda pantulan perubahan pasaran. Kaedah untuk mengurangkan risiko ini termasuk pemantauan pasaran masa nyata dan menggabungkan penunjuk teknikal lain untuk meningkatkan ketepatan keputusan.

Arah pengoptimuman

Arahan pengoptimuman untuk strategi termasuk penggunaan pelbagai penunjuk teknikal yang bersepadu, seperti Indeks Kekuatan Relatif (RSI) dan Bollinger Bands, untuk memperdalam dan memperluaskan analisis pasaran.

Kesimpulan

Secara keseluruhan, ini

strategi perdagangan kuantitatif silang EMA pelbagai tempoh adalah alat yang berkesan yang dapat membantu peniaga membuat keputusan yang lebih baik dalam pasaran yang tidak menentu. Dengan pengoptimuman dan penyesuaian berterusan terhadap perubahan pasaran, strategi ini berpotensi untuk mencapai pulangan yang lebih tinggi dalam usaha perdagangan masa depan.


/*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)

Lebih lanjut