Estratégia de negociação quantitativa com duplo indicador

Autora:ChaoZhang, Data: 2024-01-15 12:18:53
Tags:

img

Resumo

A estratégia é chamada Quantitative Trading Dual Indicator Strategy. Utiliza tanto as Bandas de Bollinger quanto o Relative Strength Index (RSI) como sinais de negociação para implementar uma estratégia de negociação filtrada por dois indicadores.

Estratégia lógica

A lógica central desta estratégia consiste em utilizar tanto as Bandas de Bollinger como o RSI para julgar as condições de sobrecompra e sobrevenda no mercado para a filtragem de sinais de negociação.

Especificamente, as bandas superiores e inferiores de Bollinger podem determinar se os preços estão fora da faixa de volatilidade, julgando assim se o mercado está sobrecomprado ou sobrevendido.

A estratégia é definida de modo a que as operações de compra ou venda só sejam realizadas quando as Bandas de Bollinger e o RSI exibem sinais de sobrecompra ou sobrevenda ao mesmo tempo.

Vantagens da estratégia

A maior vantagem desta estratégia é a utilização de indicadores duplos para a filtragem, o que pode reduzir as operações enganosas e melhorar a fiabilidade do sinal.

Em comparação com um único indicador de Bandas de Bollinger, a estratégia de indicador duplo pode reduzir muito a probabilidade de sinais falsos.

Em geral, a estratégia de indicadores duais considera de forma abrangente várias situações e apresenta uma melhor adaptabilidade e estabilidade.

Riscos da estratégia e soluções

O principal risco desta estratégia é que as configurações de parâmetros de Bollinger Bands e RSI podem ser inadequadas. Se os parâmetros de Bollinger Bands forem definidos para serem muito sensíveis, é propenso a gerar sinais redundantes.

Além disso, a combinação de indicadores duplos em si significa menos sinais. Se o mercado apenas atender aos sinais de um indicador, enquanto o outro não atingiu o nível de gatilho, essa estratégia não gerará sinais. Portanto, em comparação com as estratégias de indicador único, a frequência de negociação desta estratégia será menor.

As soluções incluem principalmente a definição de parâmetros mais adequados, a modificação dos níveis de desencadeamento do RSI e das Bandas de Bollinger, etc. Se a frequência de negociação for muito baixa, considere reduzir os requisitos de parâmetros para aumentar as oportunidades de entrada.

Orientações de otimização

Esta estratégia pode ser otimizada nos seguintes aspectos:

  1. Teste diferentes combinações de Bandas de Bollinger e parâmetros do RSI para encontrar melhores correspondências.

  2. Adicionar estratégias de stop loss e take profit para melhorar a rentabilidade.

  3. Adicionar mecanismos de dimensionamento de posições Usar dimensionamento de posição dinâmico para aumentar as posições quando a tendência vai bem e reduzir as perdas quando a tendência vai mal.

  4. Adicionar a autoadaptabilidade dos parâmetros com base em dados históricos.

Conclusão

Como uma estratégia filtrada por indicadores duplos, esta estratégia tem boa estabilidade geral e adaptabilidade. Ao mesmo tempo em que reduz a proporção de falsos sinais, também reduz a frequência de negociação.


/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-11 23:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Bollinger Bands + RSI, Double Strategy (by SlumdogTrader)", shorttitle="BolBand_RSI_Strat", overlay=true)

// SlumdogTrader's Bollinger Bands + RSI Double Strategy - Profit Trailer
//
// Version 1.0
// Script by SlumdogTrader on July Fri 13(!), 2018.
//
// This strategy uses a normalise Bollinger Bands + RSI.
//
// Bollinger Band triggers
// SELL - when the price is above the upper band.
// BUY - when the price is below the lower band.
//
// RSI triggers
// SELL - when the price is above 55.
// BUY - when the price is below 45.
//
// This simple strategy only triggers when
// both the BB and the RSI
// indicators, at the same time, are in
// a overbought or oversold condition.
//
// Visit my TradingView work at:
// https://www.tradingview.com/u/SlumdogTrader/
//
// Visit my website at:
// https://www.slumdogtrader.com
//

///////////// Bollinger Bands Settings
BBlength = input(20, minval=1,title="Bollinger Bands SMA Period Length")
BBmult = input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
price = input(close, title="Source")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = crossover(source, BBlower)
sellEntry = crossunder(source, BBupper)
plot(BBbasis, color=aqua,title="BBs SMA Basis Line")
p1 = plot(BBupper, color=silver,title="BBs Upper Line")
p2 = plot(BBlower, color=silver,title="BBs Lower Line")
fill(p1, p2)

///////////// RSI Settings
RSIlength = input( 16 ,title="RSI Period Length")
RSIvalue = input( 45 ,title="RSI Value Range")
RSIoverSold = 0 + RSIvalue
RSIoverBought = 100 - RSIvalue
vrsi = rsi(price, RSIlength)


///////////// Colour Settings
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Background Color?")
TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) ? red : RSIoverSold and (price[1] < BBlower and price > BBlower)  ? green : na
barcolor(switch1?TrendColor:na)
bgcolor(switch2?TrendColor:na,transp=50)


///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))

    if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower))
        strategy.entry("RSI_BB_L", strategy.long, stop=BBlower,  comment="RSI_BB_L")
    else
        strategy.cancel(id="RSI_BB_L")

    if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
        strategy.entry("RSI_BB_S", strategy.short, stop=BBupper,  comment="RSI_BB_S")
    else
        strategy.cancel(id="RSI_BB_S")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)


Mais.