
Strategi ini adalah sistem perdagangan cerdas yang didasarkan pada beberapa indikator teknis, yang menggabungkan sinyal pasar dari tiga dimensi: moving average (MA), volume (Volume), dan volatilitas (ATR). Analisis volatilitas yang komprehensif untuk menangkap peluang pasar. Strategi ini menggunakan sistem rata-rata pergerakan ganda sebagai dasar utama untuk menilai tren, dan memperkenalkan volume dan volatilitas perdagangan sebagai kondisi filter perdagangan, sehingga mencapai beberapa verifikasi sinyal perdagangan.
Logika inti dari strategi ini didasarkan pada tiga dimensi berikut:
Strategi ini hanya akan mengeluarkan sinyal perdagangan ketika kondisi ketiga dimensi ini terpenuhi secara bersamaan. Mekanisme penyaringan ganda ini secara efektif meningkatkan akurasi transaksi.
Strategi ini membangun sistem pengambilan keputusan perdagangan yang lengkap melalui analisis kolaboratif berbagai indikator teknis. Desain strategi sepenuhnya mempertimbangkan karakteristik pasar seperti tren, likuiditas, dan volatilitas, serta sangat praktis dan dapat diandalkan. Melalui optimalisasi dan perbaikan berkelanjutan, strategi ini diharapkan dapat mempertahankan kinerja yang stabil di berbagai lingkungan pasar. Desain modular dari strategi ini juga menyediakan landasan yang baik untuk perluasan selanjutnya, dan dapat disesuaikan dan dioptimalkan secara 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")