Uma estratégia de negociação quantitativa baseada no cruzamento da média móvel SMA e no indicador de profundidade de mercado


Data de criação: 2024-01-24 14:21:42 última modificação: 2024-01-24 14:21:42
cópia: 0 Cliques: 657
1
focar em
1617
Seguidores

Uma estratégia de negociação quantitativa baseada no cruzamento da média móvel SMA e no indicador de profundidade de mercado

Visão geral

Esta estratégia é conhecida como a estratégia de negociação quantitativa baseada no SMA que é baseada no cruzamento da linha média com o indicador de profundidade do mercado. A estratégia utiliza principalmente o sinal de forquilha do SMA, combinando a linha de conversão, a linha de referência e a linha de frente do indicador de profundidade do mercado de Ichimoku, bem como o indicador de volume de transação para a negociação automática de Bitcoin.

Princípio da estratégia

A estratégia baseia-se principalmente nos seguintes princípios:

  1. A linha de equilíbrio do SMA utiliza diferentes parâmetros para construir um sinal de troca de forcados e forcados. Um sinal de compra é gerado quando o SMA curto é atravessado pelo SMA longo e um sinal de venda é gerado quando o SMA curto é atravessado pelo SMA longo.

  2. O indicador de Ichimoku Cloud Chart determina a profundidade e a tendência do mercado. Os sinais de compra são gerados apenas quando o preço de fechamento está acima da linha de frente e da linha de base do Cloud Chart e os sinais de venda são gerados quando estão abaixo da linha de frente e da linha de base do Cloud Chart, filtrando a maioria dos sinais falsos.

  3. O indicador de volume de transações em branco filtra os falsos sinais de volume baixo, gerando um sinal de compra e venda somente quando o volume de transações é maior do que a média de um período.

  4. A função plotshape marca a posição do sinal de compra e venda no gráfico.

Assim, a estratégia integra tendências de curto e longo prazo, indicadores de profundidade de mercado e indicadores de volume de transação para otimizar as decisões de negociação.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. A utilização de uma linha média SMA para produzir um sinal de compra ou venda básico, evitando a complexidade excessiva.
  2. O Ichimoku Cloud Map permite avaliar a profundidade do mercado e as tendências a médio e longo prazo, filtrando o ruído.
  3. A combinação de indicadores de volume de transação evita uma pequena quantidade de falsas rupturas.
  4. Os parâmetros são ajustáveis e podem ser otimizados para diferentes mercados.
  5. A lógica da estratégia é clara, fácil de entender e modificar.
  6. A visualização intuitiva dos sinais de compra e venda facilita o teste e a otimização da estratégia.

Análise de Riscos

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

  1. A linha média SMA é propensa a produzir sinais enganosos e precisa de um filtro auxiliar.
  2. O indicador Ichimoku Cloud Chart determina a eficácia da estrutura do mercado dependendo da configuração dos parâmetros.
  3. O efeito de amplificação do volume de transações pode interferir no julgamento dos indicadores de volume de transações.
  4. Mercados de tendência e mercados de turbulência requerem diferentes configurações de parâmetros.
  5. Há um certo atraso no tempo.

Para esses riscos, pode ser otimizado por meio do ajuste de parâmetros de linha média, parâmetros de gráfico de nuvem, parâmetros de volume de transação, etc., ao mesmo tempo em que se seleciona a variedade de transação apropriada, reduzindo o risco.

Direção de otimização

A estratégia pode ser otimizada nas seguintes direções:

  1. Teste mais indicadores de média, como EMA, VIDA, etc.
  2. Tente diferentes configurações de parâmetros de nuvem.
  3. Ajudar a julgar com base nos indicadores de dinâmica.
  4. Participação no mecanismo de prevenção de prejuízos
  5. Optimização de parâmetros para diferentes mercados e variedades.
  6. Experimente métodos de otimização dinâmica, como o aprendizado de máquina.

Resumir

Esta estratégia utiliza a combinação de equilíbrio, profundidade de mercado e volume de negociação, formando uma estratégia de negociação quantitativa mais estável e confiável. A estratégia pode ser ainda mais otimizada por meio de ajustes de parâmetros, adição de novos indicadores técnicos, etc.

Código-fonte da estratégia
/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("SMA Crossover with Ichimoku & Volume", shorttitle="SCIV", overlay=true)

// Define the length of SMA
shortSmaLength = input(14, title="Short SMA Length")
longSmaLength = input(21, title="Long SMA Length")
volumeLength = input(20, title="Volume Moving Average Length")

// Calculate the SMA and Volume MA
shortSma = sma(close, shortSmaLength)
longSma = sma(close, longSmaLength)
volumeMa = sma(volume, volumeLength)

// Define the lengths of the Ichimoku Cloud components
tenkanLength = input(9, title="Tenkan Length")
kijunLength = input(26, title="Kijun Length")
senkouBLength = input(52, title="Senkou B Length")
displacement = input(26, title="Displacement")

// Calculate the Ichimoku Cloud components
tenkan = (highest(high, tenkanLength) + lowest(low, tenkanLength)) / 2
kijun = (highest(high, kijunLength) + lowest(low, kijunLength)) / 2
senkouA = (tenkan + kijun) / 2
senkouB = (highest(high, senkouBLength) + lowest(low, senkouBLength)) / 2

// Define the conditions for entry and exit with Ichimoku filter and Volume filter
buyEntry = crossover(shortSma, longSma) and close > senkouA[displacement] and close > senkouB[displacement] and volume > volumeMa
sellEntry = crossunder(shortSma, longSma) and close < senkouA[displacement] and close < senkouB[displacement] and volume > volumeMa

// Plot buy/sell conditions on the chart for visual inspection
plotshape(buyEntry, style=shape.labelup, location=location.belowbar, color=color.green, text="Buy", size=size.small)
plotshape(sellEntry, style=shape.labeldown, location=location.abovebar, color=color.red, text="Sell", size=size.small)

// Execute the strategy
if (buyEntry)
    strategy.entry("Buy", strategy.long)
if (sellEntry)
    strategy.entry("Sell", strategy.short)