Estratégia de Backtesting de Suporte e Resistência Dinâmicos


Data de criação: 2023-12-29 15:50:57 última modificação: 2023-12-29 15:50:57
cópia: 0 Cliques: 775
1
focar em
1621
Seguidores

Estratégia de Backtesting de Suporte e Resistência Dinâmicos

Visão geral

Esta estratégia baseia-se no preço máximo, mínimo e nível de resistência de suporte calculado no preço de fechamento do dia de negociação anterior, para operar em posições longas ou curtas no dia de negociação atual. Faça mais quando o preço quebra o nível de resistência superior R1; e faça um vazio quando o preço cai abaixo do nível de suporte inferior S1.

Princípio da estratégia

  1. O suporte S1, a resistência R1 e o ponto central vPP são calculados com base no preço máximo xHigh, no preço mínimo xLow e no preço de fechamento xClose do dia anterior.

vPP = (xHigh+xLow+xClose) / 3

vR1 = vPP+(vPP-xLow)

vS1 = vPP-(xHigh - vPP)

  1. Determine se o preço ultrapassou vR1 ou vS1, se ultrapassou vR1 faça mais, se ultrapassou vS1 faça zero.

pos = iff(close > vR1, 1,
iff(close < vS1, -1, nz(pos[1], 0)))

  1. O possig registra a direção da negociação real. Se a negociação inversa for aberta, o sinal de negociação é revertido.

  2. De acordo com o sinal de possig, faça mais ao romper vR1 e faça vazio ao romper vS1.

Vantagens estratégicas

  1. A estratégia usa indicadores de resistência e suporte dinâmicos para capturar situações de ruptura.
  2. A resistência de suporte é atualizada diariamente e é dinâmica.
  3. Pode-se optar por negociação positiva ou inversa, que se aplica a diferentes ambientes de mercado.
  4. A estratégia é simples, clara e fácil de entender.
  5. A visualização mostra o suporte e a resistência, e o intuitivo julga que a tendência está a mudar.

Análise de Riscos

  1. Se a situação se alterar, pode desencadear inúmeros e desnecessários sinais de compra e venda.
  2. Se houver uma tendência anormal, a resistência de suporte pode continuar a se estender após a quebra, causando prejuízos.
  3. Os métodos de cálculo dos pontos do eixo central e dos pontos de resistência de suporte são mais simples e precisam ser melhorados.

A solução para o risco:

  1. Ajustar adequadamente o tamanho das posições e controlar as perdas individuais.
  2. Estabeleça um ponto de parada para evitar perdas acima do que é aceitável.
  3. Combinado com outros indicadores de filtragem de sinais, evita-se a negociação frequente em situações de turbulência.

Direção de otimização

  1. Otimizar o método de cálculo dos pontos de resistência de suporte para torná-los mais previsíveis.
  2. Aumentar a combinação de indicadores como Tendência e Momento para evitar transações desnecessárias.
  3. Aumentar as estratégias de stop loss, controlar as apostas e a perda máxima.
  4. Combinação de métodos de aprendizagem de máquina para permitir a otimização dinâmica do cálculo de resistência de suporte.

Resumir

Esta estratégia é baseada em indicadores de resistência de suporte dinâmico, em função da direção da ruptura do preço. A estratégia é simples, fácil de entender e implementar, capaz de capturar efetivamente os pontos de inflexão da tendência. Mas também existe um certo risco, que precisa de ser ainda mais otimizado em combinação com outros indicadores, para tornar o sinal de negociação mais preciso e confiável.

Código-fonte da estratégia
//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/06/2018
// This Pivot points is calculated on the current day.
// Pivot points simply took the high, low, and closing price from the previous period and 
// divided by 3 to find the pivot. From this pivot, traders would then base their 
// calculations for three support, and three resistance levels. The calculation for the most 
// basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and 
// resistance levels.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Dynamic Pivot Point Backtest", shorttitle="Dynamic Pivot Point", overlay = true)
reverse = input(false, title="Trade reverse")
xHigh  = request.security(syminfo.tickerid,"D", high[1])
xLow   = request.security(syminfo.tickerid,"D", low[1])
xClose = request.security(syminfo.tickerid,"D", close[1])
vPP = (xHigh+xLow+xClose) / 3
vR1 = vPP+(vPP-xLow)
vS1 = vPP-(xHigh - vPP)
pos = iff(close > vR1, 1,
       iff(close < vS1, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(vS1, color=#ff0000, title="S1", style = circles, linewidth = 1)
plot(vR1, color=#009600, title="R1", style = circles, linewidth = 1)