A estratégia de cruzamento de média móvel simples baseia-se no cruzamento de duas médias móveis, uma média móvel mais rápida (MA rápida) e uma média móvel mais lenta (MA lenta).
A estratégia usa duas médias móveis. Uma é uma MA rápida de curto prazo que responde rapidamente às mudanças de preço. A outra é uma MA lenta de longo prazo que filtra flutuações de curto prazo e reflete melhor as tendências de longo prazo.
Os riscos podem ser controlados através da definição de stop loss.
Em resumo, o Simple Moving Average Crossover é uma estratégia simples e prática de seguir tendências. Ele identifica mudanças de tendência usando as propriedades do indicador das médias móveis. As principais vantagens são a implementação fácil, a compreensão e os drawdowns relativamente pequenos. As principais desvantagens são potenciais sinais falsos, natureza atrasada. A estratégia pode ser melhorada ainda mais através da otimização de parâmetros, configuração de stop loss e combinação com outros indicadores.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Simple Moving Average Crossover", overlay=true) // Input parameters fastLength = input(10, title="Fast MA Length") slowLength = input(30, title="Slow MA Length") stopLossPercent = input(1, title="Stop Loss Percentage") // Calculate moving averages fastMA = ta.sma(close, fastLength) slowMA = ta.sma(close, slowLength) // Buy condition: Fast MA crosses above Slow MA buyCondition = ta.crossover(fastMA, slowMA) // Sell condition: Fast MA crosses below Slow MA sellCondition = ta.crossunder(fastMA, slowMA) // Plot moving averages as lines plot(fastMA, color=color.blue, title="Fast MA", linewidth=2) plot(slowMA, color=color.red, title="Slow MA", linewidth=2) // Execute trades based on conditions if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy") // Set stop loss level stopLossLevel = close * (1 - stopLossPercent / 100) strategy.exit("Sell", from_entry="Buy", loss=stopLossLevel)