Oscilador de Momentum com Estratégia de Negociação RSI


Data de criação: 2023-09-18 14:07:51 última modificação: 2023-09-18 14:07:51
cópia: 0 Cliques: 812
1
focar em
1617
Seguidores

[[em chinês simplificado]

Visão geral

A estratégia é muito direta, e nós estamos focados no momento em que o preço de fechamento toca o trajeto do Brin ou continua a cair. Para confirmar a tendência do preço, nós usamos o segundo indicador RSI para estudar a tendência do preço ainda mais. Por exemplo, se o preço toca o trajeto do Brin, mas o RSI não entra na zona de oversold, podemos determinar que o preço continuará a cair. Se o RSI for ultrapassado, podemos usar essa zona de preço como nosso ponto de partida.

Precisamos de um stop loss para evitar grandes perdas de capital se o RSI ficar muito tempo na zona de oversold.

A melhor zona de paragem é quando o preço rebota para o meio da trajectória de Bollinger ou acima da trajectória de Bollinger ou quando o RSI atinge a zona de supercompra, o que ocorrer primeiro.

A entrada de mais pessoas:

RSI < 30 e preço de fechamento < trajectória de baixa de Brin

A partida foi cancelada:

RSI > 70

Princípio da estratégia

A estratégia primeiro calcula o indicador RSI para determinar se está sendo sobrecomprado ou sobrevendido, definindo um limite superior ou inferior. Em seguida, calcula o trajeto médio, superior e inferior da faixa de Bryn. Quando o preço de fechamento toca o trajeto inferior de Bryn e o RSI está abaixo de 30, faça mais; Quando o RSI está acima de 70, feche a posição.

Ao entrar em um multi-cabeça, defina um ponto de parada. O ponto de parada é o preço de entrada.(1 + proporção fixa), o ponto de parada é o preço de entrada(1- proporção fixa)

Assim, nós compramos quando o RSI é baixo e vendemos quando o RSI é alto, aproveitando a inversão para lucrar. Ao mesmo tempo, colocamos um stop loss para controlar o risco.

Análise de vantagens

  • A utilização da faixa de Brin para determinar pontos de inflexão de preços aumenta a precisão
  • RSI filtra brechas falsas para garantir a confiabilidade de entrada
  • A configuração do Stop Loss permite um bom controle do risco de uma única transação
  • Dados de rastreamento completos, parâmetros ajustados para obter lucro estável

Análise de Riscos

  • A correia de Brin não pode prever exatamente o ponto de inflexão dos preços, e há uma certa taxa de falha.
  • A probabilidade de um indicador RSI emitir um falso sinal também existe
  • “Ao chegar perto do ponto de parada, não se pode manter a posição, o que aumenta o risco”.

Pode-se reduzir o risco através da adaptação dos parâmetros da faixa de Bryn, da combinação seletiva com outros indicadores e da flexibilização apropriada do intervalo de suspensão.

Direção de otimização

  • Filtragem de entrada em combinação com outros indicadores, como KD, MACD
  • Dinâmica de ajuste de stop loss parâmetro
  • Parâmetros da faixa de Bryn optimizados
  • Teste de robustez de parâmetros de diferentes variedades de transação

Resumir

A estratégia tem um bom equilíbrio entre o risco e o lucro, com um bom desempenho de feedback. A eficiência pode ser aumentada ainda mais com o ajuste de parâmetros e a otimização de indicadores. A estratégia de negociação reversa baseada em Brin Belt é simples e confiável e vale a pena estudar e melhorar ainda mais.

||

Overview

This strategy combines Bollinger Bands and the Relative Strength Index (RSI) indicator to predict price volatility and determine optimal entry points. The logic is straightforward - we watch for closing prices that touch the Bollinger lower band, after which there are two possible scenarios: either the price bounces back from the lower Bollinger band, or it continues falling. To confirm the price movement, we use a second indicator, RSI, to further investigate the trend. For example, if the price reaches the lower Bollinger band but the RSI value is not in oversold territory, we can conclude the price will continue down. If the RSI value is oversold, we can use this area as our entry point.

A stop loss is necessary to avoid losing too much capital if the RSI lingers too long in oversold territory.

The best take profit area is when the price rebounds back above the Bollinger middle band/upper band or when RSI reaches overbought levels, whichever comes first.

Long entry:

RSI < 30 and close price < Bollinger lower band

Long exit:

RSI > 70

Strategy Logic

The strategy first calculates the RSI indicator and sets upper/lower boundaries to determine overbought/oversold levels. It then calculates the Bollinger middle, upper and lower bands. When the closing price touches the lower band and RSI is below 30, go long. When RSI is above 70, close the position.

Upon entering long, set stop loss and take profit points. The take profit is set at entry price * (1 + fixed percentage), stop loss is set at entry price * (1 - fixed percentage).

This allows us to buy at Bollinger lower band when RSI is low and sell when RSI is high, profiting from the reversal. Stop loss and take profit control risk.

Advantage Analysis

  • Bollinger Bands determine reversal points accurately
  • RSI filters out false breakouts, ensuring reliable entry
  • Stop loss and take profit manage trade risk effectively
  • Extensive backtesting and parameter optimization ensure stable profitability

Risk Analysis

  • Bollinger Bands do not perfectly predict reversals, some failures occur
  • RSI can also give false signals
  • Stop loss too close cannot hold position, too loose increases risk

Risks can be mitigated by adjusting Bollinger parameters, using other indicators, and widening stop loss appropriately.

Optimization Directions

  • Consider combining with other indicators like KD, MACD to filter entries
  • Dynamically adjust stop loss/take profit percentages
  • Optimize Bollinger parameters
  • Test robustness across different products

Conclusion

The overall risk/reward profile of this strategy is balanced and backtest results are good. Further improvements can be made through parameter optimization and indicator enhancements. The reversal trading concept based on Bollinger Bands is simple and reliable, warranting further research and refinement.

[/trans]

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

//@version=4
//strategy(title="Bollinger Band with RSI", shorttitle="BB&RSI", format=format.price, precision=2, pyramiding=50, initial_capital=10000, calc_on_order_fills=false, calc_on_every_tick=true, default_qty_type=strategy.cash, default_qty_value=1000, currency="USD")
len = input(14, minval=1, title="Length")
src = input(close, "Source", type = input.source)
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, "RSI", color=#8E1599)
band1 = hline(70, "Upper Band", color=#C0C0C0)
band0 = hline(30, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, transp=90, title="Background")

length_bb = input(20,title="BB Length", minval=1)
mult = input(2.0, minval=0.001, maxval=50, title="BB StdDev")
basis = sma(src, length_bb)
dev = mult * stdev(src, length_bb)
upper = basis + dev
lower = basis - dev
offset = input(0, "BB Offset", type = input.integer, minval = -500, maxval = 500)


Plot_PnL = input(title="Plot Cummulative PnL", type=input.bool, defval=false)
Plot_Pos = input(title="Plot Current Position Size", type=input.bool, defval=false)

long_tp_inp = input(10, title='Long Take Profit %', step=0.1)/100
long_sl_inp = input(25, title='Long Stop Loss %', step=0.1)/100
// Take profit/stop loss
long_take_level = strategy.position_avg_price * (1 + long_tp_inp)
long_stop_level = strategy.position_avg_price * (1 - long_sl_inp)

entry_long = rsi < 30 and src < lower
exit_long = rsi > 70

plotshape(entry_long, style=shape.labelup, color=color.green,  location=location.bottom, text="L", textcolor=color.white, title="LONG_ORDER")
plotshape(exit_long, style=shape.labeldown, color=color.red,  location=location.top, text="S", textcolor=color.white, title="SHORT_ORDER")

strategy.entry("Long",true,when=entry_long)    
strategy.exit("TP/SL","Long", limit=long_take_level, stop=long_stop_level)
strategy.close("Long", when=exit_long, comment="Exit")
plot(Plot_PnL ? strategy.equity-strategy.initial_capital : na, title="PnL", color=color.red)
plot(Plot_Pos ? strategy.position_size : na, title="open_position", color=color.fuchsia)