
A “Estratégia Vegas SuperTrend Enhanced” é uma estratégia de negociação inovadora que combina o canal Vegas e o indicador SuperTrend para se adaptar a diferentes situações de flutuação do mercado, ajustando dinamicamente a sensibilidade do indicador SuperTrend. A estratégia usa o canal Vegas para medir a volatilidade do mercado e, com base nisso, ajustar os parâmetros do indicador SuperTrend para melhor se adaptar às mudanças no mercado, enquanto segue a tendência.
O núcleo da estratégia é a combinação do canal de Vegas com o indicador SuperTrend. O canal de Vegas usa a média móvel simples (SMA) e o diferencial padrão (STDEV) para determinar os intervalos de flutuação de preços para cima e para baixo. A largura do canal reflete o grau de flutuação do mercado. O indicador SuperTrend, por sua vez, é um indicador de acompanhamento de tendências que determina a direção da tendência comparando a posição relativa dos preços atuais com o valor do indicador.
A estratégia consiste em ajustar dinamicamente o múltiplo do indicador SuperTrend para se adaptar às mudanças de largura do canal Vegas. Quando o canal Vegas é mais largo (ou seja, com maior volatilidade do mercado), o múltiplo do indicador SuperTrend aumenta correspondentemente, tornando-o mais sensível às mudanças de tendência; ao contrário, quando o canal Vegas é mais estreito (ou seja, com menor volatilidade do mercado), o múltiplo diminui, tornando o indicador mais estável e saudável.
A geração de sinais de negociação é baseada na comparação do preço de fechamento atual com o valor do indicador SuperTrend. Quando os preços atravessam a linha do indicador SuperTrend de baixo para cima, um sinal de multiplicação é gerado; ao contrário, quando os preços atravessam a linha do indicador de cima para baixo, um sinal de ruptura é gerado. Esta maneira simples e intuitiva de julgar os sinais torna a estratégia fácil de entender e aplicar.
Adaptação dinâmica à oscilação do mercado: ajuste dinâmico dos parâmetros do indicador SuperTrend através do canal Vegas, permitindo que ele se adapte a diferentes situações de oscilação do mercado, capture tendências em tempo hábil em mercados de tendência e permaneça estável em mercados de turbulência.
Sinais de negociação simples e intuitivos: a estratégia gera sinais claros de compra e venda baseados na posição relativa do preço e do indicador SuperTrend, simples e fáceis de entender, que ajudam os comerciantes a tomar decisões rápidas.
Opção de direção de negociação flexível: a estratégia oferece três opções de negociação multi-cabeça, cabeça vazia e de duas vias, para atender às necessidades e perspectivas de mercado de diferentes comerciantes.
Excelente assistência visual: a estratégia identifica as tendências de compra e venda em verde e vermelho no gráfico, e marca os pontos de compra e venda com setas, de forma intuitiva e fácil de entender o pulso do mercado
Atraso de identificação de tendências: como todas as estratégias de acompanhamento de tendências, a estratégia pode apresentar atraso de sinal no início de uma reviravolta de tendência, resultando em perda do melhor momento de entrada ou em risco adicional.
Parâmetros de configuração sensíveis: a performance da estratégia depende em parte da escolha de parâmetros, como o ciclo ATR, o comprimento do canal Vegas, etc. Diferentes parâmetros podem trazer resultados diferentes.
Negociação Frequente: A estratégia é mais sensível às mudanças de tendência, podendo gerar sinais de negociação frequentes em mercados turbulentos, aumentando os custos de negociação e o risco de retração.
Introdução de mais indicadores: Considere a introdução de outros indicadores técnicos, como RSI, MACD, etc., para verificar os sinais de tendência em várias dimensões, aumentando a confiabilidade do sinal.
Optimizar as regras de entrada e saída: com base no sinal de entrada atual, pode-se introduzir mais condições de filtragem, como exigir que o preço de fechamento de várias linhas K consecutivas seja mantido na direção da tendência, para reduzir os sinais falsos; além disso, pode-se configurar um stop loss móvel ou um stop loss de taxa de flutuação para otimizar a saída.
Ajuste dinâmico de posição: De acordo com a força da tendência do mercado, a volatilidade e outros indicadores, ajuste dinâmico da posição de cada transação, aumentando a posição quando a tendência é forte e diminuindo a posição quando a tendência se enfraquece, para controlar melhor o risco e otimizar os ganhos.
“Vegas SuperTrend Enhanced Strategy” é uma estratégia de negociação de seguimento de tendências inovadora, que combina a identificação de tendências com a adaptação do mercado através da regulação dinâmica do indicador SuperTrend no canal Vegas. O sinal de negociação da estratégia é claro, adaptável, os efeitos auxiliares visuais são excelentes, mas também enfrentam o risco inerente de atraso na identificação de tendências, sensibilidade a parâmetros.
/*backtest
start: 2023-04-22 00:00:00
end: 2024-04-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PresentTrading
// The "Vegas SuperTrend Strategy" uses Vegas Channel and SuperTrend indicators on trading charts, allowing for adjustable settings like ATR length and channel size.
// It modifies the SuperTrend's sensitivity to market volatility, generating buy (green) or sell (red) signals upon trend shifts.
// Entry and exit points are visually marked, with the strategy automating trades based on these trend changes to adapt to different market conditions.
//@version=5
strategy("Vegas SuperTrend Enhanced - strategy [presentTrading]", shorttitle="Vegas SuperTrend Enhanced - strategy [presentTrading]", overlay=true, precision=3, default_qty_type=strategy.cash,
commission_value=0.1, commission_type=strategy.commission.percent, slippage=1, currency=currency.USD, default_qty_value=10000, initial_capital=10000)
// Input settings allow the user to customize the strategy's parameters.
tradeDirectionChoice = input.string(title="Trade Direction", defval="Both", options=["Long", "Short", "Both"]) // Option to select the trading direction
atrPeriod = input(10, "ATR Period for SuperTrend") // Length of the ATR for volatility measurement
vegasWindow = input(100, "Vegas Window Length") // Length of the moving average for the Vegas Channel
superTrendMultiplier = input(5, "SuperTrend Multiplier Base") // Base multiplier for the SuperTrend calculation
volatilityAdjustment = input.float(5, "Volatility Adjustment Factor") // Factor to adjust the SuperTrend sensitivity to the Vegas Channel width
// Calculate the Vegas Channel using a simple moving average and standard deviation.
vegasMovingAverage = ta.sma(close, vegasWindow)
vegasChannelStdDev = ta.stdev(close, vegasWindow)
vegasChannelUpper = vegasMovingAverage + vegasChannelStdDev
vegasChannelLower = vegasMovingAverage - vegasChannelStdDev
// Adjust the SuperTrend multiplier based on the width of the Vegas Channel.
channelVolatilityWidth = vegasChannelUpper - vegasChannelLower
adjustedMultiplier = superTrendMultiplier + volatilityAdjustment * (channelVolatilityWidth / vegasMovingAverage)
// Calculate the SuperTrend indicator values.
averageTrueRange = ta.atr(atrPeriod)
superTrendUpper = hlc3 - (adjustedMultiplier * averageTrueRange)
superTrendLower = hlc3 + (adjustedMultiplier * averageTrueRange)
var float superTrendPrevUpper = na
var float superTrendPrevLower = na
var int marketTrend = 1
// Update SuperTrend values and determine the current trend direction.
superTrendPrevUpper := nz(superTrendPrevUpper[1], superTrendUpper)
superTrendPrevLower := nz(superTrendPrevLower[1], superTrendLower)
marketTrend := close > superTrendPrevLower ? 1 : close < superTrendPrevUpper ? -1 : nz(marketTrend[1], 1)
superTrendUpper := marketTrend == 1 ? math.max(superTrendUpper, superTrendPrevUpper) : superTrendUpper
superTrendLower := marketTrend == -1 ? math.min(superTrendLower, superTrendPrevLower) : superTrendLower
superTrendPrevUpper := superTrendUpper
superTrendPrevLower := superTrendLower
// Enhanced Visualization
// Plot the SuperTrend and Vegas Channel for visual analysis.
plot(marketTrend == 1 ? superTrendUpper : na, "SuperTrend Upper", color=color.green, linewidth=2)
plot(marketTrend == -1 ? superTrendLower : na, "SuperTrend Lower", color=color.red, linewidth=2)
plot(vegasChannelUpper, "Vegas Upper", color=color.purple, linewidth=1)
plot(vegasChannelLower, "Vegas Lower", color=color.purple, linewidth=1)
// Apply a color to the price bars based on the current market trend.
barcolor(marketTrend == 1 ? color.green : marketTrend == -1 ? color.red : na)
// Detect trend direction changes and plot entry/exit signals.
trendShiftToBullish = marketTrend == 1 and marketTrend[1] == -1
trendShiftToBearish = marketTrend == -1 and marketTrend[1] == 1
plotshape(series=trendShiftToBullish, title="Enter Long", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=trendShiftToBearish, title="Enter Short", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")
// Define conditions for entering long or short positions, and execute trades based on these conditions.
enterLongCondition = marketTrend == 1
enterShortCondition = marketTrend == -1
// Check trade direction choice before executing trade entries.
if enterLongCondition and (tradeDirectionChoice == "Long" or tradeDirectionChoice == "Both")
strategy.entry("Long Position", strategy.long)
if enterShortCondition and (tradeDirectionChoice == "Short" or tradeDirectionChoice == "Both")
strategy.entry("Short Position", strategy.short)
// Close all positions when the market trend changes.
if marketTrend != marketTrend[1]
strategy.close_all()