Estratégia clássica de cruzamento de média móvel dupla


Data de criação: 2023-10-27 16:47:30 última modificação: 2023-10-27 16:47:30
cópia: 0 Cliques: 695
1
focar em
1625
Seguidores

Estratégia clássica de cruzamento de média móvel dupla

Visão geral

A estratégia de cruzamento de duas equações é uma estratégia de análise técnica muito clássica e comum. A estratégia usa o cruzamento de uma média móvel rápida e uma média móvel lenta como um sinal de compra e venda. Um sinal de compra é gerado quando uma média móvel rápida quebra a média móvel lenta a partir de baixo; um sinal de venda é gerado quando uma média móvel rápida quebra a média móvel lenta a partir de cima.

Princípio da estratégia

O código da estratégia inclui principalmente as seguintes partes:

  1. Defina o comprimento e o tipo de média rápida e lenta: média rápida com 5 ciclos e média lenta com 21 ciclos, ambas com média móvel simples.

  2. Calcule linhas rápidas e lentas: Calcule a média móvel simples de 5 ciclos e 21 ciclos através da função sma.

  3. Desenho: Desenho de trajetórias de linhas rápidas e lentas.

  4. Definir condições de compra e venda: compra na linha rápida e venda na linha lenta.

  5. Execução de transações: executa automaticamente operações de compra e venda quando as condições são atendidas através das funções long e short da estratégia.

A chave da estratégia é usar uma combinação de equilíbrios de diferentes períodos de comprimento, formando equilíbrios rápidos e lentos, e usá-los como sinais de negociação. O equilíbrio rápido pode capturar mudanças de preço mais rapidamente, e o equilíbrio lento pode refletir a tendência de longo prazo. Quando o equilíbrio rápido atravessa o equilíbrio lento, indica que o movimento se inverte de baixo para cima e é um sinal de compra. Quando o equilíbrio rápido atravessa o equilíbrio lento, indica que o movimento se inverte de cima para baixo e é um sinal de venda.

Análise de vantagens

A estratégia de duplo equilíbrio tem as seguintes vantagens:

  1. O conceito é simples, fácil de aprender e adequado para iniciantes.

  2. Operação de tendência, seguindo a tendência dos preços, retracção menor.

  3. A frequência de transação é moderada, não muito frequente.

  4. Parâmetros personalizáveis, flexibilidade para responder às mudanças do mercado.

  5. É fácil encontrar o seu próprio conjunto de parâmetros através da otimização.

  6. Pode-se definir um ponto de parada para controlar o risco.

  7. É uma ferramenta que pode ser usada em vários mercados e é muito versátil.

  8. Pode ser usado em combinação com outros indicadores para aumentar a eficácia.

Análise de Riscos

A estratégia de duplo equilíbrio também apresenta alguns riscos:

  1. Quando a tendência do mercado é forte, a linha média segue a tendência de atraso, pode ocorrer atraso, perder o melhor momento de entrada. Pode ser apropriadamente reduzido o ciclo da linha média, aumentar a sensibilidade.

  2. Em situações de turbulência, pode haver mais sinais falsos. Pode-se adicionar adequadamente as condições de filtragem para evitar transações erradas.

  3. O número de transações pode ser maior, afetando a lucratividade. O intervalo de linha média pode ser adequadamente relaxado, reduzindo o cruzamento.

  4. Não é possível determinar o tipo de tendência, existindo o risco de negociação de contrapartida. Os indicadores de tendência podem auxiliar na determinação.

  5. A otimização de parâmetros requer um certo suporte de dados históricos, e as novas variedades podem ter uma sobre-adaptação. Devem ser usadas várias combinações para testar a robustez dos parâmetros.

  6. Indicadores individuais são vulneráveis ao ambiente externo e o desempenho pode ser instável. Podem ser verificados em combinação com outros indicadores.

Direção de otimização

A estratégia de duplo equilíbrio entre linhas pode também ser otimizada em:

  1. Teste a média rápida de diferentes comprimentos para encontrar o melhor parâmetro para a variedade de transação específica.

  2. Aumentar as condições de filtragem, como volume de transação, ATR stop loss, etc., reduzindo as oportunidades de desvantagem.

  3. Combinação de sinais de compra e venda de confirmação, como indicadores de volume dinâmico, para evitar falsas rupturas.

  4. Otimizar a estratégia de stop loss para evitar que parte do stop loss seja desativada prematuramente ou tarde demais.

  5. Combinação de indicadores de tendências e ondas para acompanhamento de tendências e negociação de contracorrente.

  6. Utiliza-se uma linha média adaptativa, que ajusta os parâmetros da linha média de acordo com o mercado, em vez de um ciclo fixo.

  7. Combinações de vários períodos de tempo, com diferentes combinações de parâmetros de acordo com as características do tempo de mercado.

  8. Optimização em tempo real, otimizando continuamente os parâmetros usando tecnologias como aprendizado de máquina.

Resumir

A estratégia de duplo equilíbrio de cruzamento, com seus princípios simples, fáceis de entender e implementar, tornou-se uma das estratégias de negociação mais centrais e comuns na análise técnica. A estratégia segue a tendência dos preços, é controlável e aceitável.

Código-fonte da estratégia
/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// strategy("Stochastic Strategy of BiznesFilosof", shorttitle="SS of BiznesFilosof", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=20, commission_type=strategy.commission.percent, commission_value=0.15, pyramiding=0)

//Period
startY = input(title="Start Year", defval = 2011)
startM = input(title="Start Month", defval = 1, minval = 1, maxval = 12)
startD = input(title="Start Day", defval = 1, minval = 1, maxval = 31)
finishY = input(title="Finish Year", defval = 2050)
finishM = input(title="Finish Month", defval = 12, minval = 1, maxval = 12)
finishD = input(title="Finish Day", defval = 31, minval = 1, maxval = 31)
//finish = input(2019, 02, 28, 00, 00)
timestart = timestamp(startY, startM, startD, 00, 00)
timefinish = timestamp(finishY, finishM, finishD, 23, 59)
window = true // Lenghth strategy

length1 = input(21, minval=1), smoothK1 = input(3, minval=1), smoothD1 = input(3, minval=1)
//length2 = input(5, minval=1), smoothK2 = input(1, minval=1), smoothD2 = input(1, minval=1)
inh0 = input(title="Bottom Line", defval = 14, minval=0), inh1 = input(title="Upper Line", defval = 86, minval=0)

k1 = sma(stoch(close, high, low, length1), smoothK1)
d1 = sma(k1, smoothD1)
plot(k1, color=blue)
plot(d1, color=red)
//k2 = sma(stoch(close, high, low, length2), smoothK2)
//d2 = sma(k2, smoothD2)
//plot(k2, color=orange)

h1 = hline(inh1)
h0 = hline(inh0)
fill(h0, h1, color = aqua, transp=90)

//open
strategy.entry("LongEntryID", strategy.long, comment="LONG", when = crossover(k1, d1) and crossover(k1, inh0) and window)
strategy.entry("ShortEntryID", strategy.short, comment="SHORT", when = crossunder(k1, d1) and crossunder(k1, inh1) and window)

if crossunder(k1, d1) and crossunder(k1, inh1) and strategy.position_size > 0
    strategy.close_all()
if crossover(k1, d1) and crossover(k1, inh0) and strategy.position_size < 0
    strategy.close_all()