Sistema de negociação de rastreamento de tendências multiperíodo com base na banda de flutuação da média móvel EMA

EMA stdev ATR SMA MACD RSI
Data de criação: 2024-11-29 10:49:30 última modificação: 2024-11-29 10:49:30
cópia: 1 Cliques: 424
1
focar em
1617
Seguidores

Sistema de negociação de rastreamento de tendências multiperíodo com base na banda de flutuação da média móvel EMA

Visão geral

Esta estratégia é um sistema de negociação de bandas de flutuação construído com base na média móvel do índice de 300 períodos (EMA). Combinando a EMA e a diferença padrão, forma uma faixa de flutuação dinâmica semelhante à faixa de Bryn para capturar oportunidades de sobrevenda e sobrevenda no mercado. A estratégia gera sinais de negociação principalmente através do cruzamento do preço com as bandas de flutuação e define condições de parada baseadas em porcentagens.

Princípio da estratégia

O núcleo da estratégia é estabelecer um centro de preço através de 300 EMAs, e usar o desvio padrão para construir uma banda de ondas ascendentes e descendentes. Quando o preço quebra a trajetória abaixo, é considerado um sinal de venda excessiva e quando a trajetória é considerada um sinal de compra excessiva.

  1. Utilizando a EMA de 300 ciclos para estabelecer uma referência de tendência de longo prazo
  2. Calcular o diferencial padrão de preço de 300 ciclos e construir bandas de flutuação com o dobro do diferencial padrão
  3. O preço da bolsa de valores do mercado de ações do Brasil subiu 0,98% em relação ao preço do mercado de ações do Brasil.
  4. A posição foi fechada quando o preço se acelerou e a parada de posição caiu 0,98% no preço de abertura
  5. Apresentação de sinais de negociação de forma intuitiva através de uma interface gráfica, com alertas em tempo real

Vantagens estratégicas

  1. O sistema usa EMAs de longo período para filtrar melhor o ruído do mercado de curto prazo
  2. A banda de flutuação dinâmica adapta-se a variações de taxa de flutuação do mercado
  3. Regras claras de negociação, evitando interferências de julgamentos subjetivos
  4. Mecanismos de prevenção e controle de riscos
  5. Interface gráfica intuitiva para observar o estado do mercado
  6. A função de alerta em tempo real ajuda a aproveitar as oportunidades de negociação

Risco estratégico

  1. A média de longo período está atrasada e pode ter perdido a tendência rápida
  2. Falso avanço pode ser frequente em mercados em turbulência
  3. O que acontece é que os jogadores que não conseguem fazer o que querem, e que não conseguem fazer o que querem, não conseguem fazer o que querem.
  4. Sem um mecanismo de parada de perdas, o risco é maior se a tendência se inverter drasticamente As seguintes medidas são recomendadas para gerenciar riscos:
  • Indicadores auxiliares de julgamento combinados com indicadores de curto período
  • Adicionado filtro de confirmação de tendência
  • Percentagem de paralisação de ajuste dinâmico
  • Mecanismos complementares de prevenção de perdas

Direção de otimização da estratégia

  1. Introdução de indicadores de confirmação de tendência, como MACD, RSI, etc., filtrando falsos sinais de ruptura
  2. ATR para ajuste dinâmico da posição de parada de travagem
  3. Adição de Stop Loss móvel para melhor bloqueio de lucros
  4. Optimizar os parâmetros de comprimento para encontrar a combinação de ciclos ideal
  5. Considere a inclusão de indicadores de volume de tráfego para melhorar a confiabilidade do sinal
  6. Desenvolvimento de mecanismos de parâmetros de adaptação para melhorar a adaptabilidade das estratégias

Resumir

A estratégia de captar o mercado de overbought e oversold oportunidades através de bandas de EMA oscilação, as regras de negociação são claras, a operação é simples. No entanto, na aplicação prática, é necessário prestar atenção ao controle de risco, recomenda-se para melhorar a estabilidade da estratégia através da adição de indicadores auxiliares, otimizar a configuração de parâmetros, etc. A estratégia de design global racional, com um bom valor prático e espaço de otimização.

Código-fonte da estratégia
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia de Compra/Venta en Bandas de EMA 300", overlay=true)

// Definir el período de la EMA
periodo = input.int(300, title="Período de la EMA")

// Calcular la EMA de 300
ema_300 = ta.ema(close, periodo)

// Definir el número de desviaciones estándar
num_desviaciones = input.float(2, title="Número de Desviaciones Estándar")

// Calcular la desviación estándar de la EMA de 300
desviacion = ta.stdev(close, periodo)

// Calcular los límites superior e inferior de las bandas
banda_superior = ema_300 + desviacion * num_desviaciones
banda_inferior = ema_300 - desviacion * num_desviaciones

// Definir el porcentaje para las señales de compra y venta
porcentaje = input.float(0.98, title="Porcentaje de Salida de Banda")

// Definir señales de compra y venta
compra = ta.crossover(close, banda_inferior)
venta = ta.crossunder(close, banda_superior)

// Calcular el precio de salida para las señales de compra y venta
precio_salida_compra = close * (1 + porcentaje / 100)
precio_salida_venta = close * (1 - porcentaje / 100)

// Plotear las bandas
plot(banda_superior, color=color.blue, linewidth=2, title="Banda Superior")
plot(banda_inferior, color=color.red, linewidth=2, title="Banda Inferior")

// Plotear las señales de compra y venta
plotshape(compra, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Compra")
plotshape(venta, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Venta")

// Simular operaciones
if (compra)
    strategy.entry("Compra", strategy.long)
if (venta)
    strategy.entry("Venta", strategy.short)

// Definir reglas de salida
if (strategy.position_size > 0)
    strategy.exit("Exit Long", from_entry="Compra", limit=precio_salida_compra)
if (strategy.position_size < 0)
    strategy.exit("Exit Short", from_entry="Venta", limit=precio_salida_venta)

// Crear alertas
alertcondition(compra, title="Alerta de Compra", message="¡Señal de Compra Detectada!")
alertcondition(venta, title="Alerta de Venta", message="¡Señal de Venta Detectada!")

// Mostrar alertas en el gráfico
if (compra)
    label.new(bar_index, low, text="Compra", style=label.style_label_up, color=color.green, textcolor=color.white)
if (venta)
    label.new(bar_index, high, text="Venta", style=label.style_label_down, color=color.red, textcolor=color.white)