Estratégia de Crossover SMA


Data de criação: 2024-03-28 17:50:00 última modificação: 2024-03-28 17:50:00
cópia: 1 Cliques: 587
1
focar em
1617
Seguidores

Estratégia de Crossover SMA

Visão geral

A estratégia é uma simples estratégia de cruzamento de linha média SMA. Ela usa uma média móvel simples de dois períodos diferentes (SMA) para abrir posições quando a linha rápida atravessa a linha lenta de baixo para cima e para fechar posições quando a linha rápida atravessa a linha lenta de cima para baixo. A estratégia pode personalizar o comprimento das duas linhas médias e as datas de início e fim da retrospectiva.

A principal idéia da estratégia é usar a característica de tendência da linha média e a característica do sinal de cruzamento da linha média para negociar. Quando a linha rápida está acima da linha lenta, indica que o atual está em uma tendência ascendente e deve ser mantida uma posição multi-header; Quando a linha rápida está abaixo da linha lenta, indica que o atual está em uma tendência descendente e deve ser observada.

Princípio da estratégia

  1. Para calcular o SMA de dois períodos diferentes, o comprimento do período pode ser personalizado.
  2. Determine se o tempo atual está dentro da janela de tempo de detecção e não execute nenhuma operação se não estiver.
  3. Se a linha rápida atravessar a linha lenta de baixo para cima, faça mais.
  4. Se a linha rápida atravessa a linha lenta de cima para baixo, todas as posições de múltiplos pontos são eliminadas.
  5. Em outras circunstâncias, o armazém fica vazio e não há nenhuma operação.

Análise de vantagens

  1. É fácil de entender, lógico e apropriado para quem está começando.
  2. A linha média é um indicador técnico amplamente utilizado, com características de tendência mais evidentes, que melhor refletem as tendências atuais do mercado.
  3. A linha de equilíbrio cruzada é um sinal clássico de rastreamento de tendências, que permite capturar rapidamente as mudanças de tendência.
  4. Pode-se personalizar o ciclo de mediano e a janela de tempo de retorno, com maior flexibilidade.
  5. Aplica-se a variedades mais tendenciais e períodos de tempo.

Análise de Riscos

  1. A linha média possui um certo atraso, e quando a volatilidade do mercado é grande e a tendência se repete, pode haver sinais de cruzamento frequentes, resultando em excesso de transações e aumento dos custos de processamento.
  2. A estratégia captura apenas a tendência de alta unilateral, e não a tendência de baixa ou de choque.
  3. A escolha dos parâmetros da linha média precisa ser otimizada de acordo com diferentes variedades e períodos de tempo, e os diferentes parâmetros podem apresentar grandes diferenças de desempenho.
  4. A estratégia não inclui nenhuma medida de parada, o que pode levar a um maior risco de retração em situações de forte volatilidade.

Direção de otimização

  1. Pode-se considerar a inclusão de medidas de stop loss apropriadas, como o stop loss móvel baseado no ATR, para controlar a perda máxima de uma única transação.
  2. Pode-se considerar a inclusão de alguns filtros, como volume de transação, volatilidade, etc., para filtrar alguns sinais falsos.
  3. Pode-se considerar a otimização dos parâmetros, por exemplo, usando algoritmos inteligentes como algoritmos genéticos para encontrar a combinação de parâmetros ótima.
  4. Pode-se considerar a combinação de outros indicadores técnicos ou sinais de negociação com o cruzamento da linha média, como MACD, RSI, etc., para aumentar a confiabilidade e a eficácia da estratégia.

Resumir

A estratégia de cruzamento de linha de equilíbrio SMA é uma estratégia de rastreamento de tendências simples, fácil de entender e clássica, adequada para os iniciantes aprenderem e usarem. Ela utiliza as características de tendência da linha de equilíbrio e as características do sinal de cruzamento de linha de equilíbrio para capturar rapidamente as mudanças na tendência do mercado.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © j0secyn

//@version=5
strategy("MA Cross", overlay=true, margin_long=100, margin_short=100, default_qty_value=100, default_qty_type=strategy.percent_of_equity, initial_capital=10000)

// === INPUT BACKTEST RANGE ===
fromDay   = input.int(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input.int(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear  = input.int(defval = 2018,title = "From Year", minval = 1970)
thruDay   = input.int(defval = 30, title = "Thru Day", minval = 1, maxval = 31)
thruMonth = input.int(defval = 9, title = "Thru Month", minval = 1, maxval = 12)
thruYear  = input.int(defval = 2024, title = "Thru Year", minval = 1970)

slow_ma_length = input.int(defval = 100, title = "Slow MA lenght")
fast_ma_length = input.int(defval = 30, title = "Fast MA lenght")

// === FUNCTION EXAMPLE ===
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)            // backtest start  window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)            // backtest finish window
window()  => true

// === LOGIC ===
crossOv = ta.crossover(ta.sma(close, fast_ma_length), ta.sma(close, slow_ma_length))
crossUn = ta.crossunder(ta.sma(close, fast_ma_length), ta.sma(close, slow_ma_length))

// === EXECUTION ===
// strategy.entry("L", strategy.long, when = window() and crossOv)        // enter long when "within window of time" AND crossover
// strategy.close("L", when = window() and crossUn)                       // exits long when "within window of time" AND crossunder         
strategy.entry("L", strategy.long, when = window() and crossOv)        // enter long when "within window of time" AND crossover
strategy.close("L", when = window() and crossUn)                       // exits long when "within window of time" AND crossunder