Estratégia de acompanhamento das tendências de suporte e resistência

Autora:ChaoZhang, Data: 2024-02-27 15:11:04
Tags:

img

Resumo

Esta estratégia utiliza três indicadores técnicos - suporte, resistência e linhas de tendência - para automatizar entradas e parar perdas.

Estratégia lógica

  1. Identificar os principais níveis de suporte e resistência.
  2. Usar linhas de tendência para determinar a direção da tendência do mercado. Uma tendência de alta é definida quando o preço é superior ao fechamento anterior, caso contrário é uma tendência de queda.
  3. Quando o preço se aproxima do nível de suporte e há uma tendência de alta, um sinal de compra é acionado.
  4. Quando o preço se aproxima do nível de resistência e há uma tendência de queda, um sinal de venda é acionado.
  5. A meta de lucro é calculada com base na relação risco-recompensa, a perda de parada é definida perto do nível de suporte.
  6. O trailing stop loss pode ser usado para bloquear os lucros.

Análise das vantagens

  1. Utiliza plenamente o poder do suporte, resistência e tendência - três indicadores técnicos fortes.
  2. O cronograma de entrada automático elimina erros subjetivos.
  3. Risco controlado com stop loss perto dos níveis de suporte chave.
  4. Opcional para evitar a devolução de lucros.

Análise de riscos

  1. Risco de ruptura fracassada - o preço pode testar novamente o nível de suporte ou resistência quebrado após a ruptura inicial.
  2. Risco de erro de avaliação da tendência - o uso de linhas de tendência por si só pode resultar num viés de tendência impreciso.
  3. O risco de perda de paragem é retirado - a perda de paragem ainda pode ser afetada por flutuações voláteis de preços, apesar da distância próxima do suporte.

Soluções:

  1. Permitir um intervalo mais alargado para a validação de suporte/resistência.
  2. Empregar vários indicadores para confirmar o viés da tendência.
  3. Adotar um stop loss baseado no intervalo ou uma intervenção manual oportuna.

Orientações de otimização

  1. Adicionar mais indicadores para confirmar os sinais de entrada, por exemplo, indicadores baseados no volume, médias móveis, etc. Isto pode melhorar a precisão.
  2. Otimizar os níveis de suporte, resistência e stop loss através do teste de diferentes parâmetros.
  3. Tente métodos de aprendizagem automática para otimizar parâmetros.

Conclusão

Esta estratégia combina o poder de múltiplas ferramentas técnicas. Com o ajuste adequado dos parâmetros, pode alcançar bons retornos ajustados ao risco. A chave é otimizar os parâmetros e a sequência de entrada.


/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-26 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Support Resistance Trend Strategy", overlay=true)

// Input parameters
supportLevel = input(100, title="Support Level")
resistanceLevel = input(200, title="Resistance Level")
riskRewardRatio = input(2, title="Risk-Reward Ratio")
trailStopLoss = input(true, title="Use Trailing Stop Loss")

// Calculate trend direction based on trend lines
trendUp = close > request.security(syminfo.tickerid, "D", close[1])
trendDown = close < request.security(syminfo.tickerid, "D", close[1])

// Buy signal condition
buySignal = close < supportLevel and trendUp

// Sell signal condition
sellSignal = close > resistanceLevel and trendDown

// Entry point and exit conditions
strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)

// Calculate targets and stop-loss levels
targetPrice = close + (close - supportLevel) * riskRewardRatio
stopLossLevel = supportLevel

// Plot support and resistance levels
plot(supportLevel, color=color.green, linewidth=2, title="Support Level")
plot(resistanceLevel, color=color.red, linewidth=2, title="Resistance Level")

// Plot targets and stop-loss levels
plot(targetPrice, color=color.blue, linewidth=2, title="Target Price")
plot(stopLossLevel, color=color.orange, linewidth=2, title="Stop Loss Level")

// Trailing stop-loss
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", loss=stopLossLevel, profit=targetPrice)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", loss=targetPrice, profit=stopLossLevel)

// Plot trail stop loss
if (trailStopLoss)
    strategy.exit("Trailing Stop Loss", from_entry="Buy", loss=stopLossLevel)
    strategy.exit("Trailing Stop Loss", from_entry="Sell", loss=stopLossLevel)


Mais.