
O sistema de negociação de supertrends multi-ciclo ATR é uma estratégia inteligente de acompanhamento de tendências baseada no indicador de amplitude real média (ATR). A estratégia usa as mudanças no indicador de supertrends para identificar os pontos de conversão da tendência do mercado e executa automaticamente a negociação multi-espaço após a confirmação da tendência. O sistema integra uma configuração independente de parâmetros de stop loss multi-espaço e é capaz de equilibrar a posição em tempo real de acordo com o sinal de reversão de tendência, aumentando efetivamente a taxa de vitória da negociação e a eficiência do uso de fundos.
O núcleo da estratégia baseia-se na lógica de cálculo e no mecanismo de geração de sinais do SuperTrend. O indicador de super-tendência forma níveis de suporte e resistência dinâmicos através do cálculo da relação de multiplicação do preço com o ATR. Os passos para a implementação são os seguintes:
Cálculo do ATRA estratégia oferece dois métodos de cálculo do ATR, um é o cálculo do ATR padrão e o outro é o cálculo do TR baseado na média móvel simples (SMA). O usuário pode escolher o método de cálculo mais adequado para o ambiente de mercado atual com os parâmetros.
Orbital ascendente e descendente definido:
A lógica da tendência:
Geração de sinais de transação:
Gestão inteligente de armazénsA estratégia é a de cancelar automaticamente todos os pedidos pendentes antes de executar uma nova operação, garantindo que o novo sinal seja executado com sucesso. Ao mesmo tempo, o sistema julga se é necessária uma operação de retorno com base na direção atual da posição.
Mecanismos de controlo de riscosA estratégia estabelece parâmetros de parada separados para as direções de vazio e usa o risco de controle de perda por cento de forma unificada. Além disso, quando a tendência se inverte, o sistema automaticamente elimina a posição para evitar maiores perdas.
Ao analisar o código em profundidade, a estratégia tem as seguintes vantagens significativas:
Adaptar-se à volatilidade do mercadoA estratégia pode ser adaptada a diferentes ambientes de volatilidade do mercado e reduzir os falsos sinais através da adaptação dinâmica dos níveis de suporte e resistência através dos indicadores ATR.
Configuração de parâmetros flexívelO sistema oferece uma grande variedade de parâmetros ajustáveis, incluindo o ciclo ATR, a multiplicação do ATR, a seleção de fontes de dados, etc. O usuário pode personalizar a otimização de acordo com diferentes variedades de transações e períodos de tempo.
Configuração de suspensão independente multi-espaço: estratégia inovadora para fornecer parâmetros de suspensão independentes para a direção multi-espaço, mais em consonância com as características não simétricas do mercado, a direção multi-espaço pode adotar diferentes objetivos de lucro.
Reversão da tendência de liquidação automáticaO sistema elimina automaticamente as posições em caso de reversão de tendência, sem esperar que o stop loss seja acionado, protegendo efetivamente os lucros obtidos e reduzindo as perdas potenciais.
Visualização de sinais de negociaçãoA estratégia mostra os sinais de compra e venda, os níveis de stop-loss e as cores de fundo da tendência de forma intuitiva no gráfico, ajudando os comerciantes a entender melhor e a acompanhar o funcionamento do sistema.
Filtragem de sinais precisaO mecanismo de confirmação de tendências reduziu os falsos sinais de ruptura em mercados turbulentos e melhorou a qualidade das negociações.
Apesar da estratégia ser bem concebida, existem os seguintes riscos potenciais:
Sensibilidade do parâmetroA multiplicação do ATR e a configuração do ciclo têm um grande impacto no desempenho da estratégia, e os parâmetros inadequados podem levar a excessos de negociação ou a perda de sinais importantes. A solução é encontrar a combinação ideal de parâmetros através do rastreamento de dados históricos.
Risco de reversão de tendência: Em pontos de conversão de tendências fortes, o mercado pode ter grandes saltos, resultando em uma falha na execução efetiva do stop loss. Recomenda-se ajustar o ATR multiplicador ou adicionar condições adicionais de filtragem de volatilidade de mercado em um ambiente de mercado altamente volátil.
Dependência de um único indicador: A estratégia depende principalmente do indicador de supertrend, a falta de confirmação de outros indicadores auxiliares pode gerar sinais errôneos em certos cenários de mercado. Pode ser considerado o acréscimo de outros indicadores para a confirmação do sinal.
Percentagem fixa de stop lossA estratégia usa um ponto de parada de percentual fixo, sem levar em conta a atual volatilidade do mercado, que pode estar muito perto do ponto de parada em um ambiente de alta volatilidade. Pode-se considerar a correlação do nível de parada com a dinâmica do valor do ATR.
Processamento de sinal contínuo: Em mercados de turbulência, pode haver frequentes mudanças de tendência, resultando em custos adicionais de negociação excessiva. Pode ser adicionado um mecanismo de filtragem de sinal ou um limite de intervalo de tempo para reduzir a frequência de negociação.
Com base na análise de código, a estratégia pode ser otimizada nas seguintes direções:
Adicionar confirmação de volumeA combinação de indicadores de volume de transação confirma a eficácia da mudança de tendência, executando sinais de negociação apenas em caso de aumento de volume de transação, reduzindo efetivamente os prejuízos causados por falsas rupturas.
Análise de múltiplos períodos de tempoA introdução de uma estrutura de análise de múltiplos períodos de tempo, que opera apenas na direção de uma tendência de períodos de tempo maiores, pode aumentar significativamente a taxa de vitória do sistema. Por exemplo, o sinal múltipla da linha horária só é executado quando a linha solar está em tendência ascendente.
ATR dinâmico: Ajustar dinamicamente o multiplicador do ATR de acordo com a volatilidade do mercado, usar um multiplicador maior em ambientes de alta volatilidade e um multiplicador menor em ambientes de baixa volatilidade, para que o sistema seja mais adaptável.
Adicionar identificação de estado de mercado: Desenvolver módulos de identificação de estados de mercado, distinguindo mercados de tendência e mercados de turbulência, aplicando diferentes estratégias de negociação ou combinações de parâmetros em diferentes estados de mercado.
Otimização de estratégias de stop lossA implementação de um stop loss de rastreamento dinâmico, que ajusta automaticamente a posição de stop loss à medida que o preço se move na direção favorável, protege os lucros e dá espaço para o preço respirar.
Aumentar o filtro de tempo de transaçãoA plataforma de negociação de criptomoedas, criada pela empresa de criptomoedas Google, foi lançada em janeiro do ano passado, com o objetivo de aumentar a qualidade das negociações.
Otimização da gestão de fundos: Ajuste o tamanho da posição de acordo com a intensidade do sinal da estratégia e a dinâmica da situação de flutuação do mercado, aumente a posição no sinal de alta confiança e reduza a posição no sinal de baixa confiança.
O Multi-Cycle ATR Self Adaptive Supertrend Trading System é uma estratégia de acompanhamento de tendências abrangente que combina análise técnica e gerenciamento de risco. Capturando os pontos de mudança de tendência do mercado com o uso de indicadores de supertrend e compatível com um mecanismo de stop-loss flexível, a estratégia permite manter um desempenho estável em vários ambientes de mercado.
A vantagem central da estratégia reside na sua adaptabilidade e configuração de parâmetros flexíveis, permitindo-lhe adaptar-se a diferentes variedades de negociação e ciclos de mercado. Ao definir parâmetros de suspensão independentes para a direção de múltiplos espaços, a estratégia é capaz de se adaptar melhor às características não simétricas do mercado, aumentando a lucratividade geral.
Apesar dos riscos existentes, como a sensibilidade de parâmetros e a dependência de um único indicador, a estratégia tem o potencial de melhorar ainda mais sua estabilidade e lucratividade através da orientação de otimização recomendada, especialmente a análise de múltiplos períodos de tempo e o ajuste dinâmico do ATR. Finalmente, a estratégia fornece aos comerciantes uma estrutura de negociação confiável e sistematizada que pode ajudar a reduzir a interferência emocional e a realizar uma execução de negociação mais objetiva e disciplinada.
/*backtest
start: 2024-09-15 00:00:00
end: 2025-06-28 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":50000000}]
*/
//@version=6
strategy("ZYTX SuperTrend V1", overlay=true, margin_long=100, margin_short=100, pyramiding=0)
// 输入参数
periods = input(title='ATR周期', defval=10)
src = input(hl2, title='数据源')
multiplier = input.float(title='ATR乘数', step=0.1, defval=3.0)
changeATR = input(title='改变ATR计算方法', defval=true) // 已删除多余问号
stopLossPerc = input.float(title='止损 (%)', defval=1.0, step=0.1, minval=0, maxval=100) / 100
longTakeProfitPerc = input.float(title='多单止盈 (%)', defval=2.0, step=0.1, minval=0, maxval=100) / 100
shortTakeProfitPerc = input.float(title='空单止盈 (%)', defval=1.5, step=0.1, minval=0, maxval=100) / 100
enableLong = input.bool(title='启用做多交易', defval=true)
enableShort = input.bool(title='启用做空交易', defval=true)
// 超级趋势计算
atr2 = ta.sma(ta.tr, periods)
atr = changeATR ? ta.atr(periods) : atr2
up = src - multiplier * atr
up1 = nz(up[1], up)
up := close[1] > up1 ? math.max(up, up1) : up
dn = src + multiplier * atr
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.min(dn, dn1) : dn
// 趋势判断
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
// 交易信号
buySignal = trend == 1 and trend[1] == -1
sellSignal = trend == -1 and trend[1] == 1
// 可视化
plot(trend == 1 ? up : na, '上升趋势', style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0))
plot(trend == 1 ? na : dn, '下降趋势', style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0))
// 策略逻辑
var float entryPrice = na
if buySignal and enableLong
strategy.cancel("多单止盈")
strategy.cancel("多单止损")
strategy.cancel("空单止盈")
strategy.cancel("空单止损")
if strategy.position_size <= 0
strategy.entry("多单", strategy.long)
entryPrice := close
// 多单止盈使用独立参数
if longTakeProfitPerc > 0
strategy.exit("多单止盈", "多单", limit=entryPrice * (1 + longTakeProfitPerc), comment="多单止盈")
if stopLossPerc > 0
strategy.exit("多单止损", "多单", stop=entryPrice * (1 - stopLossPerc), comment="多单止损")
if sellSignal and enableShort
strategy.cancel("多单止盈")
strategy.cancel("多单止损")
strategy.cancel("空单止盈")
strategy.cancel("空单止损")
if strategy.position_size >= 0
strategy.entry("空单", strategy.short)
entryPrice := close
// 空单止盈使用独立参数
if shortTakeProfitPerc > 0
strategy.exit("空单止盈", "空单", limit=entryPrice * (1 - shortTakeProfitPerc), comment="空单止盈")
if stopLossPerc > 0
strategy.exit("空单止损", "空单", stop=entryPrice * (1 + stopLossPerc), comment="空单止损")
// 趋势反转平仓
if (trend == 1 and strategy.position_size < 0) or (trend == -1 and strategy.position_size > 0)
strategy.close_all(comment="趋势反转平仓")
// 信号标记
plotshape(buySignal and enableLong, title='买入信号', text='买入', location=location.belowbar,
style=shape.labelup, size=size.small, color=color.new(color.green, 0), textcolor=color.new(color.white, 0))
plotshape(sellSignal and enableShort, title='卖出信号', text='卖出', location=location.abovebar,
style=shape.labeldown, size=size.small, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))
// 止盈线可视化(多空独立)
plot(strategy.position_size > 0 and longTakeProfitPerc > 0 ? entryPrice * (1 + longTakeProfitPerc) : na,
"多单止盈线", style=plot.style_linebr, color=color.new(color.blue, 0), linewidth=1)
plot(strategy.position_size < 0 and shortTakeProfitPerc > 0 ? entryPrice * (1 - shortTakeProfitPerc) : na,
"空单止盈线", style=plot.style_linebr, color=color.new(color.blue, 0), linewidth=1)
// 趋势背景色
bgcolor(trend == 1 ? color.new(color.green, 90) : trend == -1 ? color.new(color.red, 90) : na, title="趋势背景")