Vierfache EMA-Indikatoren Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-09-12 14:51:28
Tags:

Diese Strategie verwendet vier EMA-Linien mit unterschiedlichen Parametern, um ein klares Trendfolgensystem für den mechanischen Handel zu bilden.

Strategie Logik:

  1. Berechnen Sie zwei schnelle und langsame EMA-Paare, typischerweise 72 und 44 Perioden.

  2. Gehen Sie lang, wenn die schnelle EMA über die langsame EMA geht.

  3. Kurz gehen, wenn die schnelle EMA unter die langsame EMA fällt.

  4. Verwenden Sie Farben, um Kauf- und Verkaufssignale zu markieren.

  5. Backtest über einen bestimmten Zeitraum, um Signale auszuführen.

Vorteile:

  1. Vier EMA bilden klare Trendmuster.

  2. Schnelle/langsame EMA-Kombinationen verfolgen effektiv mittelfristige Trends.

  3. Die Crossover-Regeln sind einfach und vermeiden einen übermäßigen Handel.

Risiken:

  1. EMA-Verzögerung kann zu verpassten Trendwende führen.

  2. Kein Stopp bedeutet unbegrenzten Verlust bei einzelnen Trades.

  3. Schlechte Parameter können zu übermäßigen Signalen oder Inkonsistenzen führen.

Zusammenfassend lässt sich sagen, dass die Vierfache EMA-Crossover-Strategie schnelle/langsame EMA-Paare für den mechanischen Trendhandel verwendet. Die visuelle Schnittstelle ist intuitiv für visuelle Trader.


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


Mehr