
Esta estratégia, chamada de Binary Line and RSI FNGU Quantitative Trading Strategy, é uma estratégia de longo prazo especificamente para a ação FNGU. A estratégia usa principalmente o indicador de Binary Line e o indicador de RSI para identificar ações de sobrecompra e sobrevenda, gerando sinais de compra e venda.
A lógica central desta estratégia baseia-se na combinação do indicador de linha de Brill e do indicador RSI.
Em primeiro lugar, a linha de Brink inclui três linhas: a média, a linha superior e a linha inferior. A média é a média móvel simples de n dias, e a diferença padrão entre a linha superior e a linha inferior é k vezes a diferença positiva e negativa da linha central.
Nesta estratégia, a duração do período da linha média de Bollinger é de 235 dias e o valor do parâmetro k é 2. O sinal de compra é gerado quando o preço está abaixo da linha média de Bollinger ou quando o preço se aproxima da linha média de Bollinger de baixo para cima. O sinal de venda é gerado quando o preço está acima da linha média de Bollinger.
Em segundo lugar, o indicador RSI reflete o grau de sobrecompra e sobrevenda de uma ação. RSI acima de 70 significa sobrecompra e abaixo de 30 significa sobrevenda. Nesta estratégia, o período do parâmetro RSI é de 2 anos.
Nesta estratégia, a combinação do uso de indicadores de linha de bullish e indicadores de RSI: um sinal de compra é gerado quando o indicador de RSI quebra a zona de oversold e ao mesmo tempo o preço é inferior ou toca a linha de bullish; um sinal de venda é gerado quando o indicador de RSI quebra a zona de oversold e o preço é superior à linha de bullish.
A estratégia tem as seguintes vantagens:
A combinação dos dois indicadores, a linha de Brin e o RSI, torna os sinais de compra e venda mais precisos e confiáveis.
O RSI utiliza a linha de Brin para identificar as zonas de sobrecompra e de sobrevenda de ações e para filtrar os sinais falsos, complementando-se mutuamente.
Os investidores devem ter em conta que os investidores devem ter uma posição de longo prazo, sem considerar o risco de negociação a descoberto.
Os parâmetros da estratégia foram otimizados para o FNGU, uma ação altamente volátil.
O sistema de paragem automática reduz o risco de perdas.
A programação é simples, clara, fácil de entender e modificar.
A estratégia também apresenta alguns riscos, incluindo:
Tanto o Brinline quanto o RSI podem gerar falsos sinais, sendo suscetíveis a arbitragem e requerem cautela na negociação. Os parâmetros podem ser ajustados de acordo com o caso, ou outros indicadores podem ser adicionados para filtragem.
As ações da FNGU são muito voláteis, e a configuração inadequada de suspensão pode aumentar os prejuízos. A suspensão deve ser adequadamente relaxada.
A estratégia só é adequada para ações de alta volatilidade como a FNGU, não é adequada para outras ações, e os parâmetros precisam ser ajustados de acordo com diferentes ações.
Os parâmetros da estratégia foram otimizados, mas as mudanças no mercado podem fazer com que os parâmetros não sejam mais aplicáveis, e é necessário manter a atenção na otimização.
Esta estratégia pode ser melhorada em várias direções:
A adição de outras combinações de indicadores, como KDJ, MACD, etc., torna o sinal mais preciso.
Optimizar os parâmetros do Brinline e do RSI para mais tipos de ações.
Aumentar o modelo de aprendizagem de máquina para auxiliar a tomada de decisões, utilizando mais dados para gerar sinais de transação.
Realização de transações transcíclicas, utilizando dados de dimensões temporais mais altas para gerar sinais.
A análise de emoções é combinada com a análise de dados sociais para gerar sinais de transação.
Desenvolver um sistema de feedback quantitativo para testar rapidamente diferentes configurações de parâmetros.
Esta estratégia é uma estratégia de posição longa, especialmente para ações com grande volatilidade, como o FNGU. Em combinação com o uso do indicador de linhas de browning e o indicador RSI, ela gera sinais de negociação em caso de sobrevenda e sobrevenda, com o objetivo de capturar oportunidades de reversão do preço das ações.
/*backtest
start: 2023-12-29 00:00:00
end: 2024-01-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Bollinger + RSI + EMA, Double Strategy Long-Only (by EMKM)", shorttitle="1Min Killer", overlay=true)
///////////// RSI
RSIlength = input(2, title="RSI Period Length") // Adjusted RSI period length
RSIoverSold = 50
RSIoverBought = 50
price = close
vrsi = rsi(price, RSIlength)
///////////// Bollinger Bands
BBlength = input(235, 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
BBtarget38 = BBbasis + 0.38 * BBdev // Line at 38% of Bollinger Band width
BBtarget50 = BBbasis + 0.50 * BBdev // Line at 50% of Bollinger Band width
///////////// EMA
emaLength = input(20, title="EMA Period Length")
ema = ema(close, emaLength)
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(BBtarget38, color=color.blue, linewidth=2, title="SMA at 38% of BB width") // Line at 38%
plot(BBtarget50, color=color.green, linewidth=2, title="SMA at 50% of BB width") // Line at 50%
plot(ema, color=color.orange, title="EMA") // Plot EMA
///////////// RSI + Bollinger Bands Strategy
longCondition = crossover(vrsi, RSIoverSold) and buyEntry
sellCondition = crossunder(vrsi, RSIoverBought) and close > BBupper
close_long = close > BBbasis
close_short = close < BBbasis
if (not na(vrsi))
if longCondition
strategy.entry("Buy", strategy.long, qty=10, stop=BBlower, comment="Buy")
else
strategy.cancel(id="Buy")
if close_long
strategy.close("Buy")
if (sellCondition)
strategy.entry("Sell", strategy.short, qty=10, stop=BBupper, comment="Sell")
else
strategy.cancel(id="Sell")
if close_short
strategy.close("Sell")