Estratégia dupla de SuperTendência

Autora:ChaoZhang, Data: 2023-11-15 16:33:05
Tags:

img

Resumo

A estratégia Dual SuperTrend é uma estratégia quantitativa de negociação que incorpora um sistema de canal duplo SuperTrend.

Estratégia lógica

A estratégia Dual SuperTrend deriva do indicador SuperTrend. A SuperTrend consiste em bandas superiores e inferiores para determinar as tendências de preços e os principais níveis de suporte / resistência. A Dual SuperTrend constrói dois canais em cima dela: o canal de consolidação e o canal de quebra.

  • Canal de consolidação: composto pelas bandas básica superior e inferior para julgar a tendência em curso.
  • Canal de ruptura: formado pelas bandas heurísticas superior e inferior para capturar inversões de tendência.

A estratégia primeiro calcula a faixa verdadeira e a faixa verdadeira média. Em seguida, calcula as bandas básicas com base nos parâmetros de comprimento e multiplicador. Em seguida, constrói o canal de quebra se o preço atravessar as bandas básicas. O sistema de dois canais é assim estabelecido.

No âmbito da estrutura de dois canais, os sinais de negociação são gerados quando o preço atravessa canais diferentes:

  • Um sinal de compra é desencadeado quando o preço cruza acima da faixa inferior do canal de consolidação.
  • Um sinal de venda é desencadeado quando o preço cruza abaixo da faixa superior do canal de consolidação.

A monitorização por dois canais permite tanto a monitorização da tendência como a captura da inversão.

Análise das vantagens

A estratégia Dual SuperTrend com o sistema de dois canais tem as seguintes vantagens:

  • Capturar reversões de tendência e evitar falsas rupturas.
  • Persistência nas negociações: o canal duplo prolonga cada negociação em comparação com a SuperTendência única.
  • Grande espaço de otimização de parâmetros. Os canais podem ser ajustados para diferentes produtos e prazos.
  • Reduzir as fendas estratégicas, o canal duplo aumenta a estabilidade.
  • Os canais intuitivos facilitam a avaliação da estratégia.

Análise de riscos

A estratégia Dual SuperTrend apresenta igualmente os seguintes riscos:

  • A seleção de canais requer experiência, canais muito estreitos causam frequentes falhas, canais muito largos não conseguem capturar reversões em tempo hábil.
  • Impacto de eventos externos: Eventos não técnicos podem desencadear movimentos anormais de preços que invalidam o sistema de canalização.
  • A estrutura de dois canais tende a aumentar a frequência de negociação e as necessidades de controlo do dimensionamento das posições.
  • Optimização de parâmetros difícil. É um desafio otimizar ambos os canais simultaneamente. É necessário tempo suficiente.
  • A estratégia não possui um mecanismo de stop loss.

Os riscos podem ser mitigados ajustando a gama de parâmetros, adicionando filtros, controlando o dimensionamento da posição, etc.

Orientações de otimização

A estratégia Dual SuperTrend pode ser otimizada nos seguintes aspectos:

  • Adicionar filtros para evitar falsas rupturas.
  • Incorporar indicadores de tendência para determinar a tendência macro.
  • Ajustar dinamicamente os parâmetros do canal para se adaptar aos mercados em mudança.
  • Otimizar os mecanismos de saída para a proteção dos lucros.
  • Separação de estados longos e curtos para negociação direcional.
  • Introdução de controlo de risco quantitativo para o limite máximo de retirada.

Outras otimizações podem melhorar o ajuste de parâmetros e a análise de avanço para um desempenho mais robusto.

Conclusão

A estratégia Dual SuperTrend aproveita o mecanismo de dois canais para seguir tendências e capturar reversões. Estratégias de negociação estáveis podem ser desenvolvidas através da otimização de parâmetros, mas existem limitações.


/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=4
strategy("Double Supertrend Strategy", overlay=true)

// Define your parameters
length = input(10, title="Length")
multiplier = input(3, title="Multiplier")

// Calculate the True Range and Average True Range
trueRange = max(high - low, max(abs(high - close[1]), abs(low - close[1])))
averageTrueRange = sma(trueRange, length)

// Calculate the basic upper and lower bands
basicUpperBand = hl2 + (multiplier * averageTrueRange)
basicLowerBand = hl2 - (multiplier * averageTrueRange)

// Calculate the final upper and lower bands
finalUpperBand = basicUpperBand
finalLowerBand = basicLowerBand

finalUpperBand := close[1] > finalUpperBand[1] ? max(basicUpperBand, finalUpperBand[1]) : basicUpperBand
finalLowerBand := close[1] < finalLowerBand[1] ? min(basicLowerBand, finalLowerBand[1]) : basicLowerBand

// Determine if we're currently in an uptrend or downtrend
uptrend = close > finalLowerBand[1]
downtrend = close < finalUpperBand[1]

// Plot the bands
plot(uptrend ? finalUpperBand : na, color=color.green, linewidth=2)
plot(downtrend ? finalLowerBand : na, color=color.red, linewidth=2)

// Define your conditions for entering and exiting trades
if (uptrend)
    strategy.entry("Buy", strategy.long)
else if (downtrend)
    strategy.entry("Sell", strategy.short)



Mais.