Estratégia de acompanhamento de tendências com base no Stoch RSI


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

Estratégia de acompanhamento de tendências com base no Stoch RSI

Visão geral

A estratégia é uma estratégia de acompanhamento de tendências baseada no design do indicador Stoch RSI. Combina os benefícios do RSI e do indicador Stoch para gerar sinais de negociação através do cruzamento do RSI de Stoch, adotando mecanismos de acompanhamento de tendências, ajustando dinamicamente as linhas de stop loss e stop loss, para otimizar a gestão de fundos.

Princípio da estratégia

A estratégia cria um sinal de compra quando a linha K do RSI de Stoch quebra 20 a partir de um baixo. A estratégia define um ponto de parada baseado no preço mais baixo das linhas K anteriores e ajusta dinamicamente o ponto de parada à medida que o preço sobe.

Análise de vantagens

Esta estratégia combina o indicador RSI de Stoch para determinar a tendência do mercado e gerar sinais de cruzamento, evitando as limitações de um único indicador RSI. Ao mesmo tempo, o mecanismo de rastreamento de tendências permite que a linha de parada de perda se ajuste continuamente com a operação do preço, evitando o risco de uma parada prematura, podendo capturar continuamente a tendência. Além disso, o indicador RSI em si tem uma boa probabilidade de vitória.

Análise de Riscos

A estratégia depende principalmente do indicador Stoch RSI para determinar a tendência e gerar sinais de cruzamento. Se o indicador em si emitir um sinal errado, será exposto a um certo risco. Além disso, em situações de choque, a linha de parada e a linha de parada podem ser acionadas com frequência, afetando a lucratividade da estratégia.

Direção de otimização

  • Optimizar os parâmetros do Stoch RSI, ajustar a velocidade de suavização das linhas K e D e reduzir a probabilidade de sinais errados
  • Optimizar as configurações de linha de parada e linha de parada para melhorar a estabilidade dos parâmetros
  • Aumentar as condições de filtragem para evitar que as pessoas fiquem presas em situações de tremores
  • Aumento do mecanismo de gerenciamento de posições, ajustando o tamanho das posições de acordo com as condições do mercado

Resumir

Esta estratégia integra os benefícios do indicador Stoch RSI, projetando um mecanismo de rastreamento de tendências que permite identificar efetivamente a tendência e ajustar dinamicamente o stop loss para aumentar a probabilidade de lucro. A otimização dos parâmetros pode aumentar ainda mais a estabilidade e a capacidade de rastreamento da estratégia.

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

//@version=2

strategy("sdf",calc_on_every_tick=true,precision=8,
     default_qty_type=strategy.fixed,currency="USD")
//entradas y variables de indicadores
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
overbought=input(80)
oversold=input(20)
//entradas de stop , trail, profit
stop=input(1500)
stop_dentro_de_los_ultimos_lows=input(20)
trail_points=input(500)
trail_offset=input(100)
profit=input(1000)
riesgo_en_dolares=input(15)
marsi=sma(rsi(close,14),14)
//condicion de compra: k>80
buycondition=crossover(k,20) and security(syminfo.ticker,"240",rsi(close,14)>marsi)
bgcolor( security(syminfo.ticker,"240",rsi(close,14)>marsi) ? yellow : na , transp=0)

if year>2014
    strategy.entry("l",strategy.long,qty=1,when=buycondition)
    velasiguente=barssince(buycondition)+1  //cierre en cada vela nueva independientemente si subeObaja.FUNCIONANDO
    strategy.close("l",when=velasiguente>2)       //cierre en cada vela nueva independientemente si subeObaja.FUNCIONANDO
    //paradaMasBajo=lowest(low,stop_dentro_de_los_ultimos_lows)//stop_dentro_de_los_ultimos_lows, NO PROBADA 
    //strategy.exit("l",loss=paradaMasBajo,profit=profit)
plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)