Estratégias de negociação multi-head swing baseadas no bracket e no RSI

Autora:ChaoZhang, Data: 2024-03-11 11:51:22
Tags:

基于布林带和RSI的多头摆动交易策略

Resumo

A estratégia baseia-se em dois indicadores técnicos, o Bollinger Band e o RSI, e é usada para negociar oscilações de várias cabeças em uma tendência ascendente. A lógica estratégica é simples, mas eficaz: abrir mais quando o preço desce o Bollinger Band e o RSI está abaixo de 35 e abrir mais quando o RSI está acima de 69; e, ao mesmo tempo, configurar um stop-loss.

Princípios estratégicos

  1. Computação do RSI: O RMA (Relative Moving Average) é usado para calcular o tamanho médio da alta e da queda dos preços, separadamente, e o RSI é obtido dividindo o tamanho da queda pelo tamanho total.

  2. Cálculo da faixa de Bryn: usa o SMA (Simple Moving Average) para calcular a linha média do preço, além de subtrair o desvio padrão. A faixa de Bryn pode refletir dinamicamente os intervalos de flutuação do preço.

  3. Quando o preço cai fora do trajeto do Brain e o RSI está abaixo de 35, julgue-o como sobrevendido, quando o preço está acima.

  4. Pingo: Quando o RSI passa de 69, julga-se que é um overbought, quando estabiliza a posição de mais uma posição, bloqueando o lucro.

  5. Stop-Loss: após a abertura de um negócio, o preço de stop-loss e stop-loss é calculado com base na percentagem definida pelo usuário.

Análise de vantagens

  1. A faixa de brinquedos reflete objetivamente os intervalos de funcionamento dos preços, ajustando-se em sincronia com o movimento dos preços, sem ser limitada por um limiar fixo.

  2. O RSI pode refletir de forma mais intuitiva o contraste de forças mais vazias, mas também é relativamente objetivo e é frequentemente usado para determinar o supercomprador.

  3. Usado em tendências ascendentes, é mais adequado para oscilação de negociação. Captura de rebote de preços através de trajetória de brains e RSI baixo, e paragem oportuna através de RSI alto, capaz de captar eficazmente o mercado de faixa de onda.

  4. A configuração de stop-loss permite que o risco estratégico seja controlado e que os investidores possam ajustar os parâmetros com flexibilidade de acordo com suas preferências de risco.

  5. A lógica estratégica e o código são relativamente simples, fáceis de entender e implementar, e os efeitos de retrospecção são mais estáveis.

Análise de riscos

  1. Para os mercados turbulentos, o bracket e o RSI podem emitir mais sinais de negociação, levando a uma frequência de negociação excessiva e a um aumento dos custos de manutenção.

  2. Indicadores individuais, como o RSI, são suscetíveis a variações de preços de curto prazo e produzem sinais enganosos. Portanto, os sinais do RSI são melhor combinados com movimentos de preços, etc. para análise.

  3. A escolha dos parâmetros da faixa de brinquedos e do RSI tem um grande impacto no desempenho da estratégia, e diferentes mercados e variedades podem exigir parâmetros diferentes. Os usuários precisam fazer ajustes apropriados de acordo com a situação específica.

  4. Em situações excepcionais, como eventos de emergência, o cinto de proteção e o RSI podem falhar. Se não houver outros meios de controle do vento, esse momento pode levar a um recuo maior da estratégia.

Optimização

  1. A introdução de outros indicadores técnicos, como a média móvel, pode ser considerada como um filtro, por exemplo, para abrir apenas quando o MA é multi-headed, aumentando a confiabilidade do sinal.

  2. Os parâmetros do RSI podem ser otimizados para encontrar a combinação de parâmetros que melhor funcionam em cada variedade, em cada ciclo.

  3. Pode-se fazer testes prospectivos com base em retrospectiva e fazer negociações simuladas, verificando adequadamente a eficácia e a estabilidade da estratégia antes do mercado real.

  4. Pode-se controlar ainda mais o recuo estratégico através de métodos como gestão de posições, stop-loss e stop-loss dinâmicos, aumentando o lucro após o ajuste de risco.

  5. A estratégia pode ser incorporada em um portfólio e usada em conjunto com outras estratégias para hedge, em vez de em isolamento, para aumentar a estabilidade do portfólio.

Resumo

Este artigo apresenta uma estratégia de negociação de oscilação múltipla baseada em dois indicadores técnicos, o bracket e o RSI. A estratégia é usada para capturar os movimentos dos segmentos em tendências ascendentes. A lógica e a implementação são relativamente simples. A estratégia é usada para capturar os segmentos em tendências ascendentes.


/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Bollinger Band with RSI", shorttitle="BB&RSI")
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(69, "Upper Band", color=#C0C0C0)
band0 = hline(31, "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 < 35.58 and src < lower
exit_long = rsi > 69
 
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)


Mais informações