Estratégia quantitativa de crossover SMA-EMA de múltiplos períodos

SMA EMA RSI HTF TP/SL Trailing Stop
Data de criação: 2025-06-16 14:55:14 última modificação: 2025-06-16 14:55:14
cópia: 4 Cliques: 257
2
focar em
319
Seguidores

Estratégia quantitativa de crossover SMA-EMA de múltiplos períodos Estratégia quantitativa de crossover SMA-EMA de múltiplos períodos

Visão geral

A estratégia de quantificação de cruzamento de múltiplos times SMA-EMA é uma estratégia de análise técnica que combina sinais de cruzamento de médias móveis simples (SMA) e médias móveis de índices (EMA) e ajuda a julgar através de filtros de múltiplos tempos e indicadores RSI. A ideia central da estratégia é capturar o ponto de cruzamento entre EMA15 e SMA60 como entrada, ao mesmo tempo em que o sinal é introduzido no EMA200 como referência de tendência de longo prazo e, em combinação com o EMA200 de tempos mais altos, filtra a direção da negociação, evitando finalmente a negociação de áreas de sobrecompra e venda pelo indicador RSI.

Princípio da estratégia

A estratégia baseia-se nos seguintes componentes de análise técnica:

  1. Média móvel cruzada

    • O cruzamento de um EMA de 15 com um SMA de 60 é usado como sinal principal
    • EMA15 atravessa SMA60 para formar um sinal múltiplo
    • EMA15 abaixo da SMA60 formando um sinal de vazio
    • EMA de 200 ciclos como referência de tendência de longo prazo
  2. Filtragem de tempo múltipla

    • A introdução de um marco de tempo mais alto (de 60 minutos por padrão) do EMA200 como uma ferramenta de avaliação de tendências
    • Só é permitido fazer mais quando o preço está acima da EMA200 de alta
    • O shorting é permitido somente quando o preço está abaixo da EMA200 da hora de alta
    • Este mecanismo de filtragem garante que a direção das negociações esteja de acordo com a tendência de um período de tempo maior.
  3. Mecanismo de filtragem RSI

    • Utilize o indicador RSI de 14 ciclos para evitar posições em zonas de excesso de compra e venda
    • RSI abaixo de 30 é zona de oversold, limite de shorting
    • RSI acima de 70 é zona de sobrecompra, limite de excesso
    • O projeto ajuda a evitar negociações adversas e a melhorar a qualidade de entrada.
  4. Sistema de gestão de riscos

    • Configuração de paragem flexível, com suporte a pontos fixos ou percentagens
    • Configuração de stop loss de pontos fixos
    • Mecanismo de Stop Loss para bloquear lucros
    • Controle do tempo de negociação para evitar posições antes do fechamento do mercado

A lógica de negociação da estratégia segue a lógica de “seguindo a tendência + confirmação múltipla”, assegurando a negociação apenas na direção de alta probabilidade por meio de um mecanismo de filtragem em vários níveis, além de proteger a segurança do capital por meio de medidas rigorosas de controle de risco.

Vantagens estratégicas

Ao analisar o código em profundidade, a estratégia tem as seguintes vantagens significativas:

  1. Mecanismo de confirmação múltiplaCombinação de cruzamento de médias móveis de curto prazo, julgamento de tendências de longo prazo e filtragem de RSI, formando um mecanismo de confirmação tripla, aumentando significativamente a qualidade do sinal e reduzindo as falsas rupturas e os sinais errados.

  2. Adaptação a diferentes cenários de mercadoAtravés de um design parametrizado, a estratégia pode ser adaptada de forma flexível a diferentes ambientes de mercado e variedades de negociação, como o ajuste do ciclo da média móvel, o RSI e outros.

  3. Um bom controlo de riscos

    • Suporte para vários modos de paragem (ponto fixo/percentagem)
    • Capitais de proteção
    • Segue-se o stop loss para bloquear o lucro
    • Este mecanismo de gerenciamento de risco em vários níveis controla de forma eficaz o maior risco de uma única transação
  4. Gerenciamento do período de transaçãoO sistema de negociação automática permite que os traders estabeleçam posições de liquidação antes do fechamento, evitando o risco de overnight e a incerteza causada pela volatilidade do fechamento, especialmente para os que operam no dia.

  5. Filtração de tendências de alta tensão de tempoA introdução de uma maior coluna de tempo para o julgamento de tendências garante que a direção das negociações esteja em consonância com as grandes tendências, aumentando a taxa de vitória.

  6. ModularidadeOs componentes da estratégia (generação de sinais, mecanismo de filtragem, gestão de riscos) são claramente separados, facilitando a compreensão e o ajuste, bem como a otimização e a expansão posteriores.

Risco estratégico

