A estratégia é chamada de Regras da Cruz de Ouro. Combina a Média Móvel Exponencial (EMA) e o Índice de Força Relativa (RSI) para negociação quantitativa. A ideia principal é comprar em zonas de alta demanda e vender em zonas de alta oferta, usando a EMA para determinar a tendência geral e o RSI para detectar áreas sobrecompradas / sobrevendidas.
A estratégia primeiro calcula a EMA de 50 dias e o RSI de 14 dias. Em seguida, define as Bandas de Bollinger como zonas de alta demanda e oferta. Quando o preço ultrapassa a EMA de 50 dias e o RSI ultrapassa 55, ele aciona o sinal de compra. Quando o preço cai abaixo da EMA de 50 dias e o RSI cai abaixo de 45, ele aciona o sinal de venda. Os pontos de entrada são comprar na zona de alta demanda e vender na zona de alta oferta.
Especificamente, quando o preço de fechamento quebra acima da EMA de 50 dias e está na zona de alta demanda, ele envia o sinal de compra. Quando o preço de fechamento quebra abaixo da EMA de 50 dias e está na zona de alta oferta, ele envia o sinal de venda. Ao fazê-lo, ele usa a EMA para detectar a tendência principal e o RSI para identificar extremos de supercompra / supervenda. Ele coloca negociações táticas contra-tendência nessas extremidades para obter maiores chances de ganhar.
A estratégia combina a EMA e o RSI, que efetivamente determinam as tendências do mercado e as zonas de sobrecompra / sobrevenda.
Além disso, a estratégia introduz os conceitos de zonas de alta demanda/oferta, que utiliza as áreas de sobrecompra/supervenda definidas pelas Bandas de Bollinger.
Em conclusão, a estratégia sintetiza múltiplos indicadores e conceitos para tirar vantagem de diferentes ferramentas.
O maior risco desta estratégia reside na criação das Bandas de Bollinger. Se as zonas de alta procura e oferta forem estabelecidas demasiado largas ou demasiado estreitas, isso levaria a perdas frequentes.
Outro risco potencial é a ocorrência de um topo ou fundo prolongado do mercado, onde a EMA e o RSI podem dar falsos sinais simultâneos.
Em primeiro lugar, algoritmos de aprendizagem de máquina podem ser introduzidos para permitir a otimização de parâmetros dinâmicos, como o uso de aprendizagem de reforço para ajustar as Bandas de Bollinger ou aplicar o LSTM para otimizar os parâmetros EMA e RSI.
Em segundo lugar, ao alavancar a mineração de texto e as tecnologias de PNL, os dados de sentimento do mercado podem ser coletados para capacitar as decisões de negociação.
Em terceiro lugar, as estratégias de selecção de acções podem ser combinadas. Selecionando primeiro as acções com potencial de crescimento através de aprendizagem profunda e, em seguida, cronometrando as operações com esta estratégia, o desempenho global pode ser melhorado.
Em conclusão, esta é uma estratégia sólida com combinações de indicadores apropriadas e vantagem óbvia, mantendo os riscos sob controle.
/*backtest start: 2023-01-28 00:00:00 end: 2024-02-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Powerful EMA and RSI Strategy", overlay=true) // Define EMA parameters ema50 = ta.ema(close, 50) // Calculate RSI rsiLength = input(14, title="RSI Length") rsiValue = ta.rsi(close, rsiLength) // Define Demand and Supply zones demandZone = input(true, title="Demand Zone") supplyZone = input(true, title="Supply Zone") // Define Buy and Sell conditions buyCondition = close > ema50 and rsiValue > 55 sellCondition = close < ema50 and rsiValue < 45 // Entry point buy when the price is closed above 50 EMA at Demand area buyEntryCondition = close > ema50 and demandZone strategy.entry("Buy", strategy.long, when=buyCondition and buyEntryCondition) // Entry point sell when the price is closed below 50 EMA at Supply area sellEntryCondition = close < ema50 and supplyZone strategy.entry("Sell", strategy.short, when=sellCondition and sellEntryCondition) // Plot 50 EMA for visualization plot(ema50, color=color.blue, title="50 EMA") // Plot RSI for visualization hline(55, "Overbought", color=color.red) hline(45, "Oversold", color=color.green) plot(rsiValue, color=color.purple, title="RSI") // Plot Demand and Supply zones bgcolor(demandZone ? color.new(color.green, 90) : na) bgcolor(supplyZone ? color.new(color.red, 90) : na)