Esta estratégia é chamada de
A lógica básica da estratégia da média móvel dupla é a seguinte:
Quando os sinais de negociação acima ocorrem, vamos desenhar marcas relevantes no gráfico para um julgamento visual fácil.
A maior vantagem da estratégia de média móvel dupla é que pode combinar eficazmente indicadores de tendência e indicadores de sobrecompra/supervenda para tornar os sinais de negociação mais confiáveis.
A combinação de RSI e MA pode verificar os sinais entre si e evitar sinais falsos gerados por um único indicador.
Comparado com uma única estratégia RSI ou MA, a estratégia de média móvel dupla pode obter oportunidades mais lucrativas.
Esta estratégia utiliza apenas dois parâmetros, é simples de operar, de baixo custo e adapta-se a diferentes ambientes de mercado.
Fácil de otimizar. Ajustando os parâmetros do ciclo de RSI e MA, é conveniente otimizar e adaptar-se a mais variedades.
Apesar das muitas vantagens da estratégia da média móvel dupla, os riscos não podem ser completamente evitados na aplicação real.
O MA utiliza preços médios históricos e pode ficar aquém das últimas variações de preços.
O RSI pode experimentar falhas, resultando em sinais errados.
Incapaz de se adaptar a tendências de mercado em rápida mudança, propenso a parar perdas.
Ajustes de parâmetros inadequados também podem afetar muito o desempenho da estratégia.
Em resposta, realizamos principalmente o controlo dos riscos a partir dos seguintes aspectos:
Utilize MA adaptativa para ajustar os parâmetros do ciclo com base nas últimas alterações de preços.
Aumentar o mecanismo de stop loss para controlar a perda única.
Otimizar os parâmetros para selecionar a melhor combinação de parâmetros para os ensaios.
Adotar um stop loss de passo para bloquear lucros parciais e reduzir os riscos.
Para problemas potenciais com a estratégia de média móvel dupla, consideramos a otimização a partir das seguintes dimensões:
Utilize MA adaptativa em vez de MA comum para captar mais rapidamente as alterações da tendência dos preços.
Aumentar a verificação do indicador de volume para evitar falhas. Por exemplo, só compre quando o preço de fechamento e o volume de negociação aumentarem juntos.
Combinar outros indicadores para filtrar sinais inválidos. Por exemplo, verifica os indicadores MACD ou KD.
Otimizar a faixa de configuração de parâmetros para encontrar a combinação ideal de parâmetros.
Usar técnicas de aprendizagem de máquina para otimização de parâmetros adaptativos.
Através das otimizações acima referidas, espera-se melhorar consideravelmente o desempenho em tempo real da estratégia da média móvel dupla.
A estratégia de média móvel dupla integra as vantagens dos indicadores RSI e MA. Através da cooperação dos dois, sinais de negociação mais precisos e confiáveis podem ser gerados. Em comparação com as estratégias de indicador técnico único, as estratégias de média móvel dupla têm maior precisão de sinal, menos sinais falsos, otimização fácil e outras vantagens. Mas o risco de má operação não pode ser completamente evitado. Também propusemos algumas medidas específicas de controle de risco. Além disso, existem dimensões que podem ser otimizadas ainda mais para esta estratégia. Combinando indicadores adaptativos, outros indicadores de verificação auxiliares, otimização de parâmetros e outros meios, espera-se melhorar ainda mais a taxa de retorno da estratégia. Em geral, esta estratégia fornece uma solução de análise técnica simples e prática para negociação quantitativa.
/*backtest start: 2023-10-31 00:00:00 end: 2023-11-30 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="RSI + MA", shorttitle="RSI + MA") reverseTrade = input(false, title = "Use Reverse Trade?") lengthRSI = input(14, minval=1, title="RSI Length") sourceRSI = input(close, "RSI Source", type = input.source) showMA = input(true, title="Show MA") lengthMA = input(9, minval=1, title="MA Length") offsetMA = input(title="MA Offset", type=input.integer, defval=0, minval=-500, maxval=500) up = rma(max(change(sourceRSI), 0), lengthRSI) down = rma(-min(change(sourceRSI), 0), lengthRSI) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) ma = sma(rsi, lengthMA) plot(showMA ? ma : na, "MA", color=color.blue, linewidth=2, style=0, offset=offsetMA) plot(rsi, "RSI", color=#9915FF, linewidth=1, style=0) band1 = hline(70, "Upper Band", color=#C0C0C0, linestyle=2, linewidth=1) band0 = hline(30, "Lower Band", color=#C0C0C0, linestyle=2, linewidth=1) fill(band1, band0, color=color.new(#9915FF,95), title="Background") buy = reverseTrade ? rsi[1] < ma[1] and rsi > ma : rsi[1] > ma[1] and rsi < ma sell = reverseTrade ? rsi[1] > ma[1] and rsi < ma : rsi[1] < ma[1] and rsi > ma strategy.entry("Buy", true, when = buy) strategy.entry("Sell", false, when = sell)