
Esta estratégia usa uma estratégia de dupla linha de equilíbrio de combinação de médias móveis simples, auxiliada pelo indicador de taxa de flutuação do ATR para determinar a volatilidade do mercado. Quando a curta linha de média de período curto atravessa a média de longo período, julgue-a como um mercado de vários pontos. Quando a curta linha de média de período curto atravessa a média de longo período, julgue-a como um mercado vazio e faça uma entrada em branco.
A parte central é a estratégia de linha dupla. A estratégia de linha dupla geralmente escolhe a média de curto prazo e a média de longo prazo, como a média de 50 dias e a média de 200 dias. Quando a média de curto prazo atravessa a média de longo prazo, gera um sinal de compra.
Esta estratégia usa a média de 50 dias como média de curto período e a média de 200 dias como média de longo período. A combinação da média ponderada de massa VWAP determina a confiabilidade do sinal de linha média. Isto é, o sinal de linha média e o VWAP só entram em jogo quando estão em sincronia. Isso pode filtrar alguns sinais falsos.
Além disso, adicione o indicador RSI para evitar compras excessivas e vendas excessivas. Evite comprar quando o RSI estiver acima de 70 e evite vender quando o RSI estiver abaixo de 30.
Finalmente, a volatilidade e o nível de risco do mercado são avaliados pelo indicador de amplitude de flutuação média do ATR. O ATR é definido como alto quando é maior do que 1.18.
A estratégia tem três vantagens principais:
O Binary Equilibrium capta os pontos de inflexão das tendências de médio e longo prazo do mercado, aproveitando a negociação de tendências para obter lucros.
Combinado com o filtro VWAP de falsos sinais, aumenta a confiabilidade do sinal.
A introdução do indicador RSI evita a negociação de mercado de retorno e pode reduzir os prejuízos.
Aplicar o índice de volatilidade ATR para avaliar o risco do mercado e evitar os períodos de alta volatilidade pode reduzir os prejuízos.
O uso de uma variedade de combinações de indicadores é simples, fácil de entender e adequado para o início da negociação quantitativa.
A estratégia também apresenta alguns riscos:
A solução é reduzir o ciclo da linha média e acelerar a resposta do indicador.
O VWAP pode apresentar erros que filtrem os sinais de transação corretos. A solução é confirmada por outros indicadores.
No final da tendência, o RSI pode ficar por muito tempo na zona de sobrecompra e sobrevenda, o que leva a um ponto de reversão de tendência perdido. A solução é combinar a confirmação com outros indicadores, como o MACD.
A ATR pode ter um atraso na determinação da volatilidade do mercado. A solução é combinar o preço máximo e o preço mínimo para determinar a volatilidade do mercado.
Os rendimentos podem não atingir as expectativas e os parâmetros precisam ser adequadamente ajustados.
A estratégia ainda tem muito espaço para otimização:
Teste mais combinações lineares para encontrar o melhor parâmetro.
Adicionar mais sinais de filtragem de indicadores auxiliares, como MACD, KDJ, etc.
Optimizar o parâmetro de stop loss, reduzir perdas e aumentar a lucratividade.
Avaliar as diferenças entre as estratégias de negociação de ações fortes e fracas, e fazer modelagem de classificação.
Combinação de algoritmos de aprendizagem de máquina, como RNN, para otimização automática de parâmetros e avaliação de estratégias.
Desenvolver um sistema de negociação automática, conectado a um disco rígido para testes de retorno.
Esta estratégia é uma estratégia de acompanhamento de tendências mais simples. O núcleo utiliza a linha de dupla equilíbrio para julgar tendências de curto e longo prazo. Combina o VWAP e o RSI para processar sinais e aplicar a avaliação de risco ATR.
/*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)