Tendência na sequência da estratégia de negociação da média móvel

Autora:ChaoZhang, Data: 2024-01-05 13:48:07
Tags:

img

Resumo

Esta estratégia é uma tendência que segue a estratégia de negociação de média móvel. Ela usa médias móveis de preços mais altos e mais baixos com diferentes configurações de parâmetros para determinar as tendências do mercado e gerar sinais de negociação em pontos de virada.

Estratégia lógica

A estratégia emprega médias móveis simples de preços mais altos e mais baixos com diferentes parâmetros para definir as tendências do mercado.

  1. O sistema h1 e l1 rastreia a tendência de cima. h1 é a média móvel simples dos preços mais altos, atuando como a faixa superior da tendência; l1 é construído por h1 menos o valor ATR, servindo como a faixa inferior. Um sinal longo é gerado quando o preço quebra acima de h1, e um sinal de fechamento é gerado quando o preço cai abaixo de l1.

  2. O sistema h2 e l2 rastreia a tendência da baixa. h2 é a média móvel simples dos preços mais baixos, atuando como a faixa inferior; l2 é construído por h2 mais o valor ATR, servindo como a faixa superior. Um sinal curto é gerado quando o preço quebra abaixo de h2, e um sinal de fechamento é gerado quando o preço sobe acima de l2.

Os sistemas de banda dupla podem identificar com mais precisão os pontos de virada da tendência e filtrar algumas negociações barulhentas.

Análise das vantagens

As principais vantagens desta estratégia incluem:

  1. O sistema de banda dupla filtra o ruído e identifica pontos de virada com mais precisão.
  2. O ATR monitora dinamicamente a volatilidade, permitindo um controlo eficaz das perdas de parada por transação.
  3. A lógica é simples e fácil de entender, adequada para os iniciantes aprenderem.
  4. Os parâmetros podem ser ajustados de forma flexível para se adaptarem aos diferentes ambientes de mercado.

Análise de riscos

Há também alguns riscos associados a esta estratégia:

  1. Os sinais de ruptura das bandas podem atrasar, perdendo oportunidades nos estágios iniciais da tendência.
  2. As médias móveis de rastreamento têm uma capacidade mais fraca em capturar tendências curvas.
  3. Os custos de negociação não são considerados, podendo ser elevados com negociação de alta frequência.

Soluções:

  1. Encurtar os períodos de média móvel para sinais mais sensíveis.
  2. Incorporar outros indicadores como o MACD para determinar os tipos de tendência, evitando o excesso de negociação em zonas variáveis.
  3. Ajustar o tamanho da posição para uma frequência de negociação mais baixa.

Orientações de otimização

A estratégia pode ser otimizada a partir dos seguintes aspectos:

  1. Utilize algoritmos de aprendizagem de máquina para ajustar automaticamente parâmetros para se adaptar aos mercados em mudança.
  2. Incorporar o volume de negociação para evitar falhas.
  3. Adicionar regras de dimensionamento de micro posições para vincular o tamanho da posição com a força da tendência.
  4. Otimizar os mecanismos de stop loss com trailing stops, etc.

Conclusão

Em conclusão, esta é uma estratégia de tendência simples e prática. A filosofia central é identificar pontos de virada da tendência e controlar a perda por comércio através de filtragem de banda dupla e paradas ATR dinâmicas.


/*backtest
start: 2023-12-05 00:00:00
end: 2024-01-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("I Like Winners And Love Loosers!", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

highest_length = input(200, type=input.integer, minval=1, title="Highest Length")
highest_average = input(10, type=input.integer, minval=1, title="Highest Average Length")

lowest_length = input(200, type=input.integer, minval=1, title="Lowest Length")
lowest_average = input(10, type=input.integer, minval=1, title="Lowest Average Length")

atr_length = input(14, type=input.integer, minval=1, title="ATR Length")
atr_multiplier = input(2, type=input.integer, minval=1, title="ATR Multiplier")
a = atr(atr_length) * atr_multiplier

h1 = sma(highest(high, highest_length), highest_average)
l1 = h1 - a

h2 = sma(lowest(low, lowest_length), lowest_average)
l2 = h2 + a

buy1_signal = crossover(close, h1)
sell1_signal = crossunder(close, l1)
strategy.entry("Buy", strategy.long, when=buy1_signal)
strategy.close("Buy", when=sell1_signal)

buy2_signal = crossunder(close, h2)
sell2_signal = crossover(close, l2)
strategy.entry("Sell", strategy.short, when=buy2_signal)
strategy.close("Sell", when=sell2_signal)

y1 = plot(h1, title="H1", color=color.green, transp=50, linewidth=2)
y2 = plot(l1, title="L1", color=color.red, transp=50, linewidth=2)
y3 = plot(h2, title="H2", color=color.green, transp=50, linewidth=2)
y4 = plot(l2, title="L2", color=color.red, transp=50, linewidth=2)

fill(y1,y2,color=color.green)
fill(y3,y4,color=color.red)


Mais.