Esta estratégia utiliza uma combinação de média móvel simples, dupla estratégia de média móvel, complementada pelo índice de volatilidade ATR para determinar a volatilidade do mercado. Quando a linha média de curto prazo cruza acima da linha média de longo prazo, ela é determinada como um mercado de touros e uma posição longa é tomada. Quando a linha média de curto prazo cruza abaixo da linha média de longo prazo, ela é determinada como um mercado de ursos e uma posição curta é tomada. Ao mesmo tempo, a confiabilidade do sinal da média móvel é julgada combinando o preço médio ponderado por volume VWAP. Além disso, o indicador RSI é incorporado para evitar reversões.
O núcleo é a estratégia de média móvel dupla. A estratégia de média móvel dupla normalmente seleciona uma média móvel de curto prazo e uma média móvel de longo prazo, como a média móvel de 50 dias e a média móvel de 200 dias. Um sinal de compra é gerado quando a média móvel de curto prazo cruza acima da média móvel de longo prazo. Um sinal de venda é gerado quando a média móvel de curto prazo cruza abaixo da média móvel de longo prazo.
Esta estratégia seleciona a média móvel de 50 dias como a média móvel de curto prazo e a média móvel de 200 dias como a média móvel de longo prazo. Combinado com o preço médio ponderado pelo volume VWAP para determinar a confiabilidade do sinal da média móvel. Ou seja, apenas entre no mercado quando o sinal da média móvel estiver alinhado com o VWAP. Isso filtra alguns sinais falsos.
Além disso, o indicador RSI é incorporado para evitar overbuying e overselling.
Por fim, a amplitude média de flutuação do indicador ATR é usada para determinar a volatilidade e o nível de risco do mercado. Quando o valor ATR é maior que 1,18, ele é definido como alta volatilidade. Neste ponto, alterando a cor de fundo, o risco maior é solicitado e a negociação pode ser evitada temporariamente até que a volatilidade diminua.
As principais vantagens desta estratégia refletem-se em três aspectos:
A média móvel dupla capta o ponto de virada da tendência de médio e longo prazo no mercado e utiliza a negociação de tendência para obter lucros relativamente elevados.
Combinar VWAP para filtrar sinais falsos e melhorar a confiabilidade do sinal.
Introdução do indicador RSI para evitar a negociação contra o mercado, o que pode reduzir as perdas.
A aplicação do índice de volatilidade ATR para determinar as condições de risco de mercado evita períodos de alta volatilidade, que podem reduzir as perdas.
A combinação de vários indicadores é simples e fácil de compreender e implementar, adequada para a entrada quantitativa na negociação.
Esta estratégia tem também alguns riscos:
A solução é reduzir o ciclo da média móvel para acelerar a velocidade de reação do indicador.
O VWAP pode ter erros, resultando na filtragem de sinais de negociação corretos.
No final da tendência, o RSI pode permanecer na área de sobrecompra/supervenda por um longo tempo, perdendo o ponto de virada da reversão da tendência.
A solução é combinar o preço mais alto, o preço mais baixo, etc. para determinar a volatilidade do mercado.
O rendimento pode não satisfazer as expectativas e os parâmetros devem ser ajustados em conformidade.
Ainda há muito espaço para otimização nesta estratégia:
Teste mais combinações de médias móveis para encontrar parâmetros ideais.
Adicione mais indicadores auxiliares aos sinais de filtragem, como MACD, KDJ etc.
Otimizar os parâmetros de stop loss e take profit para reduzir perdas e aumentar lucros.
Avaliar a diferença nas estratégias de negociação entre ações fortes e fracas para a modelagem de classificação.
Incorporar algoritmos de aprendizagem de máquina, como RNN, para otimizar automaticamente parâmetros e avaliar estratégias.
Desenvolver sistemas de negociação automatizados e conectar a negociação ao vivo para backtesting.
Em geral, esta estratégia é uma estratégia de rastreamento de tendências relativamente simples. O núcleo usa médias móveis duplas para determinar tendências de longo e curto prazo. Combina o VWAP e o RSI para processar sinais e aplicar o ATR para avaliar riscos. A ideia da estratégia é simples e fácil de entender e operar. Através de algum espaço de otimização, bons retornos podem ser obtidos.
/*backtest start: 2024-01-04 00:00:00 end: 2024-01-11 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Simple Moving Averages", overlay=true) sma50 = ta.sma(close, 50) sma200 = ta.sma(close, 200) vwap = ta.vwap(close) rsi = ta.rsi(close, 14) [diPlus, diMinus, adx_val] = ta.dmi(14, 14) atr_val = ta.atr(14) plot(sma50, color=color.new(color.green, 0)) plot(sma200, color=color.new(color.red, 0)) plot(vwap) longCondition = ta.crossover(sma50, sma200) and vwap > close shortCondition = ta.crossunder(sma50, sma200) and vwap < close if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) barcolor = sma50 > sma200 ? (vwap < close ? (rsi < 70 ? color.green : color.blue) : color.yellow) : (sma50 < sma200 ? (vwap > close ? (rsi > 30 ? color.red : color.orange) : color.yellow) : na) barcolor(barcolor) bgcolor(adx_val > 25 and atr_val > 1.18 ? color.new(color.gray, 50) : color.new(color.black, 50), transp=90) // ADX and ATR Label Box // label.new(bar_index, high, "ADX: " + str.tostring(adx_val, "#.##") + "\nATR: " + str.tostring(atr_val, "#.##"), color=color.new(color.white, 0), textcolor=color.new(color.black, 0), style=label.style_labeldown, yloc=yloc.price, xloc=xloc.bar_index, size=size.small, textalign=text.align_left) // Exit conditions (optional) strategy.close("Long", when = ta.crossunder(sma50, sma200)) strategy.close("Short", when = ta.crossover(sma50, sma200)) // Take Profit and Stop Loss takeProfitPercentage = 5 stopLossPercentage = 3 strategy.exit("Take Profit / Stop Loss", "Long", profit = takeProfitPercentage, loss = stopLossPercentage) strategy.exit("Take Profit / Stop Loss", "Short", profit = takeProfitPercentage, loss = stopLossPercentage)