Estratégia de média móvel estocástica multi-tempo


Data de criação: 2024-02-29 12:11:23 última modificação: 2024-02-29 12:11:23
cópia: 0 Cliques: 1116
1
focar em
1617
Seguidores

Estratégia de média móvel estocástica multi-tempo

Visão geral

A Estratégia Stochastic MTF é uma estratégia de negociação quantitativa baseada em indicadores de índices aleatórios. Utiliza simultaneamente a média de índices aleatórios do quadro de tempo atual e do quadro de tempo superior para realizar uma combinação de negociação de seguimento de tendência e de reversão de tendência.

Princípio da estratégia

Os indicadores centrais da estratégia são os índices aleatórios K-line e D-line. A K-line reflete a movimentação de preços mais recente e a D-line é a média móvel da K-line. A sua posição e direção relativas permitem determinar a tendência dos preços e a possível reversão.

Especificamente, quando a linha K curta-prazo de baixo para cima quebra a linha D intermédia, indica que o preço tem um impulso de quebra para cima no curto prazo; quando a linha K curta-prazo de cima para baixo quebra a linha D intermédia, indica que o preço tem uma pressão de quebra para baixo no curto prazo.

Esta estratégia utiliza um indicador de índice aleatório de dois quadros temporais para a confirmação de sinais de negociação e um indicador de índice aleatório de quadros temporais mais elevados para a confirmação da direção da tendência e um indicador de índice aleatório de quadros temporais atuais para a descoberta de pontos de ruptura de curto prazo para a realização de uma entrada de negociação.

Quando um indicador aleatório de um período de tempo mais elevado confirma uma tendência ascendente e um indicador aleatório de um período de tempo atual mostra a presença de uma quebra de preço para cima, faça mais; quando um indicador aleatório de um período de tempo mais elevado confirma uma tendência de queda e um indicador aleatório de um período de tempo atual mostra a presença de uma quebra de preço para baixo, faça zero.

Análise de vantagens

A estratégia, combinada com indicadores de multi-quadros temporais e rupturas atuais, é capaz de filtrar efetivamente o ruído do mercado e bloquear transações lucrativas com maior probabilidade. Os benefícios específicos são:

  1. Um quadro de tempo mais longo garante que as transações sejam feitas apenas na direção da tendência, reduzindo a frequência desnecessária de trocas e o número de perdas;
  2. O quadro de tempo atual garante uma reversão de curto prazo na tendência de captura de menor risco, permitindo uma entrada e saída de transações mais precisa e oportuna.
  3. A combinação de dois indicadores aleatórios aumenta a precisão do sinal e reduz a probabilidade de ocorrência de um falso sinal.

Análise de Riscos

A estratégia também apresenta alguns riscos, que se manifestam nos seguintes aspectos:

  1. Quando a situação se inverte de forma súbita, os indicadores de um período de tempo mais longo podem atrasar a identificação de novas tendências, o que leva a uma estratégia de atraso na mudança de direção e aumenta os prejuízos. É necessário otimizar os parâmetros do período de tempo para garantir a obtenção de informações de mercado adequadas e em tempo hábil.
  2. Os indicadores do timeframe atual são muito sensíveis e podem aumentar a frequência de negociação estratégica e os custos de negociação. Os parâmetros precisam ser adequadamente ajustados para garantir que o ruído do mercado insignificante seja filtrado.
  3. A combinação de dois indicadores aleatórios aumenta a precisão do sinal, mas também atrasa a velocidade de reação. Se a situação flutua drasticamente, pode perder o melhor ponto de corte.

Direção de otimização

As principais melhorias da estratégia incluem:

  1. Otimizar os fatores de smoothing dos indicadores de um período mais longo para que eles reflitam de forma oportuna as novas tendências;
  2. Ajustar os parâmetros do indicador do quadro de tempo atual e definir um limite de ruptura razoável para filtrar os sinais de ruído;
  3. Testar a eficácia de uma combinação de diferentes prazos para encontrar o melhor ponto de equilíbrio;
  4. Adição de estratégias de stop loss para controlar o risco de perdas individuais.

Resumir

A estratégia de linha média de índices aleatórios de quadros de tempo múltiplos é uma estratégia típica de acompanhamento de tendências. Utiliza simultaneamente indicadores aleatórios em duas escalas de tempo para obter uma visão precisa do mercado. Com a otimização de parâmetros, a estabilidade e a lucratividade da estratégia podem ser ainda mais aumentadas.

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

//@version=3
strategy("MTF stochastic strategy", overlay=false,pyramiding=3,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)
//
//this strategy is inspired to bobby thread in forexfactory forum
//
len = input(11, minval=1, title="Length for Main Stochastic") 
smoothK = input(3, minval=1, title="SmoothK for Main Stochastic")
smoothD = input(3, minval=1, title="SmoothD for Main Stochastic")
upLine = input(80, minval=50, maxval=90, title="Upper Line Value?")
lowLine = input(20, minval=10, maxval=50, title="Lower Line Value?")
trailStep=input(50,minval=10,title="Trialing step value")

// current stochastic calculation
k = sma(stoch(close, high, low, len), smoothK)
d = sma(k, smoothD)

//mtf stochastic calculation smoothed with period

mtfK= sma(stoch(close, high, low, len), smoothK*3)
mtfD= sma(k, smoothD*3)

plot(k,"current TF k",black,style=linebr)
plot(d,"current TF d",gray,style=linebr)
plot(mtfK,"MTF TF k",red,style=line)
plot(mtfD,"Multi TF d",green,style=line)
hline(upLine)
hline(50)
hline(lowLine)

longCondition = crossover(mtfK, 50) and k>50 and change(k,1)>0 and k>d and mtfK>mtfD
if (longCondition)
    strategy.entry("Lungo", strategy.long)

shortCondition = crossunder(mtfD, 50) and k<50 and change(k,1)<0 and k<d and mtfK<mtfD
if (shortCondition)
    strategy.entry("Corto", strategy.short)
    
exitlong=crossunder(mtfD, upLine)
exitshort=crossover(mtfK, lowLine)

if (exitlong)
    strategy.exit("Esci lungo","Lungo",trail_points=trailStep)
if (exitshort)
    strategy.exit("Esci corto","Corto",trail_points=trailStep)