Esta estrategia es un sistema de tendencia de zona dinámica basado en EMAs duales (rápidas y lentas). Clasifica diferentes zonas de negociación basadas en las posiciones relativas de precios y EMAs, combinadas con un sistema de indicación de color dinámico para proporcionar señales claras de compra / venta. La estrategia adopta la teoría clásica de cruce de promedios móviles mientras innova a través de la clasificación de zonas para mejorar la operabilidad de los sistemas tradicionales de EMAs duales.
El núcleo de la estrategia radica en dividir las condiciones del mercado en seis zonas distintas utilizando la relación de cruce entre la EMA rápida (períodos 12 por defecto) y la EMA lenta (períodos 26 por defecto), combinada con la posición del precio. Cuando la línea rápida está por encima de la línea lenta, el mercado se considera alcista; por el contrario, se considera bajista. La posición del precio relativa a estos dos promedios móviles se subdivide aún más en zonas comerciales específicas: Zona Verde (Comprar), Zona Azul (Comprar potencial), Zona Roja (Vender potencial) y Zona Amarilla (Vender potencial).
Esta es una estrategia de seguimiento de tendencias que combina los sistemas tradicionales de EMA dual con conceptos modernos de clasificación de zonas. A través de retroalimentación visual intuitiva y reglas de negociación claras, proporciona a los operadores un marco de negociación confiable.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("NUTJP CDC ActionZone 2024", overlay=true, precision=6, commission_value=0.1, slippage=3) //****************************************************************************// // CDC Action Zone is based on a simple EMA crossover // between [default] EMA12 and EMA26 //****************************************************************************// // Define User Input Variables xsrc = input.source(title='Source Data', defval=close) xprd1 = input.int(title='Fast EMA period', defval=12) xprd2 = input.int(title='Slow EMA period', defval=26) xsmooth = input.int(title='Smoothing period (1 = no smoothing)', defval=1) fillSW = input.bool(title='Paint Bar Colors', defval=true) fastSW = input.bool(title='Show fast moving average line', defval=true) slowSW = input.bool(title='Show slow moving average line', defval=true) xfixtf = input.bool(title='** Use Fixed time frame Mode (advanced) **', defval=false) xtf = input.timeframe(title='** Fix chart to which time frame? **', defval='D') startDate = input(timestamp("2018-01-01 00:00"), title="Start Date") endDate = input(timestamp("2069-12-31 23:59"), title="End Date") //****************************************************************************// // Calculate Indicators f_secureSecurity(_symbol, _res, _src) => request.security(_symbol, _res, _src[1], lookahead=barmerge.lookahead_on) xPrice = ta.ema(xsrc, xsmooth) FastMA = xfixtf ? ta.ema(f_secureSecurity(syminfo.tickerid, xtf, ta.ema(xsrc, xprd1)), xsmooth) : ta.ema(xPrice, xprd1) SlowMA = xfixtf ? ta.ema(f_secureSecurity(syminfo.tickerid, xtf, ta.ema(xsrc, xprd2)), xsmooth) : ta.ema(xPrice, xprd2) Bull = FastMA > SlowMA Bear = FastMA < SlowMA // Define Color Zones Green = Bull and xPrice > FastMA Red = Bear and xPrice < FastMA // Buy and Sell Conditions buycond = Green and not Green[1] sellcond = Red and not Red[1] inDateRange = true if inDateRange if buycond strategy.entry("Long", strategy.long, qty=1) if sellcond strategy.close("Long") //****************************************************************************// // Display color on chart bColor = Green ? color.green : Red ? color.red : color.black barcolor(color=fillSW ? bColor : na) // Display MA lines FastL = plot(fastSW ? FastMA : na, "Fast EMA", color=color.new(color.red, 0), style=xfixtf ? plot.style_stepline : plot.style_line) SlowL = plot(slowSW ? SlowMA : na, "Slow EMA", color=color.new(color.blue, 0), style=xfixtf ? plot.style_stepline : plot.style_line) fill(FastL, SlowL, Bull ? color.new(color.green, 90) : (Bear ? color.new(color.red, 90) : na))