Esta estrategia utiliza cruces de promedios móviles simples e indicador de rango verdadero promedio para generar señales de compra y venta. Pertenece a las estrategias de seguimiento de tendencias.
Se puede ver que esta estrategia se basa principalmente en la capacidad de juzgar la tendencia de las medias móviles y la capacidad de control de riesgos de ATR. La lógica es simple y fácil de entender e implementar.
Gestión de riesgos:
Esta es una estrategia típica de seguimiento de tendencia, utilizando promedios móviles para determinar la dirección de la tendencia y ATR stop loss para controlar los riesgos. La lógica es simple y fácil de comprender. Pero tiene ciertos riesgos de retraso y señales falsas. Se pueden hacer mejoras a través de la afinación de parámetros, optimización de indicadores, incorporación de más factores, etc. para hacer que la estrategia sea más adaptable. En general, esta estrategia es adecuada para la práctica y optimización de principiantes, pero debe tener cuidado al aplicarla en la negociación real.
/*backtest start: 2023-12-27 00:00:00 end: 2024-01-03 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SMA and ATR Strategy", overlay=true) // Step 1. Define strategy settings lengthSMA1 = input.int(50, title="50 SMA Length") lengthSMA2 = input.int(100, title="100 SMA Length") atrLength = input.int(14, title="ATR Length") atrMultiplier = input.int(4, title="ATR Multiplier") // Step 2. Calculate strategy values sma1 = ta.sma(close, lengthSMA1) sma2 = ta.sma(close, lengthSMA2) atr = ta.atr(atrLength) // Step 3. Output strategy data plot(sma1, color=color.blue, title="50 SMA") plot(sma2, color=color.red, title="100 SMA") // Step 4. Determine trading conditions longCondition = ta.crossover(sma1, sma2) shortCondition = ta.crossunder(sma1, sma2) longStopLoss = close - (atr * atrMultiplier) shortStopLoss = close + (atr * atrMultiplier) // Step 5. Execute trades based on conditions if (longCondition) strategy.entry("Buy", strategy.long) strategy.exit("Sell", "Buy", stop=longStopLoss) if (shortCondition) strategy.entry("Sell", strategy.short) strategy.exit("Buy", "Sell", stop=shortStopLoss)