Super estratégia de tendência reversa

Autora:ChaoZhang, Data: 23 de dezembro de 2023
Tags:

img

Resumo

A estratégia de reversão de Super Trend é uma estratégia de reversão de negociação que combina o indicador de Super Trend e o indicador RSI.

Princípio da estratégia

A estratégia de reversão da Super Tendência consiste em duas partes principais:

  1. Indicador de Super Tendência para avaliar a tendência do mercado

    O indicador Super Trend calcula a faixa de preços com base no preço atual e na faixa média verdadeira durante um determinado período para determinar a direção da tendência.

  2. Indicador RSI para identificar reversões

    O indicador RSI julga se está atualmente sobrecomprado ou sobrevendido comparando o número de dias de alta e baixa em um período de tempo.

    Nesta estratégia, por certas transformações, obtemos a curva RSI processada e definimos linhas de limiar.

Análise das vantagens

A estratégia de reversão da Super Tendência combina indicadores de tendência e reversão para considerar de forma abrangente a força da tendência e os fenômenos de sobrecompra/supervenda, de modo a poder abrir e fechar posições em locais relativamente bons para obter melhores retornos estratégicos.

As principais vantagens são:

  1. Combinação de tendência e inversão, negociação em pontos de reversão
  2. Utilização controlada, melhor controlo dos riscos
  3. Grande espaço de otimização de parâmetros, ajustável com base no mercado

Análise de riscos

A estratégia de reversão da Super Tendência também apresenta alguns riscos, incluindo principalmente:

  1. Risco de falha da reversão

    Os sinais de reversão podem ser falsos e não reverter com êxito, o que pode aumentar as perdas.

  2. Risco de otimização de parâmetros

    A otimização inadequada dos parâmetros pode causar uma adaptação excessiva da estratégia e a incapacidade de se adaptar às alterações do mercado.

  3. Retardo do indicador técnico

    Todos os indicadores técnicos apresentam atrasos, possivelmente faltando a melhor posição de entrada.

Para fazer face a estes riscos, podemos otimizar e melhorar ainda mais através da combinação de outros indicadores, ajustando os métodos de otimização de parâmetros, etc.

Orientações de otimização

A estratégia de reversão da Super Tendência pode ser otimizada nas seguintes dimensões de acordo com o mercado e as necessidades:

  1. Otimizar os parâmetros da Super Tendência para adaptá-los aos diferentes mercados
  2. Otimizar ou melhorar a lógica de desencadeamento da reversão do RSI
  3. Adicionar estratégia de stop loss para controlar perdas únicas
  4. Combinar outros indicadores para determinar a fiabilidade da reversão
  5. Adicionar indicador de volume de negociação para evitar falsos breakouts

Resumo

A estratégia de reversão de Super Trend combina as vantagens da negociação de tendência e da negociação de reversão, permitindo seguir a tendência ao abrir posições em pontos de reversão. Ao testar e otimizar continuamente os parâmetros e controlar adequadamente os riscos, esta estratégia pode obter retornos estáveis. Seu espaço de otimização também é muito grande, ajustável com base nas condições reais do mercado.


/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "Super-Trend-reverse Strategy", overlay = true)

// Super Trend Strategy
Factor=input(2,type =float, minval=1,maxval = 100)
Pd=10 //input(10,minval=1,maxval = 100)

// ST1

UP=hlc3-(Factor*atr(Pd))

DOWN=hlc3+(Factor*atr(Pd))

// ST1.2

TrendUp=na
TrendUp:=close[1]>TrendUp[1]? max(UP,TrendUp[1]) : UP

TrendDown=na
TrendDown:=close[1]<TrendDown[1]? min(DOWN,TrendDown[1]) : UP


Trend = na
Tsl = na


Trend := close[1] > TrendDown[1] ? 1: close[1] < TrendUp[1]? -1: nz(Trend[1],1)
Tsl := Trend==1 ? TrendUp: TrendDown


/////////////// Functions for Reverse //////////////////////////////

IF(input) => (exp(2*input)-1) / (exp(2*input)+1)

//////////////////////// RSI REVERSE /////////////////////

RSI_main = input(14, title="RSI Main Period")
RSI_smooth = input(5, title="RSI Smooth Period")

//Functions
RVS(input) => (exp(2*input)-1) / (exp(2*input)+1)

//RSI Calculation
raw_RSI=0.1*(rsi(close,RSI_main)-50)
wma_RSI=wma(raw_RSI,RSI_smooth)
RVS_RSI = RVS(wma_RSI)


threshold1 = RVS_RSI < 0.8? 1 : 0
threshold2 = -0.8




RSIbuy = (RVS_RSI<threshold2)
RSIsell = (RVS_RSI > threshold1)



////////////////////// RSI REVERSE ///////////////////////

// Conditions



longCond = na
shortCond = na
longCond :=  RSIbuy and crossover(close, Tsl)  
shortCond :=  RSIsell and crossunder(close, Tsl) 


yearfrom = input(2018)
yearuntil =input(2039)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  longCond  and   year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( shortCond and  year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) 

    strategy.close("BUY")







Mais.