RSI sobrevendido perseguindo estratégia


Data de criação: 2023-09-26 16:11:55 última modificação: 2023-09-26 16:11:55
cópia: 1 Cliques: 737
1
focar em
1617
Seguidores

Visão geral

A estratégia usa o indicador RSI para determinar se a criptomoeda está em um estado de superação, e se o RSI estiver abaixo de 30, é considerado um superação, em que a compra é feita, e depois o preço de stop loss e stop loss é definido. Se o preço de stop loss for atingido, o stop loss será vendido, e se o preço de stop stop for atingido, o stop stop será vendido.

Princípio da estratégia

  1. A estratégia usa o RSI para determinar o momento de entrada. O RSI é um indicador de análise técnica que determina se um ativo está sobrecomprado ou sobrevendido, calculando a velocidade e a amplitude da mudança de preço. Os valores do RSI variam entre 0 e 100, sendo geralmente considerado que o RSI acima de 70 é a zona de sobrecompra e o RSI abaixo de 30 é a zona de sobrevenda.

  2. Quando o indicador RSI está abaixo de 30, é considerado um excesso de queda, então você compra e abre uma posição maior.

  3. Depois de abrir uma posição, configure o preço de parada e o preço de parada. O preço de parada é inferior a 1% do preço de entrada e o preço de parada é superior a 7% do preço de entrada.

  4. Se o preço for abaixo do preço de parada, o preço de parada é eliminado; se o preço for acima do preço de parada, o preço de parada é eliminado.

Análise de vantagens estratégicas

  1. Usando o indicador RSI para determinar o momento de compra, você pode comprar quando o preço cai para o ponto mais baixo, obtendo um melhor preço de entrada.

  2. A configuração de stop loss permite o controle de perdas individuais. A amplitude de stop loss é pequena e pode suportar uma certa retracção.

  3. A configuração do Stop Stop pode bloquear o lucro e não perder o aumento. O Stop Stop é maior e maximiza o lucro.

  4. A estratégia de retirada de controle é mais forte e menos arriscada.

Análise de risco estratégico

  1. O RSI emite sinais de ultrapassagem e queda, mas não necessariamente representa uma reversão de preço, podendo continuar a cair e causar um stop loss.

  2. A perda de tempo é muito pequena, e se a regressão for muito grande, a perda de tempo pode ser reduzida.

  3. O que acontece é que a paralisação antecipada pode não ser suficiente para manter a posição.

  4. A estratégia pode ser muito prejudicial quando a negociação não é correta.

Direção de otimização da estratégia

  1. Pode ser combinado com outros indicadores para confirmar o sinal de queda do RSI, evitando sinais errados. Por exemplo, o indicador KDJ.

  2. Pode-se configurar um limite de perda e um limite de queda adequados de acordo com a volatilidade das diferentes moedas.

  3. É possível testar configurações de parâmetros em diferentes períodos de tempo para encontrar a melhor combinação de parâmetros.

  4. O tamanho da posição pode ser otimizado de acordo com os resultados da avaliação.

Resumir

A estratégia é, em geral, uma estratégia de busca de queda e queda mais robusta. Utilizando o indicador RSI para determinar a compra e queda, pode-se fazer uma posição em posições relativamente baixas. Configure um stop loss para controlar o risco e bloquear o lucro.

Código-fonte da estratégia
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-25 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © brodieCoinrule

//@version=4
strategy(shorttitle='Oversold RSI with tight SL',title='Oversold RSI with tight SL Strategy (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100



// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)
oversold= input(30)


//Entry 
strategy.entry(id="long", long = true, when = RSI< oversold and window())

//Exit
Stop_loss= ((input (1))/100)
Take_profit= ((input (7)/100))

longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())