Esta estratégia combina os indicadores Bollinger Bands e Stoch RSI para negociação de múltiplos indicadores.
A estratégia baseia-se em dois indicadores principais:
Bandeiras de Bollinger
Calcule as faixas superior, média e inferior. Um sinal de compra é gerado quando o preço ultrapassa a faixa inferior.
Indicador de variação de preços
Um sinal de compra é gerado quando a linha K cruza acima da linha D.
A lógica de negociação específica é: abrir longo quando ambos os breakout inferior Bollinger Bands e Stoch RSI cruz de ouro ocorrem juntos.
A lógica de saída usa as faixas para obter lucro e parar a perda: fechar para lucro quando o preço toca a faixa superior ou média novamente, fechar para perda quando o preço retorna abaixo da faixa inferior.
Os riscos podem ser reduzidos:
A estratégia pode ser melhorada:
Optimização dos parâmetros das bandas de Bollinger
Ajustar as relações de cálculo superior/inferior para melhor ajustamento
Optimização dos parâmetros do RSI de Stoch
Encontrar valores ideais de K e D
Adição de indicadores de confirmação como o MACD
Evitar sinais falsos baseados num único indicador
Utilização de paralisações de lucro em vez de paralisações fixas
Paradas baseadas na volatilidade dos preços
Parâmetros de ensaio separados para diferentes produtos
Os parâmetros ideais variam de acordo com os diferentes produtos
Esta estratégia aproveita as Bandas de Bollinger para a direção da tendência e o Stoch RSI para a otimização de entrada, aproveitando uma abordagem de múltiplos indicadores. Mas desafios como a otimização de parâmetros difíceis e a precisão do sinal existem.
/*backtest start: 2022-09-14 00:00:00 end: 2023-09-20 00:00:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "BB+RSI v2", overlay = true) price=close ////////// /////// BB ///////////////////////// bblength = input(50) bbupmult =input(2,step=0.1,title="Multiplier for BB Upper Band") bblowmult = input(2,step=0.1,title="Multiplier for BB Lower Band") basis = sma(close,bblength) devup = bbupmult * stdev(close, bblength) devlow = bblowmult * stdev(close, bblength) upper = basis + devup lower = basis - devlow plot(basis, color=red) p1 = plot(upper, color=blue) p2 = plot(lower, color=blue) fill(p1, p2) bbbuy= crossover(price,lower) bbsell = crossunder(price,upper) or price>upper or crossunder(price,basis) //////////////////// BB ////////////////////// //////////////////////// S RSI ///////////////////// lengthrsi = input(6) overSold = input( 20 ) overBought = input( 70 ) vrsi = rsi(price, lengthrsi) smoothK = input(3, minval=1) smoothD = input(3, minval=1) lengthRSI = input(14, minval=1) lengthStoch = input(14, minval=1) src = input(close, title="RSI Source") rsi1 = rsi(src, lengthRSI) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = sma(k, smoothD) SRSIbuy=crossover(k,d) ////////////////////// S RSI /////////////////////// // Conditions longcond = bbbuy and SRSIbuy closelong = bbsell monthfrom =input(6) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( longcond ) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( closelong ) strategy.close("BUY")