
Cette stratégie est un système de trading intelligent basé sur de multiples indicateurs techniques, combinant des signaux de marché issus de trois dimensions : la moyenne mobile (MA), le volume (Volume) et la volatilité (ATR). Analyse complète de la volatilité pour saisir les opportunités du marché. La stratégie utilise un système de double moyenne mobile comme base principale pour juger les tendances et introduit le volume des transactions et la volatilité comme conditions de filtre de négociation, réalisant ainsi de multiples vérifications des signaux de négociation.
La logique fondamentale de la stratégie repose sur les trois dimensions suivantes :
La stratégie n’émettra un signal de trading que lorsque les conditions de ces trois dimensions seront remplies en même temps. Ce mécanisme de filtrage multiple améliore efficacement la précision des transactions.
Cette stratégie construit un système complet de prise de décision commerciale grâce à l’analyse collaborative de plusieurs indicateurs techniques. La conception de la stratégie prend pleinement en compte les caractéristiques du marché telles que les tendances, la liquidité et la volatilité, et est très pratique et fiable. Grâce à une optimisation et une amélioration continues, cette stratégie devrait permettre de maintenir des performances stables dans divers environnements de marché. La conception modulaire de la stratégie fournit également une bonne base pour une expansion ultérieure et peut être ajustée et optimisée de manière flexible en fonction des besoins réels.
/*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")