Estratégia de média móvel dinâmica rastreando o valor do padrão ouro


Data de criação: 2024-01-12 11:54:21 última modificação: 2024-01-12 11:54:21
cópia: 1 Cliques: 593
1
focar em
1617
Seguidores

Estratégia de média móvel dinâmica rastreando o valor do padrão ouro

Visão geral

Esta estratégia utiliza o preço de abertura e de fechamento do dia anterior, bem como uma combinação de EMA de linha rápida e EMA de linha lenta, para determinar a direção do valor do mercado e fazer as operações de compra ou venda correspondentes durante o período de tempo de negociação definido pelo usuário. Ao mesmo tempo, a estratégia usa o tracking stop loss para bloquear o lucro ou limitar as perdas.

Princípio da estratégia

A estratégia baseia-se em dois fatores para determinar a direção do valor da base do ouro:

  1. O preço de fechamento do dia anterior é uma queda em relação ao preço de abertura. Se o preço de fechamento é maior que o preço de abertura, o valor total do dia é aumentado; Se o preço de fechamento é menor que o preço de abertura, o valor total do dia é diminuído.

  2. A relação de posição entre o EMA rápido de 50 ciclos e o EMA lento de 200 ciclos. Se o EMA rápido estiver acima do EMA lento, a taxa de aumento de valor de curto prazo é maior que a tendência de longo prazo; se o EMA rápido estiver abaixo do EMA lento, a taxa de aumento de valor de curto prazo é menor que a tendência de longo prazo.

Quando se cumpre a condição de fazer mais, se o preço de fechamento do dia anterior for maior que o preço de abertura, o preço atual for maior que o preço de abertura do dia anterior, e o EMA de linha rápida for maior que o EMA de linha lenta, e dentro do tempo de negociação definido pelo usuário, a estratégia de fazer mais base de ouro.

Quando se cumpre a condição de shorting, se o preço de fechamento do dia anterior for inferior ao preço de abertura, o preço atual for inferior ao preço de abertura do dia anterior, e o EMA de linha rápida for inferior ao EMA de linha lenta, e dentro do tempo de negociação definido pelo usuário, a estratégia de shorting é a base.

Além disso, a estratégia usa o tracking stop loss para bloquear o lucro ou limitar as perdas. A distância do tracking stop loss é ajustada de acordo com a distância inicial e o progresso móvel definidos pelo usuário.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. O uso de vários indicadores para determinar a direção do valor do preço do ouro reduziu a probabilidade de transações erradas.

  2. O rastreamento de perdas pode ser eficaz para bloquear os lucros, parar perdas em tempo hábil quando o mercado se inverte, reduzir o risco.

  3. Os usuários podem escolher a zona de negociação apropriada de acordo com o seu horário de negociação, evitando ficar presos durante as operações institucionais.

  4. Os valores periódicos da EMA podem ser ajustados e otimizados de acordo com as mudanças do mercado, tornando a estratégia mais flexível.

Análise de Riscos

A estratégia também tem riscos:

  1. Quando ocorrem surpresas, a estratégia pode gerar maiores perdas. Isso requer intervenção manual ou configuração de um intervalo de parada mais frouxo.

  2. A EMA não pode filtrar completamente o ruído do mercado. Quando a EMA produz um sinal errado, desencadeia negociações desnecessárias. Os parâmetros da EMA podem ser apropriadamente otimizados ou outros indicadores de filtragem podem ser adicionados.

  3. A configuração inadequada do tracking stop loss também aumenta o risco. A distância muito próxima é fácil de ser parada; a distância muito distante não é eficaz para controlar a perda.

Direção de otimização

A estratégia também pode ser melhorada nos seguintes aspectos:

  1. A adição de filtros de outros indicadores técnicos, como MACD, Bollinger Bands, etc., reduz a probabilidade de sinais errados do EMA.

  2. O tracking stop será substituído por um stop adaptativo, que ajusta inteligentemente a distância de parada de acordo com a volatilidade do mercado.

  3. Adicionar módulos de gerenciamento de posições, permitir o controle de risco por divisão de posições e reduzir o impacto de perdas individuais.

  4. Aumentar a precisão dos modelos de aprendizagem de máquina para determinar a direção das tendências, utilizando mais dados históricos.

  5. Optimizar a escolha de períodos de negociação, combinando a distribuição normal com a escolha de estratégias de negociação com maior participação.

Resumir

A estratégia, em geral, é uma estratégia típica de acompanhamento de tendências. Combina vários indicadores para determinar a direção da tendência de aumento ou diminuição do valor e pertence ao tipo de estratégia mais robusta. A aplicação de stop-loss tracking também permite um controle efetivo dos prejuízos.

Código-fonte da estratégia
/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

// Inputs for user to modify
startHour = input(11, title="Start Hour")
endHour = input(16, title="End Hour")
trailingStop = input(100, title="Trailing Stop Start (pips)")
trailingStep = input(10, title="Trailing Step (pips)")

// Define the EMAs
longEma = ema(close, 200)
shortEma = ema(close, 50)

// Calculate daily open, high, low, close
daily_open = security(syminfo.tickerid, "D", open[1])
daily_close = security(syminfo.tickerid, "D", close[1])

// Time conditions
timeAllowed = (hour >= startHour) and (hour <= endHour)

// Define long condition based on your criteria
longCondition = (daily_close > daily_open) and (close > daily_open) and (shortEma > longEma) and timeAllowed

// Define short condition based on your criteria
shortCondition = (daily_close < daily_open) and (close < daily_open) and (shortEma < longEma) and timeAllowed

// Enter the trade
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Trailing Stop Loss
strategy.exit("Exit Long", "Long", trail_points = trailingStop / syminfo.mintick, trail_offset = trailingStep / syminfo.mintick)
strategy.exit("Exit Short", "Short", trail_points = trailingStop / syminfo.mintick, trail_offset = trailingStep / syminfo.mintick)

// Plotting
plot(daily_open, color=color.red, title="Daily Open")
plot(longEma, color=color.blue, title="200 EMA")
plot(shortEma, color=color.orange, title="50 EMA")