Com base na estratégia de cruzamento de média móvel rápida e lenta


Data de criação: 2024-02-27 16:06:30 última modificação: 2024-02-27 16:06:30
cópia: 1 Cliques: 396
1
focar em
1166
Seguidores

Com base na estratégia de cruzamento de média móvel rápida e lenta

Visão geral

A estratégia de cruzamento de média rápida é uma estratégia simples de média móvel. Ela usa duas médias móveis, uma rápida e uma lenta, que são mais quando a média móvel rápida atravessa a média móvel lenta de baixo para cima, indicando que o preço pode subir; e uma média móvel rápida de cima para baixo, quando a média móvel rápida atravessa a média móvel lenta de baixo para baixo, indicando que o preço pode cair.

Princípio da estratégia

A estratégia usa duas médias móveis, rápida e lenta. Concretamente, a média móvel rápida tem a duração padrão de 25 ciclos e a média móvel lenta tem a duração padrão de 62 ciclos. A estratégia permite a escolha de diferentes tipos de médias móveis, incluindo SMA, EMA, WMA, RMA e VWMA.

Quando a média móvel rápida atravessa a média móvel lenta de baixo para cima, indicando que o preço de curto prazo começa a romper o preço de longo prazo, pertence ao típico sinal de cruzamento dourado, indicando que o preço pode entrar no canal ascendente, quando a estratégia faz mais; quando a média móvel rápida atravessa a média móvel lenta de cima para baixo, indicando que o preço de curto prazo começa a cair abaixo do preço de longo prazo, pertence ao sinal de cruzamento da morte, indicando que o preço pode entrar no canal descendente, quando a estratégia é equilibrada.

Assim, através de um cruzamento rápido da linha média para julgar a tendência e direção do preço, e fazer mais ou menos posições de acordo, para obter lucro.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. A ideia é simples, fácil de entender e de implementar.
  2. Configuração de parâmetros flexível, pode personalizar o período e o tipo de equilíbrio
  3. Indicador confiável, rápido e acertado para avaliar a tendência dos preços
  4. Automação, sem julgamentos humanos, redução do impacto psicológico
  5. Aplica-se a várias variedades, sendo amplamente utilizado em variedades como índices de ações, divisas e criptomoedas
  6. É fácil de otimizar e pode ajustar a combinação de parâmetros para encontrar a melhor configuração
  7. É escalável e pode ser utilizado em combinação com outros indicadores ou estratégias

Em geral, a estratégia de cruzar a linha média rápida e lenta como sinal de negociação central, tem uma forte capacidade de determinar a tendência futura dos preços, e pode obter um bom lucro com base nos benefícios do acompanhamento de tendências, o que vale a pena ser aplicado em combate.

Análise de Riscos

A estratégia também apresenta alguns riscos potenciais:

  1. Os sinais de cruzamento de linha média rápida e lenta podem ser falsos, com preços apenas ajustados em curto prazo e não uma reversão de tendência de longo prazo
  2. A escolha inadequada da linha média curta pode levar a negociações frequentes ou a oportunidades perdidas
  3. Os sinais de cruzamento de equilíbrio podem não ser visíveis em situações de alta volatilidade
  4. Variedades com taxas de transação mais elevadas, com transações de sinais cruzados com muita frequência e perda de receita
  5. A forte escalabilidade também traz o risco de otimização excessiva

Os riscos podem ser controlados e melhorados através das seguintes medidas:

  1. Filtragem em combinação com outros indicadores para evitar erros, como desvios de preços
  2. Ajustar os parâmetros da linha média para encontrar a melhor combinação e reduzir a probabilidade de transações erradas
  3. A estratégia de suspensão em momentos de agitação para evitar grandes flutuações
  4. A liberalização apropriada da margem de perda para reduzir perdas desnecessárias
  5. Recolha de variedades, avaliação de riscos, prevenção de otimização

Direção de otimização

As principais áreas de otimização da estratégia incluem:

  1. Seleção de períodos de média rápida e média lenta: o parâmetro padrão atual pode não ser o melhor, pode-se tentar um parâmetro de média rápida diferente para encontrar a melhor configuração

  2. Escolha do tipo de média móvel: há vários tipos de média móvel disponíveis para testar qual tipo funciona melhor para uma variedade específica

  3. Combinação com outros indicadores ou estratégias: pode-se experimentar uma combinação com indicadores de volatilidade, indicadores de preços ou estratégias de acompanhamento de tendências para aumentar a eficácia

  4. Parâmetros de auto-adaptação: permitir que os parâmetros do ciclo de linha média se ajustem automaticamente à volatilidade e à liquidez do mercado, aumentando a estabilidade

  5. Assistência de modelos de IA: análise de grandes volumes de dados com algoritmos de aprendizado de máquina para encontrar automaticamente as melhores regras de negociação

