
Esta estratégia integra três indicadores: a faixa de Brin, o índice de força relativa (RSI) e a média móvel do índice (EMA) para implementar uma estratégia de negociação automática de ações de longo prazo. O RSI gera um sinal de compra quando está abaixo da linha de superalimento e o preço está perto ou toca o Brin para baixo. O Brin gera um sinal de venda quando o preço está perto e toca o Brin para cima.
Esta estratégia baseia-se principalmente em três indicadores: a faixa de Brin, o RSI e o EMA. A linha central da faixa de Brin é a média móvel simples do preço, e a linha de cima e de baixo é o dobro do intervalo padrão de preços. A faixa de Brin é capaz de determinar o fenômeno de sobrecompra e sobrevenda do mercado, quando o preço está perto da faixa de baixo, é um fenômeno de sobrevenda, quando está perto da faixa de cima, é um fenômeno de sobrecompra.
A estratégia tem como condições de compra: um sinal de compra é gerado quando o indicador RSI está abaixo da linha de ultrapassagem de 30, e é necessário simultaneamente atender ao estado de ultrapassagem de preços que estão perto ou tocando a linha de baixa de Brin, para evitar falsos sinais.
A condição de venda desta estratégia é: durante o aumento do preço, quando o toque da faixa de Brin é colocado em linha, um sinal de venda é gerado, comboBox1 ⋅ Assim, o uso da faixa de Brin para julgar o estado de sobrecompra, para realizar um stop and sell ⋅
A solução para o risco:
A estratégia pode ser melhorada em várias direções:
Esta estratégia integra três indicadores, a faixa de Brin, o RSI e a EMA, e realiza uma estratégia de negociação automática com uma linha longa de julgamento de dupla filtragem. O mecanismo de filtragem dupla para julgar o estado de sobrecompra e sobrevenda pode evitar sinais falsos, e o uso da tendência de julgamento da EMA pode evitar negociações adversas. Os parâmetros da estratégia podem ser configurados de forma flexível e aplicados a diferentes ações.
/*backtest
start: 2023-12-21 00:00:00
end: 2023-12-28 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Bollinger + RSI + EMA, Double Strategy Long-Only (by ChartArt) v1.3", shorttitle="rsi 30 min ADJ Buy", overlay=true)
///////////// RSI
RSIlength = input(2, title="RSI Period Length") // Adjusted RSI period length
RSIoverSold = input(30, title="RSI Oversold Level") // Adjustable RSI oversold level
RSIoverBought = input(80, title="RSI Overbought Level") // Adjustable RSI overbought level
price = close
vrsi = rsi(price, RSIlength)
///////////// Bollinger Bands
BBlength = input(231, minval=1, title="Bollinger Period Length") // Adjusted Bollinger period length
BBmult = 2
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
///////////// EMA
useEMA = input(true, title="Use EMA?")
emaLength = input(20, title="EMA Period Length")
ema = useEMA ? ema(close, emaLength) : na
source = close
buyEntry = crossover(source, BBlower) or (close < BBlower and close > BBbasis) or (low < BBlower and close > BBbasis) // Add condition for low touching Bollinger Band
sellEntry = crossunder(source, BBupper)
///////////// Plotting
plot(BBbasis, color=color.aqua, title="Bollinger Bands SMA Basis Line")
plot(BBupper, color=color.silver, title="Bollinger Bands Upper Line")
plot(BBlower, color=color.silver, title="Bollinger Bands Lower Line")
plot(ema, color=color.orange, title="EMA") // Plot EMA
///////////// RSI + Bollinger Bands Strategy
long = crossover(vrsi, RSIoverSold) and buyEntry
close_long = close >= BBupper
if (not na(vrsi))
if long
strategy.entry("Buy", strategy.long, qty=10, stop=BBlower, comment="Buy")
else
strategy.cancel(id="Buy")
if close_long
strategy.close("Buy")