Estratégia longa de ruptura do Golden Ratio

Autora:ChaoZhang, Data: 2023-11-28 13:40:35
Tags:

img

Resumo

A Estratégia Longa de Breakout da Taxa de Ouro é uma estratégia de negociação baseada nos níveis da Taxa de Ouro dos preços mais altos e mais baixos nos últimos 21 dias.

Estratégia lógica

A estratégia primeiro calcula o preço mais alto de 21 dias (high21) e o preço mais baixo de 21 dias (low21), em seguida, calcula a diferença entre eles como diferença. O sinal de negociação é acionado quando o preço baixo atual quebra acima do baixo de 21 + 0,382 * diferença enquanto o fechamento da barra anterior é maior do que a barra anterior aberta. O stop loss é definido em baixo de 21 + 0,236 * diferença. Em outras palavras, quando o preço quebra a linha da proporção de ouro de 38,2% da faixa de preços recente de 21 dias com elasticidade ascendente, uma posição longa é iniciada. A linha de stop loss é a linha da proporção de ouro de 23,6%.

Os níveis do índice de ouro são usados aqui, pois geralmente correspondem a áreas comuns de suporte e resistência do mercado. 0,382 e 0,236 são observados como níveis de retração e de retorno, tornando o índice de ouro um dos números mais intrigantes da natureza.

Análise das vantagens

As vantagens desta estratégia são as seguintes:

  1. Guiados pela metodologia de análise técnica madura - teoria da proporção de ouro.

  2. A configuração prolongada reduz o risco do sistema.

  3. O mecanismo de rastreamento de tendências identifica o momento preciso da entrada.

  4. O controlo de perda de paragem é claro e controla o risco.

  5. Parâmetros de backtest personalizáveis adequados a diferentes ambientes de mercado.

Análise de riscos

Há também alguns riscos:

  1. A dependência de dados históricos provoca insensibilidade às mudanças do regime de mercado.

  2. O stop loss apertado pode ser interrompido por intervalos durante a noite.

  3. Os sinais falsos podem ocorrer se ocorrerem violentas oscilações de preços em períodos de backtest inadequados.

  4. O deslizamento afeta a rentabilidade.

Estes riscos podem ser reduzidos ajustando os períodos de backtest, otimizando a colocação de stop loss, considerando o custo de deslizamento, etc.

Orientações de otimização

A estratégia pode ser melhorada nos seguintes aspectos:

  1. Otimizar automaticamente os parâmetros com algoritmos de aprendizagem de máquina para melhor se adequar ao mercado atual.

  2. Incorporar produtos de alavancagem como futuros de índices para amplificação de posição.

  3. Melhorar a gestão de eventos extremos, como diferenças de preços.

  4. Otimizar as regras de stop loss, por exemplo, definir paradas dinâmicas com base na volatilidade.

Conclusão

Em conclusão, esta é uma estratégia de longo prazo que fornece uma lógica clara de entrada e stop loss baseada na teoria da proporção de ouro.


/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © omkarkondhekar

//@version=4
strategy("GRBLong", overlay=true)

highInput = input(title = "High Days", type = input.integer, defval = 21, minval = 11)
lowInput = input(title = "Low Days", type = input.integer, defval = 21, minval = 5)

// Configure backtest start date with inputs
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2019, minval=1800, maxval=2100)

// See if this bar's time happened on/after start date
afterStartDate = (time >= timestamp(syminfo.timezone,
     startYear, startMonth, startDate, 0, 0))

high21 = highest(high, highInput)
low21 = lowest(low, lowInput)

diff = high21 - low21

longEntrySignal = low > low21 + (diff * 0.382) and close[1] > open[1] 

strategy.entry("Long", strategy.long, limit = low, when = longEntrySignal and afterStartDate)
strategy.exit("Long Exit", "Long", stop = low21 + (diff * 0.236))

plot(low21 + (diff * 0.382), color= color.green)
plot(low21 + (diff * 0.236), color = color.red)


Mais.