O recurso está a ser carregado... Carregamento...

Estratégia de inversão da barra de pin filtrada de tendência

Autora:ChaoZhang, Data: 2024-06-07 16: 48:23
Tags:SMARSIPB

img

Resumo

Esta estratégia visa principalmente identificar pontos de reversão de mercado potenciais, reconhecendo um padrão específico de velas chamado Pin Bar. Uma Pin Bar é caracterizada por uma sombra longa e um corpo pequeno, indicando uma volatilidade significativa do mercado nesse nível de preço, mas, finalmente, o preço retrace, sugerindo que o nível pode atuar como suporte ou resistência.

Princípios de estratégia

  1. Em primeiro lugar, determine o tamanho relativo das sombras e do corpo superior e inferior do Pin Bar, exigindo que a sombra superior ou inferior seja de pelo menos 60% de toda a faixa alta-baixa do candelabro, enquanto o corpo não deve exceder 30%.
  2. Comparar os preços de fechamento e abertura para determinar se o Pin Bar é de alta ou baixa.
  3. Utilize a SMA de 50 períodos para identificar a tendência atual, considerando-a uma tendência ascendente quando o preço de fechamento está acima da SMA e uma tendência descendente quando está abaixo.
  4. Defina a SMA de volume de 20 períodos como limiar para o filtro de volume, considerando apenas um sinal Pin Bar válido se o volume na sua ocorrência for superior a este valor.
  5. Traçar os Pin Bars de alta e baixa identificados.
  6. Introduzir uma posição longa quando um Pin Bar de alta aparece e uma posição curta quando um Pin Bar de baixa aparece.
  7. Defina o stop loss para o dobro do tamanho do corpo do Pin Bar e o take profit para três vezes.

Análise das vantagens

  1. O Pin Bar é um padrão de reversão de preços altamente intuitivo e eficaz, capaz de capturar com precisão mudanças repentinas no sentimento do mercado.
  2. O filtro de tendência garante que os sinais Pin Bar se alinhem com a direção da tendência atual, melhorando significativamente a taxa de vitória do sinal.
  3. A condição de volume filtra o ruído do mercado com liquidez insuficiente, garantindo que os sinais Pin Bar tenham uma participação adequada no mercado.
  4. As posições de stop loss e take profit são definidas com base nas características do Pin Bar, proporcionando uma relação risco/recompensação razoável.
  5. A lógica e as regras do código são claras e fáceis de compreender e implementar.

Análise de riscos

  1. A confiabilidade dos sinais Pin Bar pode ser muito diminuída em mercados agitados, onde o filtro de tendência é menos eficaz.
  2. Pin Bars podem falhar diante de eventos de baixa ou alta excepcionalmente fortes.
  3. A frequência de negociação é relativamente baixa, o que pode conduzir a amostras insuficientes de backtest.
  4. Os parâmetros por defeito podem exigir uma otimização adicional para instrumentos e prazos específicos.
  5. Como sistema de sinal único, o risco global é relativamente elevado.

Orientações de otimização

  1. Considere a introdução de outros padrões de reversão, tais como Inside Bars para enriquecer fontes de sinal.
  2. Usar indicadores de volatilidade como o ATR para ajustar dinamicamente o stop loss e as posições de lucro para se adaptar às diferentes condições de mercado.
  3. Implementar um percentual de parada para maximizar os lucros.
  4. Incorpore dados mais fundamentais, como calendários econômicos e eventos significativos, para filtrar sinais potencialmente inválidos.
  5. Introduzir um módulo de gestão de fundos para controlar a exposição ao risco de cada operação.

Resumo

Esta estratégia de reversão Pin Bar emprega uma abordagem simples e eficaz, usando filtragem de tendência e filtragem de volume para melhorar a precisão do reconhecimento de sinal.


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Filtered Pin Bar Strategy with Relaxed Volume", overlay=true)

// Define the size of the pin bar's wick and body
wickSize = 0.6
bodySize = 0.3

// Calculate the size of the wicks and body
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
body = math.abs(close - open)

// Define a simple moving average to determine the trend
smaLength = 50
sma = ta.sma(close, smaLength)

// Define a more relaxed volume threshold
volumeThreshold = ta.sma(volume, 20) * 1.0

// Define RSI parameters
rsiLength = 14
rsiOverbought = 70
rsiOversold = 30
rsi = ta.rsi(close, rsiLength)

// Define the conditions for a bullish pin bar
bullishPinBar = (lowerWick > (wickSize * (high - low))) and
     (body < (bodySize * (high - low))) and
     (close > open) and
     (close > sma) and
     (volume > volumeThreshold)

// Define the conditions for a bearish pin bar
bearishPinBar = (upperWick > (wickSize * (high - low))) and
     (body < (bodySize * (high - low))) and
     (close < open) and
     (close < sma) and
     (volume > volumeThreshold)

// Plot the bullish and bearish pin bars on the chart
plotshape(series=bullishPinBar, title="Bullish Pin Bar", location=location.belowbar, color=color.green, style=shape.labelup, text="PB")
plotshape(series=bearishPinBar, title="Bearish Pin Bar", location=location.abovebar, color=color.red, style=shape.labeldown, text="PB")

// Entry and exit rules
if (bullishPinBar)
    strategy.entry("Bullish Pin Bar", strategy.long)
if (bearishPinBar)
    strategy.entry("Bearish Pin Bar", strategy.short)

// Optional: Set stop loss and take profit
stopLoss = 2 * body
takeProfit = 3 * body
strategy.exit("Exit Long", from_entry="Bullish Pin Bar", stop=low - stopLoss, limit=high + takeProfit)
strategy.exit("Exit Short", from_entry="Bearish Pin Bar", stop=high + stopLoss, limit=low - takeProfit)


Relacionados

Mais.