Estratégia RSI2 intradiária reversão taxa de vitória backtest

RSI SMA
Data de criação: 2024-04-29 14:02:55 última modificação: 2024-04-29 14:02:55
cópia: 7 Cliques: 1116
1
focar em
1617
Seguidores

Estratégia RSI2 intradiária reversão taxa de vitória backtest

Visão geral

A estratégia baseia-se em um sinal de oversold de um indicador relativamente forte (RSI), comprando no mínimo do dia e depois definindo um stop e um stop de porcentagem fixa, retomando a probabilidade de que a estratégia toque o stop e o stop. A ideia principal é aproveitar as oportunidades de reversão do RSI no momento do oversold, intervir no mínimo do dia e aproveitar os benefícios de reversão no curto prazo.

Princípio da estratégia

  1. Calcule o indicador RSI de 2 ciclos e a média móvel simples de 200 ciclos
  2. Quando o preço de fechamento estiver acima da linha média e o RSI estiver abaixo do limiar de oversold (default 10), compre no dia de abertura da próxima negociação
  3. Registre o preço mínimo de compra do dia como preço de entrada
  4. 6% de stop loss e 3% de stop loss com base no preço de entrada
  5. No dia seguinte de negociação, se tocar no preço de parada, o posicionamento é encerrado. Se tocar no preço de parada, o posicionamento é encerrado.
  6. Número de paradas e paradas de perda, estratégia para calcular a taxa de vitória no período de tempo definido

Análise de vantagens

  1. Comprar a baixa do dia e obter ganhos inversos após o RSI ter vendido a mais no dia
  2. Percentagem fixa de stop-loss para controlar o risco de uma única transação
  3. Filtragem de linha média de longo período para reduzir a tendência de negociação a contra-balanço
  4. Simples e fácil de usar, com configuração de parâmetros flexíveis, adequado para traders de linha curta

Análise de Riscos

  1. RSI oversold não garante uma reversão inevitável, o mercado pode continuar a cair em situações extremas
  2. Percentagem fixa de stop loss pode não cobrir o custo da transação
  3. Os pontos de entrada baseiam-se nos preços mais baixos do dia, o que dificulta a operação de compra no ponto mais baixo.
  4. A falta de discernimento de tendências, dependendo apenas de sinais de sobrecompra e sobrevenda, pode não ser muito rentável.

Direção de otimização

  1. Usando um stop loss adaptativo, ajustado dinamicamente de acordo com indicadores como a volatilidade dos preços
  2. Adicionar indicadores de confirmação de tendência, como MACD, DMI, etc., evitando negociação de contrapartida
  3. Otimização de pontos de entrada, como o uso de regras de negociação de distância variável da praia
  4. Aumentar a gestão de posições e aumentar a taxa de utilização e retorno dos fundos
  5. Combinação com outros indicadores de curto período para melhorar a confirmação de sinais, como banda Brin, KDJ, etc.

Resumir

A estratégia RSI2 tenta capturar a oportunidade de reversão do dia após o excesso de RSI, para controlar o risco através da configuração de uma parada de parada de percentual fixo, enquanto o uso de uma linha média de longo período para filtrar o sinal de contraste. O conceito da estratégia é simples e adequado para os comerciantes de especulação de curta linha. Mas também tem certas limitações, como a falta de julgamento de tendência, é difícil comprar com precisão no mínimo, e a parada de parada fixa também limita o espaço de receita da estratégia no futuro.

Código-fonte da estratégia
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_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/
// © rajk1987

//@version=5
strategy("RSI2 strategy Raj", overlay=true, margin_long=100, margin_short=100)

rsi_len = input.int( 2, title = "RSI Length",     group = "Indicators")
rsi_os  = input.float(10, title = "RSI Oversold", group = "Indicators")
rsi_ob  = input.float(90, title = "RSI OverBrought",   group = "Indicators")
max_los = input.float(3,title = "Max Loss Percent", group = "Indicators")
tar_per = input.float(6,title = "Target Percent",group = "Indicators")

//Get the rsi value of the stock
rsi = ta.rsi(close, rsi_len)
sma = ta.sma(close,200)
var ent_dat = 0
var tar = 0.0
var los = 0.0
var bp = 0.0

if ((close > sma) and (rsi < rsi_os))
    strategy.entry("RSI2 Long Entry", strategy.long,1)
    ent_dat := time(timeframe = timeframe.period)

if(ent_dat == time(timeframe = timeframe.period))
    bp := low //high/2 + low/2
    tar := bp * (1 + (tar_per/100))
    los := bp * (1 - (max_los/100))

if (time(timeframe = timeframe.period) > ent_dat)
    strategy.exit("RSI2 Exit", "RSI2 Long Entry",qty = 1, limit = tar, stop = los, comment_profit = "P", comment_loss = "L")

//plot(rsi,"RSI")
//plot(bp,"BP")
//plot(tar,"TAR")
//plot(los,"LOS")