Apesar de ser uma estratégia abrangente, existem os seguintes riscos potenciais:

  1. Sensibilidade do parâmetroA eficácia da estratégia é altamente dependente da configuração de parâmetros, como o ciclo da média móvel, o limiar do RSI. Diferentes ambientes de mercado podem exigir diferentes combinações de parâmetros, e a otimização inadequada dos parâmetros pode levar a uma superalimentação dos dados históricos.

  2. Problemas de atrasoA média móvel é, por natureza, um indicador de atraso, que pode produzir um sinal de atraso em mercados de forte flutuação ou de rápida reversão, perdendo o melhor ponto de entrada ou causando um retorno maior.

  3. Mercado horizontal não está indo bemEm mercados de arbitragem horizontal, onde não há uma tendência clara, o cruzamento de médias móveis pode gerar frequentes falsos sinais, resultando em perdas contínuas.

  4. Excessiva dependência de indicadores técnicosA estratégia baseia-se apenas em indicadores técnicos, não leva em conta fatores fundamentais e sentimentos de mercado, e pode não funcionar bem em mercados movidos por grandes notícias ou eventos.

  5. Risco de perda fixaO ponto fixo de parada pode não ser suficientemente flexível em mercados com variações de volatilidade, o ponto fixo de parada pode ser muito relaxado quando a volatilidade se expande e o ponto fixo de parada pode ser muito apertado quando a volatilidade se contrai.

Solução:

  • Análise de mercados e períodos de tempo para encontrar uma combinação robusta de parâmetros
  • Considerar um mecanismo de amortização para aumentar a volatilidade
  • Adição de filtros adicionais nos mercados horizontais, como oscilação de tendências
  • Estratégias de reforço combinadas com fatores fundamentais ou indicadores de sentimento de mercado
  • Considerar a inclusão de um mecanismo de confirmação de volume de transação para melhorar a qualidade do sinal

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

Com base na estrutura existente da estratégia, algumas melhorias a considerar são:

  1. Mecanismos de adaptação à volatilidade

    • Introdução do indicador ATR (Average True Range) para ajustar os níveis de stop loss e stop loss
    • Ampliação do intervalo de perda em ambientes de alta volatilidade e aperto de perda em ambientes de baixa volatilidade
    • Este mecanismo de adaptação pode ser melhor adaptado a diferentes condições de mercado.
  2. Fortalecimento da coerência do calendário

    • Confirmação de um intervalo de tempo intermediário, formando um requisito de consistência de um triplo quadro de tempo de “curto + médio + longo prazo”
    • Execução de transações somente quando os sinais de vários períodos de tempo coincidem
    • Isso reduz ainda mais o risco de falsos sinais.
  3. Confirmação de transação

    • Adição de análise de volume de transação, exigindo que o volume de transação aumente quando o sinal é apresentado
    • Pode-se usar indicadores de volume de transação relativo, como OBV ou Chaikin Money Flow
    • A confirmação de volume de transações pode melhorar significativamente a qualidade do sinal e a eficácia da ruptura
  4. Optimização de parâmetros dinâmicos

    • Implementação de mecanismos de ajuste dinâmico de parâmetros para otimizar automaticamente o ciclo de médias móveis e os limites do RSI com base no desempenho recente do mercado
    • Esta abordagem de adaptação pode ajudar a estratégia a adaptar-se melhor às mudanças nas condições do mercado
  5. Classificação do estado do mercado

    • Adição de módulo de identificação de estado de mercado, que distingue mercados de tendência e mercados de turbulência
    • Regras de geração e filtragem de sinais diferentes em diferentes estados de mercado
    • Este ajuste dinâmico pode melhorar a adaptabilidade da estratégia em vários cenários de mercado
  6. A introdução da optimização de aprendizagem de máquina

    • Otimização de admissão usando algoritmos de aprendizagem de máquina como árvores de decisão ou redes neurais
    • Considere outros fatores como a estacionalidade, o sentimento do mercado, a volatilidade, etc.
    • Isso pode melhorar a capacidade de previsão e adaptabilidade das estratégias.

Essas orientações de otimização permitem melhorar as deficiências da estratégia para que ela mantenha um desempenho estável em um ambiente de mercado mais amplo.

Resumir

A estratégia de quantificação de cruzamentos de múltiplos ângulos de tempo SMA-EMA é um sistema de negociação de análise técnica bem estruturado e com lógica clara. Ela forma um quadro de decisão de negociação em vários níveis, combinando sinais de cruzamentos de médias móveis, filtragem de tendências de múltiplos ângulos de tempo e julgamentos de RSI.

A principal vantagem da estratégia reside no seu mecanismo de confirmação múltipla e no bom controle de risco, o que lhe permite ter um excelente desempenho em mercados de tendência e ao mesmo tempo controlar eficazmente o risco. No entanto, a estratégia também apresenta problemas como alta sensibilidade a parâmetros e pouca adaptabilidade a mercados horizontais.

Há muito espaço para melhorias na estratégia por meio da introdução de mecanismos de auto-adaptação de taxa de volatilidade, reforço dos requisitos de consistência de várias camadas de tempo, aumento da confirmação de volume de transações e otimização de parâmetros dinâmicos. Essas otimizações podem ajudar a estratégia a se adaptar melhor a diferentes condições de mercado, aumentando a estabilidade e a lucratividade em geral.

