Esta estratégia é um sistema de negociação inteligente baseado em múltiplos indicadores técnicos, combinando sinais de médias móveis (MA), volume e faixa verdadeira média (ATR) para capturar oportunidades de mercado através de uma análise abrangente das tendências de preços, atividade comercial e volatilidade do mercado.
A lógica central baseia-se em três dimensões:
Os sinais de negociação são gerados apenas quando as condições em todas as três dimensões são simultaneamente satisfeitas, melhorando significativamente a precisão da negociação através deste mecanismo de múltiplos filtros.
Esta estratégia constrói um sistema de decisão de negociação abrangente através da análise sinérgica de múltiplos indicadores técnicos. O projeto considera minuciosamente as características do mercado, incluindo tendências, liquidez e volatilidade, demonstrando forte praticidade e confiabilidade. Através de otimização e melhoria contínua, a estratégia mostra promessa para manter um desempenho estável em vários ambientes de mercado. Seu projeto modular fornece uma base sólida para futuras extensões, permitindo ajustes flexíveis e otimizações com base nas necessidades reais.
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-04 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Advanced Trading Strategy", overlay=true) // Parâmetros de entrada shortPeriod = input.int(9, title="Short Period", minval=1) longPeriod = input.int(21, title="Long Period", minval=1) volumeThreshold = input.float(1.5, title="Volume Threshold Multiplier", minval=0.1) volatilityPeriod = input.int(14, title="Volatility Period", minval=1) // Cálculo das médias móveis shortSMA = ta.sma(close, shortPeriod) longSMA = ta.sma(close, longPeriod) // Cálculo do volume médio averageVolume = ta.sma(volume, longPeriod) // Cálculo da volatilidade (ATR - Average True Range) volatility = ta.atr(volatilityPeriod) // Condições de compra e venda baseadas em médias móveis maBuyCondition = ta.crossover(shortSMA, longSMA) maSellCondition = ta.crossunder(shortSMA, longSMA) // Verificação do volume volumeCondition = volume > averageVolume * volumeThreshold // Condição de volatilidade (volatilidade acima de um certo nível) volatilityCondition = volatility > ta.sma(volatility, volatilityPeriod) // Condições finais de compra e venda buyCondition = maBuyCondition and volumeCondition and volatilityCondition sellCondition = maSellCondition and volumeCondition and volatilityCondition // Plotando as médias móveis plot(shortSMA, title="Short SMA", color=color.red) plot(longSMA, title="Long SMA", color=color.blue) // Sinal de compra if (buyCondition) strategy.entry("Buy", strategy.long) // Sinal de venda if (sellCondition) strategy.close("Buy") // Plotando sinais no gráfico plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Configurando alertas alertcondition(buyCondition, title="Buy Alert", message="Buy Signal Triggered") alertcondition(sellCondition, title="Sell Alert", message="Sell Signal Triggered")