Esta estrategia es un sistema de negociación inteligente basado en múltiples indicadores técnicos, que combina señales de promedios móviles (MA), volumen y rango verdadero promedio (ATR) para capturar oportunidades de mercado a través de un análisis integral de las tendencias de precios, actividad comercial y volatilidad del mercado.
La lógica central se basa en tres dimensiones:
Las señales de negociación se generan solo cuando se cumplen simultáneamente las condiciones en las tres dimensiones, lo que mejora significativamente la precisión de la negociación a través de este mecanismo de múltiples filtros.
Esta estrategia construye un sistema de decisión comercial integral a través del análisis sinérgico de múltiples indicadores técnicos. El diseño considera a fondo las características del mercado, incluidas las tendencias, la liquidez y la volatilidad, demostrando una gran practicidad y fiabilidad. A través de la optimización y mejora continuas, la estrategia muestra promesa para mantener un rendimiento estable en varios entornos de mercado. Su diseño modular proporciona una base sólida para futuras extensiones, lo que permite ajustes y optimizaciones flexibles basados en las necesidades reales.
/*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")