Autora:ChaoZhang, Data: 2024-01-26 16:33:37
Tags:

img

Resumo

Estratégia lógica

A ideia central por trás da Estratégia de Supertrend Adaptativa Tripla é combinar múltiplos indicadores de Supertrend para identificar tendências de mercado, ir longo quando as tendências concordam e sair de posições quando as tendências se invertem.

Especificamente, a estratégia utiliza três indicadores de Supertrend:

  1. Supertendência 1: Período ATR = 12, Fator = 3
  2. Supertendência 2: Período ATR = 10, Fator = 1

A lógica específica do comércio é:

  1. Abrir longo quando todas as três Supertrends mostrarem sinais de alta dentro do intervalo de datas
  2. Monitorar Supertrends para sinais de reversão enquanto em uma posição longa
  3. Sair longo se qualquer Supertrend virar de baixa
  4. Obter lucro a 10% ou parar a perda a 1%

Esta lógica visa captar os lucros das tendências de alta dentro do intervalo de datas, controlando simultaneamente o risco de queda com o stop loss.

Análise das vantagens

A Estratégia de Supertendência Adaptativa Tripla tem várias vantagens fundamentais:

  1. A combinação de múltiplas Supertrends dá um julgamento de tendência mais preciso e reduz os falsos sinais
  2. A própria Supertrend filtra o ruído, reduzindo os impactos das oscilações
  3. Configurações de lucro e stop loss bloqueiam lucros e cortam perdas quando a tendência se inverte
  4. Pode capturar ganhos excessivos em mercados de alta e evitar grandes quedas em mercados de baixa

Em resumo, esta estratégia funciona excelentemente como uma estratégia de tendência central para ajudar a negociação manual.

Análise de riscos

Apesar dos seus muitos pontos fortes, a Estratégia de Supertendência Adaptativa Tripla tem alguns riscos principais a ter em conta:

  1. As enormes oscilações do mercado podem causar sinais errados
  2. Mal ajuste dos parâmetros afeta o desempenho
  3. O risco pode não ser controlado por um pequeno stop loss
  4. Mal tempo de entrada pode levar a perdas

Estes riscos podem ser mitigados por:

  1. Adição de outros indicadores para avaliar oscilações
  2. Optimização dos parâmetros para os diferentes mercados
  3. Aumentar a percentagem de stop loss para garantir a eficácia
  4. Utilização de indicadores mais estáveis para os sinais de entrada

Oportunidades de melhoria

Como uma estratégia de tendência versátil, a Super-Tendência Adaptativa Tripla tem muito espaço para aprimoramento:

  1. Optimização dinâmica dos parâmetros da Supertrend
  2. Adição de outros indicadores para melhorar o calendário de entrada
  3. Otimizar ainda mais a tomada de lucro e a stop loss com base em backtests
  4. Tentando entrar com o Supertrend para a direção da tendência
  5. Estratégia de embalagem como função para um plug-and-play fácil

Com estas otimizações, a estratégia pode manter um desempenho constante em mais ambientes de mercado e alcançar fatores de lucro mais elevados.

Conclusão


/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Custom Supertrend Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15, shorttitle="Supertrend Strategy")

// Define the parameters for Supertrend 1
factor1 = input.float(3.0, "Factor 1", step = 0.01)
atrPeriod1 = input(12, "ATR Length 1")

// Define the parameters for Supertrend 2
factor2 = input.float(1.0, "Factor 2", step = 0.01)
atrPeriod2 = input(10, "ATR Length 2")

// Define the parameters for Supertrend 3
factor3 = input.float(2.0, "Factor 3", step = 0.01)
atrPeriod3 = input(11, "ATR Length 3")

[_, direction1] = ta.supertrend(factor1, atrPeriod1)
[_, direction2] = ta.supertrend(factor2, atrPeriod2)
[_, direction3] = ta.supertrend(factor3, atrPeriod3)

// Define the start and end dates as Unix timestamps (in seconds)
start_date = timestamp("2023-01-01T00:00:00")
end_date = timestamp("2023-10-01T00:00:00")

// Determine Buy and Sell conditions within the specified date range
in_date_range = true
buy_condition = direction1 > 0 and direction2 > 0 and direction3 > 0 and in_date_range
sell_condition = direction1 < 0 or direction2 < 0 or direction3 < 0

// Track the position with a variable
var isLong = false

if buy_condition and not isLong
    strategy.entry("Long Entry", strategy.long)
    isLong := true

if sell_condition and isLong
    // Define take profit and stop loss percentages
    take_profit_percentage = 10 // Increased to 10%
    stop_loss_percentage = 1

    // Calculate take profit and stop loss levels
    take_profit_level = close * (1 + take_profit_percentage / 100)
    stop_loss_level = close * (1 - stop_loss_percentage / 100)

    // Exit the long position with take profit and stop loss
    strategy.exit("Take Profit/Stop Loss", from_entry="Long Entry", limit=take_profit_level, stop=stop_loss_level)
    isLong := false

Mais.