Através desses meios de otimização, espera-se que a estratégia melhore ainda mais o desempenho e a estabilidade de seus ganhos.

Resumir

A estratégia de cruzamento de linha média rápida e rápida é, em geral, uma estratégia de acompanhamento de tendências muito prática. Ela capta a lei da mudança de preços em diferentes escalas de tempo e, ao romper a linha média rápida e a linha média lenta, julga a possível tendência e direção futura dos preços. O conceito da estratégia é simples, claro, fácil de entender e implementar, os parâmetros podem ser personalizados e flexíveis, além de alta confiabilidade, alta automação, ampla gama de aplicações e extensibilidade.

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

//@version=5
//Author @divonn1994

initial_balance = 100
strategy(title='Fast v Slow Moving Averages Strategy', shorttitle = 'Fast v Slow', overlay=true, pyramiding=0, default_qty_value=100, default_qty_type=strategy.percent_of_equity, precision=7, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent, initial_capital=initial_balance)

//Input for number of bars for moving average, Switch to choose moving average type, Display Options and Time Frame of trading----------------------------------------------------------------

fastBars = input.int(25, "Fast moving average length", minval=1)
slowBars = input.int(62, "Slow moving average length", minval=1)
strategy = input.string("EMA", "MA type", options = ["EMA", "VWMA", "SMA", "RMA", "WMA"])

redOn = input.string("On", "Red Background Color On/Off", options = ["On", "Off"], group='Display')
greenOn = input.string("On", "Green Background Color On/Off", options = ["On", "Off"], group='Display')
maOn = input.string("On", "Moving Average Plot On/Off", options = ["On", "Off"], group='Display')

startMonth = input.int(title='Start Month 1-12 (set any start time to 0 for furthest date)', defval=1, minval=0, maxval=12, group='Beginning of Strategy')
startDate = input.int(title='Start Date 1-31 (set any start time to 0 for furthest date)', defval=1, minval=0, maxval=31, group='Beginning of Strategy')
startYear = input.int(title='Start Year 2000-2100 (set any start time to 0 for furthest date)', defval=2011, minval=2000, maxval=2100, group='Beginning of Strategy')

endMonth = input.int(title='End Month 1-12 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=12, group='End of Strategy')
endDate = input.int(title='End Date 1-31 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=31, group='End of Strategy')
endYear = input.int(title='End Year 2000-2100 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=2100, group='End of Strategy')

//Strategy Calculations-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

inDateRange = true

maMomentum = switch strategy
    "EMA" => (ta.ema(close, fastBars) >= ta.ema(close, slowBars)) ? 1 : -1
    "SMA" => (ta.sma(close, fastBars) >= ta.sma(close, slowBars)) ? 1 : -1
    "RMA" => (ta.rma(close, fastBars) >= ta.rma(close, slowBars)) ? 1 : -1
    "WMA" => (ta.wma(close, fastBars) >= ta.wma(close, slowBars)) ? 1 : -1
    "VWMA" => (ta.vwma(close, fastBars) >= ta.vwma(close, slowBars)) ? 1 : -1
    =>
        runtime.error("No matching MA type found.")
        float(na)

fastMA = switch strategy
    "EMA" => ta.ema(close, fastBars)
    "SMA" => ta.sma(close, fastBars)
    "RMA" => ta.rma(close, fastBars)
    "WMA" => ta.wma(close, fastBars)
    "VWMA" => ta.vwma(close, fastBars)
    =>
        runtime.error("No matching MA type found.")
        float(na)
        
slowMA = switch strategy
    "EMA" => ta.ema(close, slowBars)
    "SMA" => ta.sma(close, slowBars)
    "RMA" => ta.rma(close, slowBars)
    "WMA" => ta.wma(close, slowBars)
    "VWMA" => ta.vwma(close, slowBars)
    =>
        runtime.error("No matching MA type found.")
        float(na)

//Enter or Exit Positions--------------------------------------------------------------------------------------------------------------------------------------------------------------------

if ta.crossover(maMomentum, 0)
    if inDateRange
        strategy.entry('long', strategy.long, comment='long')
if ta.crossunder(maMomentum, 0)
    if inDateRange
        strategy.close('long')

//Plot Strategy Behavior---------------------------------------------------------------------------------------------------------------------------------------------------------------------

plot(series = maOn == "On" ? fastMA : na, title = "Fast Moving Average", color = color.new(color.white,0), linewidth=2, offset=1)
plot(series = maOn == "On" ? slowMA : na, title = "Slow Moving Average", color = color.new(color.purple,0), linewidth=3, offset=1)
bgcolor(color = inDateRange and (greenOn == "On") and maMomentum > 0 ? color.new(color.green,75) : inDateRange and (redOn == "On") and maMomentum <= 0 ? color.new(color.red,75) : na, offset=1)