Estratégia de negociação de desvio padrão de volatilidade DEV com base no índice de força relativa RSI e média móvel SMA

RSI SMA DEV
Data de criação: 2024-05-28 10:57:06 última modificação: 2024-05-28 10:57:06
cópia: 1 Cliques: 626
1
focar em
1617
Seguidores

Estratégia de negociação de desvio padrão de volatilidade DEV com base no índice de força relativa RSI e média móvel SMA

Visão geral

Esta estratégia de Pine Script baseia-se no índice RSI relativamente forte e no DEV padrão de volatilidade dos preços, para julgar o ponto de entrada, comparando o preço com a trajetória ascendente e descendente, e usa o RSI como um indicador de filtragem auxiliar, gerando um sinal de abertura de posição quando o preço toca a trajetória ascendente e o RSI atinge a zona de superaquecimento, quando o preço retrocede para sair da trajetória ou o RSI retrocede para alcançar a zona de superaquecimento. A estratégia é capaz de se ajustar dinamicamente às situações de volatilidade do mercado, mantendo uma posição de ganho quando a volatilidade é alta e uma posição de perda quando a volatilidade é baixa.

Princípio da estratégia

  1. O preço é calculado com base na média móvel SMA e diferença padrão DEV no período anterior.
  2. SMA+thresholdEntry com o eixo central*DEV para entrada de limiar*O DEV foi desviado para construir um canal de flutuação.
  3. O indicador RSI calcula o preço de fechamento de um ciclo de rsiLength passado.
  4. Quando o preço sobe para cima e o RSI é menor do que o limiar de superalimento rsiOversold, um sinal de abertura de posição é gerado.
  5. Quando o preço entra em uma trajetória descendente e o RSI é maior do que o RSI Overbought, um sinal de vazio é gerado.
  6. SMA + thresholdExit com o eixo central*DEV para a linha de chegada, SMA-thresholdExit*O DEV desceu da pista e construiu outro corredor de saída mais estreito.
  7. Quando se mantém uma posição a mais, se o preço derrubar para baixo e sair do trilho ou se o RSI for maior do que o limiar de compra, a posição a mais será liquidada.
  8. Quando se mantém uma posição vazia, se o preço se desviar para cima ou o RSI for menor do que o limiar de venda, a posição vazia será eliminada.

Análise de vantagens

  1. Ao mesmo tempo, o comportamento dos preços e os indicadores de dinâmica auxiliam o julgamento, permitindo uma filtragem eficaz de falsos sinais.
  2. A largura do canal é ajustada dinamicamente pela volatilidade da taxa de câmbio, permitindo que a estratégia se adapte a diferentes condições de mercado.
  3. A configuração de dois conjuntos de canais permite parar perdas no início de uma reversão de preço, controlar a retração e, ao mesmo tempo, manter a posição com lucro após a formação de uma tendência.
  4. A lógica do código e a configuração dos parâmetros são claras, fáceis de entender e de otimizar.

Análise de Riscos

  1. A estratégia pode parar prematuramente e perder o lucro da tendência, quando o mercado continua em uma tendência unilateral.
  2. A configuração dos parâmetros tem um grande impacto no desempenho da estratégia, sendo necessário otimizar os parâmetros para diferentes variedades e períodos.
  3. A estratégia é mais vantajosa em mercados de turbulência, geralmente em mercados de tendência. Se a tendência de longo prazo se inverter abruptamente, a estratégia pode gerar uma retracção maior.
  4. Se a volatilidade dos ativos do índice mudar drasticamente, a configuração de parâmetros fixos pode ser invalidada.

Direção de otimização

  1. Pode-se tentar introduzir indicadores de determinação de tendências, como cruzamentos de medias de curto prazo, ADX, etc., para distinguir entre tendências e mercados de turbulência, usando diferentes configurações de parâmetros.
  2. Considere o uso de indicadores de taxa de flutuação mais adaptáveis, como o ATR, para ajustar dinamicamente a largura do canal de flutuação.
  3. Antes de abrir uma posição, julgue a tendência do movimento do preço, detecte se está em uma tendência clara e evite a negociação de contrapartida.
  4. Os diferentes conjuntos de parâmetros podem ser otimizados por meio de algoritmos genéticos, pesquisa de grelha e outros métodos para encontrar a melhor configuração de parâmetros.
  5. Considere o uso de diferentes configurações de parâmetros para posições de múltiplos e vazios, respectivamente, para controlar a abertura de risco.

Resumir

A estratégia, através da combinação do canal de volatilidade e índice relativamente forte, para julgamento de abertura de posição com referência ao indicador RSI ao mesmo tempo em que os preços oscilam, permite melhor compreensão da tendência por etapas, parada e lucro em tempo. No entanto, o desempenho da estratégia é sensível à configuração de parâmetros e precisa ser otimizado para diferentes ambientes de mercado e ativos de referência, além de considerar a introdução de outros indicadores para julgamento auxiliar da tendência do mercado, a fim de aproveitar ao máximo a vantagem da estratégia.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tmalvao

//@version=5
strategy("Estratégia de Desvio Padrão com RSI", overlay=true, margin_long=100, margin_short=100)

// Parâmetros
length = input.int(20, title="Período do Desvio Padrão")
thresholdEntry = input.float(1.5, title="Limite de Entrada")
thresholdExit = input.float(0.5, title="Limite de Saída")
rsiLength = input.int(14, title="Período do RSI")
rsiOverbought = input.int(70, title="RSI Overbought")
rsiOversold = input.int(30, title="RSI Oversold")

// Cálculo do Desvio Padrão
price = close
stdDev = ta.stdev(price, length)

// Média Móvel Simples
sma = ta.sma(price, length)

// Limites baseados no Desvio Padrão
upperLimit = sma + thresholdEntry * stdDev
lowerLimit = sma - thresholdEntry * stdDev
exitUpperLimit = sma + thresholdExit * stdDev
exitLowerLimit = sma - thresholdExit * stdDev

// Cálculo do RSI
rsi = ta.rsi(price, rsiLength)

// Condições de Entrada com RSI
longCondition = ta.crossover(price, lowerLimit) and rsi < rsiOversold
shortCondition = ta.crossunder(price, upperLimit) and rsi > rsiOverbought

// Condições de Saída com RSI
exitLongCondition = ta.crossunder(price, exitLowerLimit) or rsi > rsiOverbought
exitShortCondition = ta.crossover(price, exitUpperLimit) or rsi < rsiOversold

// Plotar Linhas
plot(upperLimit, color=color.red, title="Limite Superior")
plot(lowerLimit, color=color.green, title="Limite Inferior")
plot(exitUpperLimit, color=color.orange, title="Limite de Saída Superior")
plot(exitLowerLimit, color=color.blue, title="Limite de Saída Inferior")
plot(sma, color=color.gray, title="SMA")
hline(rsiOverbought, "RSI Overbought", color=color.red)
hline(rsiOversold, "RSI Oversold", color=color.green)
plot(rsi, title="RSI", color=color.purple)

// Estratégia de Trade
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

if (exitLongCondition)
    strategy.close("Long")

if (exitShortCondition)
    strategy.close("Short")