Strategi perdagangan indikator EMA empat kali lipat

Penulis:ChaoZhang, Tanggal: 2023-09-12 14:51:28
Tag:

Strategi ini menggunakan empat garis EMA dengan parameter yang berbeda untuk membentuk sistem trend-mengikuti yang jelas untuk perdagangan mekanis.

Logika Strategi:

  1. Menghitung dua pasangan EMA cepat dan lambat, biasanya 72 dan 44 periode.

  2. Pergi panjang ketika EMA cepat melintasi EMA lambat.

  3. Pergi short saat EMA cepat melintasi EMA lambat.

  4. Gunakan warna untuk menandai sinyal beli dan jual.

  5. Backtest selama periode tertentu untuk menjalankan sinyal.

Keuntungan:

  1. Empat EMA membentuk pola tren yang jelas.

  2. Kombinasi EMA cepat/lambat secara efektif melacak tren jangka menengah.

  3. Aturan crossover sederhana dan menghindari overtrading.

Risiko:

  1. EMA lag dapat menyebabkan tendensi yang tidak berubah.

  2. Tidak ada stop berarti kerugian tak terbatas pada perdagangan tunggal.

  3. Parameter yang buruk dapat menyebabkan sinyal yang berlebihan atau inkonsistensi.

Singkatnya, strategi crossover EMA empat kali menggunakan pasangan EMA cepat/lambat untuk perdagangan tren mekanis. Antarmuka visual intuitif untuk pedagang visual.


/*backtest
start: 2023-08-12 00:00:00
end: 2023-09-11 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// strategy(title = "Cuathro EMA Strategy", shorttitle = "Cuathro EMA",initial_capital=1000, commission_value=0.2, commission_type =strategy.commission.percent, default_qty_value=100 , overlay = false, pyramiding=10, default_qty_type=strategy.percent_of_equity)
//@Moneros 2017
// based on OCC by @JayRogers
emaSlowPeriod    = input(defval = 44, title = "EMA Slow, always < EMA Fast - low short term, high long term ", minval = 1)
emaFastPeriod    = input(defval = 72, title = "EMA Fast - low short term, high long term ", minval = 1)
len    = input(defval = 14, title = "Period", minval = 1)
res = input(title="Resolution  - not lower than chart", defval="120")



closeSeries =  request.security(syminfo.tickerid, res, 2 * ta.ema(close, len) - ta.ema(ta.ema(close, len), len)  )
openSeries  = request.security(syminfo.tickerid,res, 2 * ta.ema(close[1], len) - ta.ema(ta.ema(close[1], len), len)  )


slowema = ta.ema(closeSeries - openSeries,emaSlowPeriod)
fastema = ta.ema(closeSeries - openSeries,emaFastPeriod)

plot(slowema, color=color.blue)
plot(fastema,color=color.red)


bgcolor(slowema< fastema ? color.red : na, transp=90)
bgcolor(slowema> fastema ? color.blue : na, transp=90)

bgcolor(ta.crossover(slowema, fastema) ? color.blue : na, transp=40)
bgcolor(ta.crossunder(slowema, fastema) ? color.red : na, transp=40)
strategy.order("BUY", strategy.long, 1, when = ta.crossover(slowema, fastema))
strategy.order("SELL", strategy.short, 1, when = ta.crossunder(slowema, fastema)) 


Lebih banyak