Esta estratégia usa cruzamento de média móvel simples e indicador de faixa média verdadeira para gerar sinais de compra e venda.
Pode-se ver que esta estratégia baseia-se principalmente na capacidade de julgamento de tendências das médias móveis e na capacidade de controlo de riscos do ATR. A lógica é simples e fácil de compreender e implementar.
Gestão de riscos:
Esta é uma estratégia típica de tendência, usando médias móveis para determinar a direção da tendência e o ATR para controlar os riscos. A lógica é simples e fácil de entender. Mas tem certos riscos de atraso e sinais falsos. Melhorias podem ser feitas por meio de ajuste de parâmetros, otimização de indicadores, incorporação de mais fatores, etc. para tornar a estratégia mais adaptável.
/*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)