Esta estrategia utiliza tres promedios móviles exponenciales (EMA) con diferentes períodos para determinar las tendencias del mercado y generar señales de compra / venta. Los cruces entre la EMA rápida, la EMA lenta y la EMA del filtro de tendencia, junto con la posición de precio en relación con la EMA del filtro de tendencia, forman la lógica central de esta estrategia. Además, el indicador de tendencia de Fukuiz se introduce como un juicio auxiliar, que activa el cierre de la posición bajo ciertas condiciones.
Esta estrategia construye un juicio de tendencia y un marco comercial relativamente completo mediante la combinación de EMA de varios períodos e indicador de tendencia de Fukuiz. La lógica de la estrategia es clara, los parámetros son ajustables y la adaptabilidad es fuerte. Sin embargo, también tiene algunos riesgos potenciales, como retraso de la señal y desviación del juicio de tendencia.
/*backtest start: 2023-06-08 00:00:00 end: 2024-06-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EvilRed Trading Indicator Trend Filter", overlay=true) // Parameters Definition fastLength = input(9, title="Fast EMA Length") slowLength = input(21, title="Slow EMA Length") trendFilterLength = input(200, title="Trend Filter EMA Length") // Moving Averages Calculation fastEMA = ta.ema(close, fastLength) slowEMA = ta.ema(close, slowLength) trendEMA = ta.ema(close, trendFilterLength) // Volatility Calculation volatility = ta.stdev(close, 20) // Add Fukuiz Trend Indicator fukuizTrend = ta.ema(close, 14) fukuizColor = fukuizTrend > fukuizTrend[1] ? color.green : color.red plot(fukuizTrend, color=fukuizColor, title="Fukuiz Trend") // Plotting Moving Averages plot(fastEMA, color=color.blue, title="Fast EMA") plot(slowEMA, color=color.red, title="Slow EMA") plot(trendEMA, color=color.orange, title="Trend Filter") // Plotting Buy and Sell Signals buySignal = ta.crossover(fastEMA, slowEMA) and fastEMA > slowEMA and close > trendEMA sellSignal = ta.crossunder(fastEMA, slowEMA) and fastEMA < slowEMA and close < trendEMA // Entry and Exit Conditions if (strategy.position_size > 0 and fukuizColor == color.red) strategy.close("Long", comment="Fukuiz Trend is Red") if (strategy.position_size < 0 and fukuizColor == color.green) strategy.close("Short", comment="Fukuiz Trend is Green") if (buySignal) strategy.entry("Long", strategy.long) if (sellSignal) strategy.entry("Short", strategy.short) plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")