
A estratégia de ruptura de supertrend e Gannett high/low é uma estratégia de negociação quantitativa baseada em análise técnica, que combina indicadores de supertrend e a teoria de Gannett high/low e aumenta a confiabilidade dos sinais de negociação através da análise de múltiplos períodos de tempo. A estratégia utiliza o período de tempo mais alto (de 15 minutos) para encontrar sinais de entrada e, ao mesmo tempo, o período de tempo mais baixo (de 5 minutos) para identificar o momento de saída.
O princípio técnico da estratégia baseia-se principalmente nos seguintes componentes-chave:
Indicador de Super TendênciaO ATR (Average True Range) é um indicador de tendência baseado no ATR (Average True Range) que adapta-se dinamicamente à volatilidade do mercado.ta.supertrend(factor, atrPeriod)Calcula-se, em que o factor é o múltiplo (default 3.0) e o atrPeriod é o período ATR (default 10). O indicador de tendência super aparece em vermelho quando está acima do preço (sinal de baixa) e em verde quando está abaixo do preço (sinal de alta).
Gann High-Low (em inglês): Indicador de altas e baixas no método de análise de Gann, que determina os níveis de suporte e resistência através do cálculo de máximos e mínimos de preços em um determinado período. No código, através deta.highest(high, gannLength)eta.lowest(low, gannLength)Calculação, em que ganLength é o período retrógrado (default 10).
Análise de Multi-TimeframeEstratégia: Calcule o indicador em dois períodos de tempo de 15 minutos e 5 minutos, usando o período de tempo mais alto ((15 minutos) para avaliar a tendência geral e gerar um sinal de entrada, usando o período de tempo mais baixo ((5 minutos) para capturar uma reversão de curto prazo e gerar um sinal de saída.request.securityFunções que permitem acesso a dados em intervalos de tempo.
As condições de admissão são as seguintes:
close > st15 and close > gannHigh15)close < st15 and close < gannLow15)A concepção das condições de partida é a seguinte:
close < st5 and close < gannHigh5)close > st5 and close > gannLow5)A lógica de execução da estratégia é clara: passa quando os requisitos de entrada são atendidosstrategy.entryA função abre uma posição e passa quando a condição de saída é atendida.strategy.closeFunção equilibrada.
Análise colaborativa de vários quadros temporaisAo combinar sinais de diferentes prazos, a estratégia pode ter uma visão mais abrangente das tendências do mercado, evitando os julgamentos unilaterais que um único período de tempo pode trazer. O período mais longo (de 15 minutos) garante que a entrada esteja em sintonia com a tendência do intervalo médio, enquanto o período mais curto (de 5 minutos) oferece um tempo de saída mais sensível.
Mecanismo de dupla confirmaçãoA estratégia exige que o preço atravesse simultaneamente a linha de tendência super e o pico de Gann para disparar o sinal. Este mecanismo de dupla confirmação é eficaz para reduzir a falsa ruptura e melhorar a qualidade do sinal.
Dinâmica de adaptação às flutuações do mercadoO Supertrend Indicator é baseado no cálculo do ATR e pode ajustar automaticamente os parâmetros de acordo com a volatilidade do mercado, permitindo que a estratégia permaneça eficaz em diferentes ambientes de mercado.
Controle de riscos claroA estratégia permite que o risco de uma única transação seja controlado de forma eficaz, evitando prejuízos no início de uma reversão de mercado, definindo condições de saída claras.
Parâmetros ajustáveisA estratégia fornece três parâmetros-chave: o ciclo ATR, o multiplicador de super-trend e o ciclo de Gannon High/Low, que o usuário pode ajustar de acordo com diferentes características do mercado e preferências de risco pessoais.
A lógica de execução é simples e clara.A estrutura do código é clara, a lógica é simples e intuitiva, é fácil de entender e manter, o que favorece a otimização e melhoria contínua da estratégia.
Risco de atrasoOs supertrends e os altos e baixos de Gann são indicadores baseados em dados históricos, que podem não reagir o suficiente em mercados altamente voláteis, resultando em sinais de entrada ou saída atrasados. A solução é reduzir os períodos de ATR e os altos e baixos de Gann em ambientes de mercados altamente voláteis, aumentando a sensibilidade do indicador.
Risco de Falso BreakoutNo mercado de liquidação horizontal, os preços podem frequentemente ultrapassar níveis críticos, mas depois regredir, causando um aumento de sinais falsos. A solução é adicionar um mecanismo de confirmação no mercado horizontal, que exige que a ruptura dure por um determinado tempo ou amplitude para negociar.
Sensibilidade do parâmetroA solução é encontrar um bom intervalo de parâmetros através do histórico retrospectivo e verificar periodicamente a eficácia dos parâmetros.
Conflito de quadros de tempoEm alguns casos, os quadros de tempo altos e baixos podem dar sinais contraditórios, o que dificulta a tomada de decisões. A solução é aumentar a configuração de pesos entre os quadros de tempo, ou adicionar quadros de tempo de nível mais alto como filtros de tendência.
Inadequada gestão de fundosA estratégia é usar 10% do capital da conta por defeito para cada transação, o que pode levar a uma rápida redução de capital em caso de perdas contínuas. A solução é ajustar o tamanho da posição de acordo com a volatilidade do mercado e a expectativa de risco, introduzindo um mecanismo de gerenciamento de capital mais completo.
Filtragem de intensidade de tendência: Pode ser introduzido um indicador de intensidade de tendência, como o ADX (indicador de direção média), executando negociações apenas quando há uma tendência clara, evitando a negociação frequente em mercados turbulentos. A forma de implementar é adicionar a lógica de cálculo do ADX e usá-lo como parte dos requisitos de entrada.
Otimização do mecanismo de saídaA estratégia atual pode não ser flexível o suficiente para que as condições de saída sejam simétricas às condições de entrada. Pode-se considerar a adição de mecanismos de saída diversificados, como o stop loss móvel, o objetivo de lucro ou o stop loss de volatilidade, para um melhor equilíbrio entre riscos e ganhos.
Aumentar o volume de transações confirmadas: A ruptura de preços deve ser acompanhada de um volume maior de transações para ser mais confiável. Um indicador de volume de transações pode ser adicionado como confirmação, por exemplo, o volume de transações solicitado no momento da ruptura é maior do que o volume médio de transações nos últimos N ciclos.
Introdução de ajustes de taxa de flutuação: pode ajustar o multiplicador de supertrends de acordo com a dinâmica atual da taxa de flutuação do mercado, aumentando a sensibilidade com um multiplicador menor em períodos de baixa flutuação e reduzindo os falsos sinais com um multiplicador maior em períodos de alta flutuação.
Aumentar a classificação do estado do mercado: Pode-se adicionar lógica para distinguir mercados de tendência e mercados de turbulência, usando diferentes estratégias de negociação e configurações de parâmetros em diferentes estados de mercado. Por exemplo, no mercado de turbulência pode-se aumentar o número de vezes que a super tendência, reduzindo a frequência de negociação.
Optimizar a gestão de fundos: A proporção de fundos para cada transação pode ser ajustada dinamicamente com base na volatilidade ou na proporção de risco esperada, em vez de usar 10% de fundos fixos. Isso pode ser estimado por meio do cálculo do ATR para estimar a posição de parada e, em seguida, determinar o tamanho da posição.
Aumentar o filtro de tempoEm certos períodos de tempo (por exemplo, antes da abertura e do fechamento do mercado) a volatilidade é grande e pode produzir falsos sinais, pode-se adicionar um filtro de tempo para evitar a negociação nesses períodos.
A estratégia de ruptura de supertrend e Gannett High/Low de múltiplos quadros temporais é um sistema de negociação quantitativa que combina vários instrumentos de análise técnica para capturar oportunidades de mercado através da análise de supertrend e Gannett High/Low em diferentes quadros temporais. A principal vantagem da estratégia reside no mecanismo de confirmação múltipla e na análise de múltiplos quadros temporais, que permite filtrar o ruído de forma eficaz e melhorar a qualidade do sinal.
A robustez e a adaptabilidade das estratégias podem ser ainda melhoradas através do aumento da filtragem de força de tendência, da otimização dos mecanismos de saída, do aumento da confirmação de volume de negócios e da introdução de ajustes de taxa de volatilidade. Em particular, a combinação do mecanismo de gestão de fundos com a análise do estado do mercado pode melhorar significativamente as características de risco e ganho das estratégias.
Para os traders que procuram uma estratégia de quantificação de análise técnica, esta estratégia oferece um quadro de base sólido, que pode ser aplicado diretamente ou como parte de um sistema de negociação mais complexo. Acima de tudo, os traders devem fazer um bom feedback e otimização dos parâmetros, com base em suas próprias preferências de risco e compreensão do mercado, para obter o melhor resultado.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-04-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("MTF Supertrend + Gann HL Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Inputs ===
atrPeriod = input.int(10, "ATR Period")
factor = input.float(3.0, "Supertrend Multiplier")
gannLength = input.int(10, "Gann HL Period")
// === Timeframes ===
higherTF = "15"
lowerTF = "5"
// === Supertrend & Gann HL (15m) ===
[st15, dir15] = request.security(syminfo.tickerid, higherTF, ta.supertrend(factor, atrPeriod))
gannHigh15 = request.security(syminfo.tickerid, higherTF, ta.highest(high, gannLength))
gannLow15 = request.security(syminfo.tickerid, higherTF, ta.lowest(low, gannLength))
// === Supertrend & Gann HL (5m) for exit ===
[st5, dir5] = request.security(syminfo.tickerid, lowerTF, ta.supertrend(factor, atrPeriod))
gannHigh5 = request.security(syminfo.tickerid, lowerTF, ta.highest(high, gannLength))
gannLow5 = request.security(syminfo.tickerid, lowerTF, ta.lowest(low, gannLength))
// === Entry Conditions (15m) ===
longEntry = close > st15 and close > gannHigh15
shortEntry = close < st15 and close < gannLow15
// === Exit Conditions (5m) ===
longExit = close < st5 and close < gannHigh5
shortExit = close > st5 and close > gannLow5
// === Execute Strategy ===
if (longEntry)
strategy.entry("Long", strategy.long)
if (shortEntry)
strategy.entry("Short", strategy.short)
if (longExit)
strategy.close("Long")
if (shortExit)
strategy.close("Short")
// === Optional Plots ===
plot(st15, color=dir15 ? color.green : color.red, title="Supertrend 15m")