Estrategia de negociación de la EMA
Esta estrategia se basa en el análisis de la EMA, con las siguientes reglas:
Introducir el largo si el cierre del día anterior está por encima de la EMA
Salida larga si la candelera actual se cierra por debajo de la EMA
Ventajas de esta estrategia:
Problemas potenciales:
En general, la estrategia EMA funciona mejor en los mercados de tendencia, pero debe usarse con precaución.
/*backtest start: 2023-01-01 00:00:00 end: 2023-09-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ericdwyang //@version=5 strategy("EMA Strat", overlay=true, margin_long=100, margin_short=100) // EMA Variables emaInput = input(21, "Length") ema = ta.ema(close, emaInput) // Variable Declaration p = 0 start = false // Start Date yearInput = input(2000, "Year") if (time >= timestamp(2000,01,01,01,01)) start := true // Check first candle relative to EMA if (close > ema and start == true) p += 1 strategy.entry("Long", strategy.long, comment = "Entry") // Candle close above EMA (p + 1, count reset to 0) above = close[1] > ema[1] if (above) p += 1 // Candle close below EMA (reset p to 0, count -1) below = close < ema if (below) p := 0 strategy.close("Long", comment = "Flat") // // Exit Position // if (redCount == -2) // strategy.close("Long", comment = "Flat") // goLong = p[1] == 0 and p == 1 // flatten = p == 0 // // Restablish long // if (goLong and start == true) // strategy.entry("Long", strategy.long, comment = "Entry") plot(p) plot(ema)