Estratégia de compra e venda de rompimento do canal Double Gann


Data de criação: 2023-09-12 14:33:08 última modificação: 2023-09-12 14:34:16
cópia: 0 Cliques: 801
1
focar em
1617
Seguidores

Estratégia de compra e venda de rompimento do canal Double Gann

Esta estratégia é baseada na teoria de dois canais de Gann. Gann acredita que os preços das ações flutuam dentro de um canal, usando bandas de oscilação de aumento e diminuição de linha média para construir um canal de alta e baixa. Quando o preço das ações quebra o canal, representa uma reversão de tendência. Esta estratégia usa essa teoria para construir um sistema de dois canais, descobrir tendências e realizar operações de compra e venda.

Princípio da estratégia

  1. Construção de dois canais de Gann, interno e externo. O parâmetro do canal interno é de 81 dias de média, com uma largura de banda maior que a diferença padrão. O parâmetro do canal externo é de 81 dias de média, com uma largura de banda maior que a diferença padrão.

  2. Quando o preço de fechamento do mercado de ações quebra o canal interno de baixo para cima, uma operação de compra é realizada. Isso significa que o preço da ação pode entrar em uma nova tendência de alta.

  3. Quando o preço de fechamento de cima para baixo quebra o canal interno, uma operação de venda é realizada. Isso significa que o preço da ação pode entrar em uma nova tendência de queda.

  4. O canal externo serve como linha de parada. Se o preço da ação cair novamente abaixo do limite inferior do canal externo após a ruptura do canal interno, a parada é parada. Se o preço da ação romper novamente o limite superior do canal externo após a ruptura do canal interno, a parada é parada.

A vantagem da estratégia é que:

  1. Usando um sistema de dois canais, pode-se determinar com mais precisão o ponto de viragem da tendência. O canal interno e externo se espalha, evitando efetivamente a falsa ruptura.

  2. A partir daí, a tendência é de que os investidores e os investidores não tenham a menor chance de ganhar dinheiro.

  3. O controle de risco é efetivo com o bloqueio de perda de dois canais.

O risco desta estratégia é que:

  1. Quando o mercado está em choque, o canal pode ser rompido várias vezes, gerando sinais errados. Os parâmetros devem ser adequadamente ajustados para garantir a estabilidade do canal.

  2. Ao abrir um canal, é fácil comprar perto de alta e vender perto de baixa. Deve-se prestar atenção à escolha de pontos.

  3. O ponto de parada de perda está muito próximo e pode ser desencadeado por um ajuste de curto prazo. A largura de parada deve ser adequadamente liberada.

Em resumo, esta estratégia usa o canal duplo de Gann para determinar os pontos de mudança de tendência, adota uma abordagem de operação inovadora e obtém um equilíbrio entre o lucro e o controle de risco. A estratégia pode obter melhores resultados através de parâmetros de otimização e controle rigoroso do risco.

Código-fonte da estratégia
/*backtest
start: 2023-01-01 00:00:00
end: 2023-01-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("[VJ] Gann Double Band Buy Sell", overlay=true)
tim=input('375')
//skip buying near upper band and selling near lower band
out1 = security(syminfo.tickerid, tim, open)
out2 = security(syminfo.tickerid, tim, close)

// gann 81, 1 & 81, 2 as channel
length = input(81, minval=1)
src = input(close, title="Source")

Band1 = input(1.0, minval=0.001, maxval=10, step=0.1)
basis = sma(src, length)
dev = Band1 * stdev(src, length)
upper = basis + dev
lower = basis - dev

Band2 = input(2.0, minval=0.001, maxval=10, step=0.1)
dev2 = Band2 * stdev(src, length)
upper2 = basis + dev2
lower2 = basis - dev2

plot(basis, color=black ,linewidth=3 )
p1a = plot(upper, color=green,linewidth=2)
p1b = plot(lower, color=green,linewidth=2)

p2a = plot(upper2, color=blue, linewidth=3)
p2b = plot(lower2, color=blue, linewidth=3)



longCondition = crossover(security(syminfo.tickerid, tim, close),security(syminfo.tickerid, tim, open)) and close < upper
if (longCondition)
    strategy.entry("long", strategy.long)
shortCondition = crossunder(security(syminfo.tickerid, tim, close),security(syminfo.tickerid, tim, open)) and close > lower
if (shortCondition)
    strategy.entry("short", strategy.short)