Esta estrategia utiliza cuatro líneas EMA con diferentes parámetros para formar un sistema claro de seguimiento de tendencias para el comercio mecánico.
Estrategia lógica:
Calcular dos pares de EMA rápidos y lentos, por lo general 72 y 44 períodos.
Ir largo cuando la EMA rápida cruza por encima de la EMA lenta.
Ir corto cuando la EMA rápida cruza por debajo de la EMA lenta.
Usar colores para marcar las señales de compra y venta.
Prueba de retroceso durante un período especificado para ejecutar señales.
Ventajas:
Cuatro EMAs forman patrones de tendencia claros.
Las combinaciones de EMA rápido/lento rastrean efectivamente las tendencias de mediano y largo plazo.
Las reglas de cruce son simples y evitan el exceso de comercio.
Riesgos:
El retraso de la EMA puede causar cambios de tendencia perdidos.
Sin paradas significa pérdida ilimitada en operaciones individuales.
Los parámetros deficientes pueden causar señales o inconsistencias excesivas.
En resumen, la estrategia de cruce de EMA cuadruple utiliza pares EMA rápidos / lentos para el comercio de tendencias mecánicas. La interfaz visual es intuitiva para los operadores visuales. Pero el retraso y la falta de paradas significa que aún se requiere una gestión prudente del riesgo para obtener ganancias constantes a largo plazo.
/*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))