Estratégia de negociação de média móvel Golden Cross e Death Cross


Data de criação: 2023-10-30 14:42:09 última modificação: 2023-10-30 14:42:09
cópia: 0 Cliques: 663
1
focar em
1617
Seguidores

Estratégia de negociação de média móvel Golden Cross e Death Cross

Descrição: Esta estratégia é baseada em uma média móvel de três períodos diferentes para executar a negociação de Forex. Faça mais quando atravessa a média de longo período na média de curto período e faça menos quando atravessa a média de longo período abaixo da média de curto período.

Princípios da estratégia:

  1. Defina três médias móveis, a média de curto prazo, a média de longo prazo e a média de tendência. A média de curto prazo tem um período de 20 anos, a média de longo prazo tem um período de 200 anos e a média de tendência tem um período de 50 anos.

  2. Quando a linha média curta atravessa a linha média longa, gera um sinal de compra maior. Quando a linha média curta atravessa a linha média longa, gera um sinal de venda menor.

  3. Ao mesmo tempo, verifique se a média de curto prazo e a média de longo prazo estão acima da média de tendência e, se não estiverem satisfeitas, filtre o sinal. Isso pode evitar a operação de contracorrente.

  4. O Stop Loss e o Stop Stop são definidos como uma certa proporção do preço de entrada e os parâmetros podem ser otimizados de acordo com a situação real.

  5. Desenhe os pontos de interseção da linha uniforme para auxiliar na observação do tempo de entrada.

Análise de vantagens:

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

  2. A análise de tendências de curto e médio prazo é eficaz.

  3. A combinação de equilíbrio de tendência permite uma filtragem adicional dos sinais e evita a operação de reversão.

  4. Os parâmetros das três linhas de equilíbrio podem ser adaptados às características de diferentes mercados.

  5. Parâmetros de parada de danos personalizáveis para controlar o risco.

Análise de Riscos:

  1. Se houver uma forte oscilação no mercado, pode ocorrer o bloqueio de perdas.

  2. A tendência é de que, se a tendência mudar, a perda pode ser maior.

  3. A configuração inadequada dos parâmetros pode causar transações frequentes ou oportunidades perdidas.

  4. Os custos de transação devem ser considerados.

Otimização:

  1. Pode ser combinado com um indicador de taxa de flutuação para filtrar ainda mais o sinal, como o ATR.

  2. Algoritmos de aprendizagem de máquina podem ser introduzidos para otimizar dinamicamente os parâmetros.

  3. Pode ser combinado com outros indicadores para avaliar tendências, como o MACD.

  4. Pode-se definir um stop loss móvel para bloquear o lucro.

  5. Os parâmetros do Stop Loss Stop podem ser otimizados através da retrospectiva.

Resumo:

A estratégia é clara e fácil de executar, capturando sistematicamente as tendências por meio de um sistema de forcados e forcados. A estratégia é baseada em um equilíbrio de tendência e um stop loss para controlar o risco. A configuração de parâmetros precisa ser otimizada de acordo com as condições específicas do mercado.

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

//@version=5
strategy("XAU M15", overlay=true)

// Define input parameters
long_length = input.int(64, title="Long MA Length")
short_length = input.int(1, title="Short MA Length")
trend_length = input.int(200, title="Trend MA Length")

// Calculate moving averages
long_ma = ta.sma(close, long_length)
short_ma = ta.sma(close, short_length)
trend_ma = ta.sma(close, trend_length)

// Plot moving averages on chart
plot(long_ma, color=color.blue, title="Long MA")
plot(short_ma, color=color.red, title="Short MA")
plot(trend_ma, color=color.green, title="Trend MA")

// Entry conditions
enterLong = ta.crossover(long_ma, short_ma) and long_ma > trend_ma and short_ma > trend_ma
enterShort = ta.crossunder(long_ma, short_ma) and long_ma < trend_ma and short_ma < trend_ma

if (enterLong)
    strategy.entry("Long", strategy.long)

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

// Exit conditions
exitLong = ta.crossunder(long_ma, short_ma)
exitShort = ta.crossover(long_ma, short_ma)

if (exitLong)
    strategy.close("Long")

if (exitShort)
    strategy.close("Short")

// Set stop loss and take profit levels
long_stop_loss_percentage = input(1, title="Long Stop Loss (%)") / 100
long_take_profit_percentage = input(3, title="Long Take Profit (%)") / 100

short_stop_loss_percentage = input(1, title="Short Stop Loss (%)") / 100
short_take_profit_percentage = input(3, title="Short Take Profit (%)") / 100

strategy.exit("Take Profit/Stop Loss", "Long", stop=close * (1 - long_stop_loss_percentage), limit=close * (1 + long_take_profit_percentage))
strategy.exit("Take Profit/Stop Loss", "Short", stop=close * (1 + short_stop_loss_percentage), limit=close * (1 - short_take_profit_percentage))

plotshape(series=enterLong, title="Buy Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny)
plotshape(series=enterShort, title="Sell Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)