Estratégia de Crossover de Média Móvel Multinível Exclusiva Quantitative Master


Data de criação: 2024-01-12 12:11:02 última modificação: 2024-01-12 12:11:02
cópia: 4 Cliques: 565
1
focar em
1617
Seguidores

Estratégia de Crossover de Média Móvel Multinível Exclusiva Quantitative Master

Visão geral

Esta estratégia usa o princípio de cruzamento de múltiplos níveis de média móvel para capturar tendências de linha média e longa e obter lucros estáveis. A estratégia usa três grupos de médias móveis rápidas, médias e lentas de diferentes parâmetros para tomar decisões de negociação de acordo com sua situação de cruzamento. Esta estratégia de cruzamento de médias móveis de múltiplos níveis, em comparação com a estratégia tradicional de apenas dois grupos de médias móveis, pode filtrar mais sinais falsos e aumentar a probabilidade de vitória da estratégia.

Princípio da estratégia

Esta estratégia usa três grupos de médias móveis: média móvel rápida MAshort, média móvel rápida MAmid e média móvel lenta MAlong. Dentre eles, o parâmetro MAshort é 9, o mais rápido de reação, para capturar um sinal de linha curta; o parâmetro MAmid é 50, a velocidade é adequada, para confirmar uma tendência; o parâmetro MAlong é 100, o mais lento de reação, para determinar a direção de uma tendência de linha longa.

A lógica de negociação específica da estratégia é: quando a média móvel rápida MAmid atravessa a média móvel lenta MAlong, indicando que o impulso ascendente do preço da ação está se formando, a estratégia faz mais; quando a média móvel rápida MAshort atravessa a média média móvel rápida MAmid, indicando que a tendência curta se reverteu, a estratégia está em equilíbrio.

A principal vantagem desta estratégia é que, através de combinações de múltiplos grupos de médias móveis, é possível filtrar eficazmente os falsos sinais, selecionando apenas as que são mais fortes na linha média e longa para construir mais posições.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. Os parâmetros da estratégia foram otimizados para combinar com as tendências de linha média e longa, com uma maior taxa de vitória
  2. A média móvel de níveis múltiplos pode filtrar ruído e falsos sinais
  3. Aplica-se a todos os tipos de ações e moedas digitais, com melhor retrospectiva histórica
  4. Frequência de operação baixa, 30% de capital em cada depósito, risco controlado
  5. Ciclo de tempo configurável, alta flexibilidade de disco rígido

Análise de Riscos

A estratégia também apresenta os seguintes riscos:

  1. A tendência de linha longa tem uma menor probabilidade de uma reversão súbita, mas uma vez que isso acontece, o stop loss pode ser maior
  2. Frequência de transação baixa, com um certo nível de baixa utilização dos fundos
  3. Os parâmetros da estratégia precisam ser otimizados para as diferentes variedades de negociação, podendo ter aplicações limitadas

Para os riscos acima mencionados, vamos ampliar ainda mais o âmbito de aplicação da estratégia, juntamente com o máximo de retração do controle de stop loss. Quando a tendência de linha média-longa se inverter, vamos responder com a redução da posição.

Direção de otimização

A estratégia também pode ser melhorada em alguns aspectos:

  1. Optimizar os parâmetros de dias das médias móveis para encontrar uma combinação melhor de parâmetros
  2. Aumentar os indicadores de volume de transações para a confirmação, evitando problemas de curva de adequação
  3. Definir o valor máximo de perda da estratégia, como o retorno máximo de 20% e o stop loss forçado
  4. Aumentar a capacidade de adaptação das estratégias, aumentando o conhecimento de tendências em modelos de aprendizagem de máquina

Resumir

Esta estratégia pertence a uma estratégia de quantificação de linha média-longa típica, que combina WebDriverWait==long term trend com uma média móvel de vários níveis para controlar o risco de negociação e obter lucro contínuo. Em comparação com um único indicador, esta estratégia combina vários conjuntos de parâmetros para identificar efetivamente os sinais de tendência de linha média-longa mais fortes. Com a otimização adicional, esta estratégia pode ser aplicada a mais variedades e desempenhar um papel importante no campo da quantificação de negociação.

Código-fonte da estratégia
/*backtest
start: 2023-12-12 00:00:00
end: 2024-01-11 00:00:00
period: 1h
basePeriod: 15m
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/
// © Coinrule

//@version=4
strategy(shorttitle='Multi Moving Average Crossing',title='Multi Moving Average Crossing (by Coinrule)', overlay=true, initial_capital=1000,  default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

//MA inputs and calculations
inlong=input(100, title='MAlong')
inmid=input(50, title='MAmid')
inshort=input(9, title='MAfast')

MAlong = sma(close, inlong)
MAshort= sma(close, inshort)
MAmid= sma(close, inmid)


//Entry 
bullish = crossover(MAmid, MAlong)

strategy.entry(id="long", long = true, when = bullish and window())

//Exit
bearish = crossunder(MAshort, MAmid)

strategy.close("long", when = bearish and window())

plot(MAshort, color=color.orange, linewidth=2)
plot(MAmid, color=color.red, linewidth=2)
plot(MAlong, color=color.blue, linewidth=2)