Tendência de seguir uma estratégia baseada na acção dos preços e no volume

Autora:ChaoZhang, Data: 2024-01-16 17:34:04
Tags:

img

Resumo

Esta estratégia usa principalmente uma combinação de média móvel simples e volume de negociação para determinar a direção da tendência do mercado.

Estratégia lógica

A estratégia adota duas médias móveis simples de diferentes períodos para determinar a tendência do mercado. A média móvel de período mais curto pode capturar a tendência de mudança de preço mais rapidamente, enquanto o período mais longo ajuda a filtrar algum ruído. Um sinal de compra é gerado quando o período mais curto MA cruza o período mais longo um, indicando o início de uma tendência ascendente. Um sinal de venda é gerado quando o MA mais curto cruza abaixo do MA mais longo, indicando o início de uma tendência descendente.

Além disso, esta estratégia também incorpora um indicador de volume de negociação para confirmar os sinais de tendência.

Ao entrar em posições, a estratégia também considera os níveis dinâmicos de suporte / resistência para selecionar pontos de entrada apropriados. Ele só compra quando o preço está acima do nível de suporte e só vende quando o preço está abaixo do nível de resistência. Isso ajuda a mitigar o risco de flutuações em mercados de gama até certo ponto.

Vantagens

A estratégia apresenta as seguintes vantagens:

  1. As regras do sinal são simples e claras, fáceis de entender e ajustar parâmetros, adequados para iniciantes em quant trading.

  2. Combina a ação dos preços e a análise do volume para determinar melhor a tendência do mercado e filtrar falsas rupturas.

  3. Ele usa níveis dinâmicos de suporte / resistência para selecionar o momento favorável de entrada para aliviar o risco de ser chicoteado.

  4. Ele tem abundantes dados de backtest e os parâmetros passaram por múltiplas otimizações, levando a um desempenho ao vivo relativamente estável.

Riscos

A estratégia apresenta igualmente alguns riscos potenciais, principalmente nos seguintes aspectos:

  1. Como uma tendência de seguir a estratégia, pode sofrer perdas consistentes durante os mercados de gama.

  2. A média móvel simples responde lentamente às mudanças de preço, incapaz de capturar reversões rápidas em tempo hábil.

  3. Pode haver algum atraso na determinação dos níveis dinâmicos de suporte/resistência, não sendo possível evitar completamente os riscos de falha de ruptura.

  4. A otimização acarreta o risco de sobreajuste.

Os riscos acima referidos podem ser atenuados por:

  1. Melhorar as regras de entrada/saída combinando indicadores de tendência e inversão.
  2. Otimizar continuamente os parâmetros através do aprendizado de máquina para tornar a estratégia mais robusta.
  3. O valor da posição em risco deve ser calculado em função do valor da posição em risco.

Orientações de otimização

Ainda há muito espaço para melhorar esta estratégia:

  1. Tente diferentes tipos de médias móveis, por exemplo, MA exponencial, KAMA.

  2. Realizar uma análise multidimensional do volume, por exemplo, volume climático, encolhimento.

  3. Ativar ajuste/actualização automática de parâmetros utilizando aprendizagem automática.

  4. Adicionar indicadores de reversão para cortar perdas e reverter a posição em tempo hábil em mercados variados.

  5. Incorporar dados fundamentais para determinar o justo valor das existências individuais.

  6. Projeto de conjuntos de parâmetros específicos de referência e fluxos de trabalho de backtest.

Conclusão

Em resumo, esta é uma tendência típica seguindo o modelo de estratégia com alguma aplicabilidade geral. Ela sintetiza a ação do preço, volume e outras dimensões para filtrar o ruído efetivamente.


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

//@version=4
strategy("PVSRA Strategy", overlay=true)

// Price Action
shortMaPeriod = input(50, "Short MA Period")
longMaPeriod = input(25, "Long MA Period")
shortMa = sma(close, shortMaPeriod)  // Simple Moving Average for short period
longMa = sma(close, longMaPeriod)    // Simple Moving Average for long period

// Volume Analysis
volMaPeriod = input(25, "Volume MA Period")
volMa = sma(volume, volMaPeriod)     // Simple Moving Average for volume

// Support and Resistance
support = lowest(low, 30)
resistance = highest(high, 30)

// Entry Conditions
longCondition = crossover(shortMa, longMa) and (volume > volMa) and (close > support)
shortCondition = crossunder(shortMa, longMa) and (volume > volMa) and (close < resistance)

// Plotting
plot(shortMa, color=color.blue, title="Short MA")
plot(longMa, color=color.red, title="Long MA")
plot(support, color=color.green, title="Dynamic Support")
plot(resistance, color=color.red, title="Dynamic Resistance")

// Entering and Exiting Positions
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)


Mais.