Em geral, é uma estratégia de acompanhamento de tendências bem projetada e adequada para o uso de comerciantes com uma certa base em análise técnica. Com o ajuste e otimização de parâmetros apropriados, pode ser uma ferramenta de negociação confiável, especialmente para ambientes de mercado com tendências claras a médio e longo prazo.

Código-fonte da estratégia
/*backtest
start: 2025-01-01 00:00:00
end: 2025-06-15 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy(title="PhaiSinh_SMA & EMA [VNFlow]", overlay=true, slippage=1, backtest_fill_limits_assumption=1, initial_capital=100.000, default_qty_type=strategy.fixed, default_qty_value=4, commission_type=strategy.commission.cash_per_order, commission_value=2700,fill_orders_on_standard_ohlc=true, calc_on_order_fills=true, process_orders_on_close=true)

// === Chỉ báo chính ===
sma60 = ta.sma(close, 60)
ema15 = ta.ema(close, 15)
ema200 = ta.ema(close, 200)
plot(sma60, title="SMA 60", color=color.rgb(227, 10, 251), linewidth=1)
plot(ema15, title="EMA 15", color=color.rgb(246, 222, 11), linewidth=1)
plot(ema200, title="EMA 200", color=color.rgb(13, 141, 245), linewidth=1)

// === Cấu hình thời gian thoát trước khi hết phiên ===
session_close_hour = input.int(14, title="Giờ đóng phiên (24h)")
session_close_minute = input.int(30, title="Phút đóng phiên")
minutes_before_close = input.int(5, title="Số phút thoát lệnh trước đóng phiên")
exit_hour = session_close_hour
exit_minute = session_close_minute - minutes_before_close
exit_hour := exit_minute < 0 ? exit_hour - 1 : exit_hour
exit_minute := exit_minute < 0 ? exit_minute + 60 : exit_minute
cutoff_time = (hour > exit_hour) or (hour == exit_hour and minute >= exit_minute)

// === Bộ lọc RSI ===
use_rsi_filter = input.bool(true, title="Bộ lọc RSI?")
rsi_period = input.int(14, title="Chu kỳ RSI")
rsi_overbought = input.int(70)
rsi_oversold = input.int(30)
rsi_val = ta.rsi(close, rsi_period)

// === Bộ lọc EMA từ HTF ===
use_htf_filter = input.bool(true, title="Bộ lọc EMA HTF?")
htf_tf = input.timeframe("60", title="Khung thời gian EMA cao hơn")
htf_ema = request.security(syminfo.tickerid, htf_tf, ta.ema(close, 200))
ema_trend_up = close > htf_ema
ema_trend_down = close < htf_ema

// === Cài đặt TP/SL/Trailing ===
use_percent_tp = input.bool(false, title="TP theo % (nếu không: tính theo tick)")
tp_value = input.float(1.0, title="Take Profit (tick hoặc %)")
sl_value = input.float(20.0, title="Stop Loss (tick)")
trail_offset = input.int(10, title="Trailing Stop (tick)")

// === Logic tín hiệu vào/ra ===
long_entry = ta.crossover(ema15, sma60) and close >= ema15 and not cutoff_time
short_entry = ta.crossunder(ema15, sma60) and close <= ema15 and not cutoff_time
long_ok = long_entry and (not use_htf_filter or ema_trend_up) and (not use_rsi_filter or rsi_val > rsi_oversold)
short_ok = short_entry and (not use_htf_filter or ema_trend_down) and (not use_rsi_filter or rsi_val < rsi_overbought)

// === Vào lệnh ===
if long_ok
    strategy.entry("Long", strategy.long)
if short_ok
    strategy.entry("Short", strategy.short)

// === Tính TP theo giá nếu chọn % ===
long_tp_price = close * (1 + tp_value / 100)
short_tp_price = close * (1 - tp_value / 100)

// === Thoát lệnh với TP/SL/Trailing ===
if strategy.position_size > 0
    if use_percent_tp
        strategy.exit("Dừng Long %", from_entry="Long", loss=sl_value, limit=long_tp_price, trail_points=trail_offset, trail_offset=trail_offset)
    else
        strategy.exit("Dừng Long Tick", from_entry="Long", loss=sl_value, profit=tp_value, trail_points=trail_offset, trail_offset=trail_offset)

if strategy.position_size < 0
    if use_percent_tp
        strategy.exit("Dừng Short %", from_entry="Short", loss=sl_value, limit=short_tp_price, trail_points=trail_offset, trail_offset=trail_offset)
    else
        strategy.exit("Dừng short Tick", from_entry="Short", loss=sl_value, profit=tp_value, trail_points=trail_offset, trail_offset=trail_offset)

// === Đóng toàn bộ trước phiên ===
if cutoff_time
    strategy.close_all()