Strategi ini adalah sistem perdagangan cerdas berdasarkan beberapa indikator teknis, menggabungkan sinyal dari Moving Averages (MA), Volume, dan Average True Range (ATR) untuk menangkap peluang pasar melalui analisis komprehensif tren harga, aktivitas perdagangan, dan volatilitas pasar.
Logika inti didasarkan pada tiga dimensi:
Sinyal perdagangan hanya dihasilkan ketika kondisi di ketiga dimensi terpenuhi secara bersamaan, secara signifikan meningkatkan akurasi perdagangan melalui mekanisme multi-filter ini.
Strategi ini membangun sistem keputusan perdagangan yang komprehensif melalui analisis sinergis dari beberapa indikator teknis. Desainnya secara menyeluruh mempertimbangkan karakteristik pasar termasuk tren, likuiditas, dan volatilitas, menunjukkan kepraktisan dan keandalan yang kuat. Melalui optimalisasi dan perbaikan berkelanjutan, strategi menunjukkan janji untuk mempertahankan kinerja yang stabil di berbagai lingkungan pasar. Desain modularnya memberikan dasar yang kuat untuk perluasan di masa depan, memungkinkan penyesuaian dan optimalisasi yang fleksibel berdasarkan kebutuhan aktual.
/*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")