Esta estrategia utiliza el cruce de una EMA rápida (9 períodos) y una EMA lenta (21 períodos) como señales de entrada, e incorpora un stop loss para bloquear las ganancias y evitar retiros excesivos.
Cuando la EMA rápida cruza por encima de la EMA lenta desde abajo, se genera una señal de compra.
Una vez introducida, la estrategia rastrea el máximo máximo en tiempo real y desencadena un stop loss trasero cuando el precio actual cae un 2% por debajo del máximo máximo, bloqueando las ganancias.
Soluciones de riesgos:
Esta estrategia integra las ventajas de la identificación de tendencias y el control de riesgos. A través del ajuste y la optimización de parámetros, puede adaptarse a diferentes tipos de mercados e instrumentos comerciales, y vale la pena probar y practicar más.
/*backtest start: 2023-12-12 00:00:00 end: 2023-12-19 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("EMA Crossover with Trailing Stop-Loss", overlay=true) fastEMA = ema(close, 9) slowEMA = ema(close, 21) // Entry conditions longCondition = crossover(fastEMA, slowEMA) shortCondition = crossunder(fastEMA, slowEMA) // Trailing stop-loss calculation var float trailingStop = na var float highestHigh = na if (longCondition) highestHigh := na trailingStop := na if (longCondition and high > highestHigh) highestHigh := high if (strategy.position_size > 0) trailingStop := highestHigh * (1 - 0.02) // Adjust the trailing percentage as needed // Execute trades strategy.entry("Long", strategy.long, when=longCondition) strategy.entry("Short", strategy.short, when=shortCondition) // Apply trailing stop-loss to long positions strategy.exit("Long", from_entry="Long", loss=trailingStop) // Plot EMAs and Trailing Stop-Loss plot(fastEMA, color=color.green, title="Fast EMA") plot(slowEMA, color=color.red, title="Slow EMA") plot(trailingStop, color=color.orange, title="Trailing Stop-Loss", linewidth=2)