La estrategia de seguimiento de la tendencia DEMA está diseñada basándose en el indicador DEMA. Genera señales de compra cuando el precio rompe la banda inferior de la DEMA y señales de venta cuando el precio rompe la banda superior.
Esta estrategia utiliza el indicador DEMA para determinar la tendencia del precio. DEMA es el promedio móvil exponencial doble, que se calcula con dos líneas EMA y puede capturar los cambios de precio más rápido. La estrategia calcula la diferencia porcentual entre el precio y DEMA, y luego genera señales comerciales.
Cuando la diferencia porcentual cruza por encima del parámetro de comprador, se genera una señal de compra. Cuando la diferencia porcentual cruza por debajo del parámetro de vendedor, se genera una señal de venta. Los parámetros de comprador y vendedor representan la fuerza para generar señales, que se pueden ajustar según las condiciones del mercado.
Además, la estrategia también establece rangos de fechas como condiciones de filtro.
Los riesgos pueden mitigarse combinando otros indicadores para la verificación de señales, optimizando los parámetros y agregando stop loss.
La estrategia de seguimiento de tendencia DEMA está razonablemente diseñada con una rentabilidad estable. Utiliza con éxito el indicador DEMA para determinar la dirección de la tendencia y funciona bien en varias acciones y plazos de mediano a largo plazo.
/*backtest start: 2023-09-16 00:00:00 end: 2023-10-16 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version= 2 strategy("DEMA PRICE DİFFERENCE Strategy ",shorttitle="DPD% STR " ,overlay=false) buyper =input(-1) sellper=input(1) demalen = input(50,title="Dema Length") e1= ema(close,demalen) e2=ema(e1,demalen) demaprice = 2 * e1 - e2 price=close demadifper = ((price-demaprice)/price)*100 plot(demadifper, color=red) OverDemaPer = input(1, title="Band for OverBought") UnderDemaPer= input(-1,title="Band for OverSold") band1 = hline(OverDemaPer) band0 = hline(UnderDemaPer) zeroline=0 fill(band1, band0, color=green, transp=90) yearfrom = input(2018) yearuntil =input(2019) monthfrom =input(6) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( crossover(demadifper,buyper)) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( crossunder(demadifper,sellper) ) strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL") else strategy.cancel(id="SELL")