Estratégia de Golden Cross e Death Cross de Double EMA


Data de criação: 2023-10-16 16:15:38 última modificação: 2023-10-16 16:15:38
cópia: 1 Cliques: 638
1
focar em
1617
Seguidores

Estratégia de Golden Cross e Death Cross de Double EMA

Visão geral

A estratégia é baseada em uma estratégia de negociação de forcas de ouro e forcas de ouro baseada em dois indicadores de EMA. A estratégia é feita calculando a linha rápida EMA e a linha lenta EMA, fazendo mais quando atravessa a linha lenta na linha rápida e é neutralizada quando atravessa a linha lenta sob a linha rápida.

Princípio da estratégia

A estratégia é baseada principalmente em dois indicadores EMA. Primeiro, calcula-se a EMA de linha rápida e a EMA de linha lenta. O ciclo EMA de linha rápida é curto e reflete sensivelmente as mudanças de preço; o ciclo EMA de linha lenta é longo e reflete a tendência de longo prazo.

A estratégia inclui, em particular, as seguintes etapas:

  1. Introduza os parâmetros dos EMAs de linha rápida e lenta, incluindo o comprimento do ciclo SMA, a fonte de dados, etc.

  2. Calcule o EMA de linha rápida e a EMA de linha lenta

  3. Definindo o horário do forquilho: a linha rápida atravessa a linha lenta de baixo para cima

  4. Definir horário de morte: linha rápida atravessa linha lenta de cima para baixo

  5. Compre mais quando estiver com um garfo

  6. “Aposentar-se na hora da morte”

  7. Opção de permitir ou não um curto prazo e usar uma estratégia de stop loss

  8. Exportação de notificações de compra e venda

Com esta simples estratégia de cruzamento de duas EMAs, é possível capturar temporariamente tendências de preços de curto prazo e obter ganhos.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. A estratégia é simples, clara e fácil de entender.

  2. O que é necessário é apenas dois indicadores EMA, para facilitar a realização.

  3. A arbitragem pode capturar tendências de preços de curto prazo, obtendo ganhos de volatilidade.

  4. Capacidade de personalizar o ciclo EMA, com flexibilidade para adaptar-se a diferentes ciclos de mercado.

  5. Pode optar por uma estratégia de controlo de risco flexível e permitir a realização de um curto prazo.

  6. A opção de usar ou não uma estratégia de stop loss para controlar o risco de negociação.

  7. Notificações de compra e venda podem ser exportadas para facilitar o monitoramento.

  8. As estratégias são fáceis de otimizar, com a flexibilidade de ajustar os parâmetros do EMA para otimizar o espaço de lucro.

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. A estratégia de dupla EMA é propensa a produzir falsos sinais e pode levar a prejuízos desnecessários.

  2. A configuração irracional do ponto de parada pode aumentar os prejuízos.

  3. A frequência de transações pode ser excessiva, aumentando os custos de transação e o risco de deslizamento.

  4. Os parâmetros de EMA fixos não podem ser adaptados às mudanças do mercado.

  5. “Eu não tenho nada a ver com isso.

  6. A tendência é de que os investidores não possam avaliar a inversão da tendência, e que possam optar por inverter a posição.

Correspondentes medidas de gestão de riscos:

  1. Optimizar os parâmetros EMA para reduzir a probabilidade de falsos sinais.

  2. Estabeleça um ponto de parada razoável para controlar as perdas individuais.

  3. Otimizar o ciclo EMA e reduzir a frequência de negociação.

  4. Os parâmetros do EMA podem ser ajustados dinamicamente em diferentes fases do mercado.

  5. Aumentar os indicadores de tendência para evitar a queda.

  6. A combinação de indicadores de tendências para determinar a direção das grandes tendências.

Direção de otimização

A estratégia pode ser otimizada em:

  1. Otimização dinâmica dos parâmetros EMA, com diferentes combinações de ciclos EMA em diferentes fases do mercado, para otimizar o efeito de arbitragem dos parâmetros.

  2. Aumentar os critérios de seleção de ações e, se as ações atenderem a certos critérios, realizar negociações estratégicas para aumentar a taxa de sucesso.

  3. Combinado com os indicadores de volatilidade, reduz o risco de evasão de posições em fases de baixa volatilidade.

  4. A combinação de indicadores de volume de transação, em alta quantidade pode confirmar a tendência para produzir um sinal.

  5. A definição de condições de preço, como a quebra da linha de 20 dias e a negociação da estratégia EMA.

  6. Optimizar a estratégia de stop loss e definir as condições de stop loss para bloquear os lucros.

  7. Aumentar o discernimento de tendências em grande escala para evitar posições de desvantagem.

  8. Estratégias de otimização contínua combinadas com algoritmos de aprendizagem profunda e vários algoritmos de aprendizagem de máquina.

Resumir

Resumindo, a estratégia geral do EMA é simples, fácil de entender e implementar, pode capturar os fluxos de preços para obter lucro, mas também existe um certo risco de lucro. Podemos controlar o risco e obter retornos satisfatórios através de métodos como otimização de parâmetros, parada de perdas, filtragem de ações e julgamento de tendências em grande escala.

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

//@version=4

strategy("EMA Strategy", shorttitle="EMA Strategy", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100)


// === Inputs ===
// short ma
maFastSource = input(defval=close, title="Fast MA Source")
maFastLength = input(defval=3, title="Fast MA Period", minval=1)

// long ma
maSlowSource = input(defval=close, title="Slow MA Source")
maSlowLength = input(defval=9, title="Slow MA Period", minval=1)

// invert trade direction
shorting = input(defval=false, title="Allow Shorting?")
// risk management
useStop = input(defval=false, title="Use Initial Stop Loss?")
slPoints = input(defval=25, title="Initial Stop Loss Points", minval=1)
useTS = input(defval=false, title="Use Trailing Stop?")
tslPoints = input(defval=120, title="Trail Points", minval=1)
useTSO = input(defval=false, title="Use Offset For Trailing Stop?")
tslOffset = input(defval=20, title="Trail Offset Points", minval=1)

// Messages for buy and sell
message_buy  = input("Buy message", title="Buy Alert Message")
message_sell   = input("Sell message", title="Sell Alert Message")

// Calculate start/end date and time condition
startDate  = input(timestamp("2021-01-01T00:00:00"), type = input.time)
finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time)
 
time_cond  = true

// === Vars and Series ===
fastMA = ema(maFastSource, maFastLength)
slowMA = ema(maSlowSource, maSlowLength)

plot(fastMA, color=color.blue)
plot(slowMA, color=color.purple)

goLong() =>
    crossover(fastMA, slowMA)
killLong() =>
    crossunder(fastMA, slowMA)
strategy.entry("Buy", strategy.long, when=goLong() and time_cond, alert_message = message_buy)
strategy.close("Buy", when=killLong() and time_cond, alert_message = message_sell)

// Shorting if using
if shorting
    strategy.entry("Sell", strategy.short, when=killLong() and time_cond, alert_message = message_sell)
    strategy.close("Sell", when=goLong() and time_cond, alert_message = message_buy)

if useStop
    strategy.exit("XLS", from_entry="Buy", stop=strategy.position_avg_price / 1.08)
    strategy.exit("XSS", from_entry="Sell", stop=strategy.position_avg_price * 1.08)