Este conjunto de estratégias usa quatro indicadores técnicos diferentes, a faixa de Brin, o RSI, o MACD e o Stochastic, para negociações de curto e longo prazo. Em primeiro lugar, determina se o preço está fora do canal de Brin, e, se for, faz mais curto de acordo com a direção; em seguida, determina se o RSI está na zona de superaquecimento e, se for, pode entrar de acordo com a direção; em seguida, determina se o MACD ocorre em um forco de ouro e, se for, pode entrar de acordo com a direção; e, finalmente, determina se o Stochastic produz um forco de ouro e está na zona de superaquecimento e, se for o caso, pode entrar.
A estratégia usa principalmente os quatro indicadores de Brin, RSI, MACD e Stochastic.
A faixa de Brin é uma subida e descida do preço das ações com base no diferencial padrão do preço das ações. Quando o preço das ações ultrapassa a faixa de Brin, o preço das ações está fora da faixa de flutuação normal, e pode ser feito em curto prazo.
O RSI é calculado através de um rápido Rise e um rápido Fall. Quando o RSI está abaixo de 30 é um sinal de superabando e acima de 70 é um sinal de superabando, que pode ser usado como um sinal de compra e venda.
O MACD é a diferença entre a média do índice DIFF menos a diferença entre o DEA, DIFF para cima com a ruptura do DEA faz um sinal positivo para o Gold Fork, DIFF para baixo com a ruptura do DEA faz um sinal negativo para o Dead Fork.
A linha Stochastic K e a linha de ruptura D também podem ser usadas como sinais de negociação, a linha K abaixo de 20 é um sinal de venda e a linha de ruptura D acima de 80 é um sinal de compra. A linha K atravessa a linha D como um sinal de múltiplas cabeças e a linha de ruptura D como um sinal de cabeças vazias.
A análise combinada desses quatro indicadores pode aumentar a taxa de sucesso da entrada. Concretamente, quando o preço ultrapassa a correção de Brin, é considerado como um sinal múltiplo; quando o RSI é inferior a 30, é considerado como um sinal múltiplo; quando o MACD Gold Fork é considerado como um sinal múltiplo; quando o Stochastic K atravessa a linha D e a linha K é inferior a 20, é considerado como um sinal múltiplo.
A maior vantagem da estratégia é que a combinação de vários indicadores de tendências de julgamento tem maior precisão e maior taxa de vitória do que um único indicador.
Em primeiro lugar, a estratégia combina vários indicadores de períodos de tempo, incluindo a avaliação de tendências de médio e longo prazo da faixa de Bryn, com a avaliação de indicadores de curto prazo da MACD, RSI e Stochastic, permitindo que a estratégia faça a avaliação em várias dimensões de tempo, reduzindo a probabilidade de erro.
Em segundo lugar, a estratégia usa o princípio de confirmação de entrada de vários indicadores, garantindo a precisão do tempo de entrada somente quando vários indicadores emitem sinais ao mesmo tempo. Por exemplo, é necessário que os quatro indicadores de Brin, RSI, MACD e Stochastic estejam preenchidos.
Além disso, a estratégia usa uma combinação de indicadores que podem complementar as vantagens de diferentes indicadores, aumentando a taxa de vitória. Por exemplo, o RSI pode determinar o excesso de compra e venda, o Brinco pode determinar o desvio da tendência, o MACD pode detectar mudanças de curto prazo, etc. Usando essas combinações de indicadores, pode aproveitar as vantagens de cada um.
Finalmente, a estratégia usa a estratégia de aceleração, que pode ser mais lucrativa quando os sinais indicadores são determinados. Quando os quatro sinais indicadores são determinados, o método de aceleração pode ser mais lucrativo do que a negociação quantitativa.
A estratégia também apresenta alguns riscos que devem ser levados em conta.
Em primeiro lugar, a estratégia usa vários parâmetros e indicadores, o que aumenta a dificuldade de otimização da estratégia. Há muitos parâmetros a serem ajustados e é necessário testar repetidamente uma grande quantidade de dados históricos para encontrar a melhor combinação de parâmetros.
Em segundo lugar, a estratégia depende de vários indicadores para emitir sinais ao mesmo tempo, o que não é muito comum e pode levar a uma baixa frequência de negociação. Se não conseguir capturar sinais sincronizados por um longo período de tempo, a estratégia será fraca.
Além disso, a estratégia de aquisição de ativos pode aumentar os lucros, mas também pode aumentar os prejuízos. Quando os quatro indicadores emitem sinais de sincronia errados, a aquisição de ativos pode causar maiores prejuízos.
Finalmente, a estratégia assume que vários indicadores emitem sinais simultaneamente com maior confirmação, mas a forma como as decisões são tomadas quando os indicadores se dispersam precisa ser considerada. Quando os indicadores não são consistentes, a estratégia deve estabelecer um mecanismo de decisão quantitativa.
A estratégia pode ser melhorada em vários aspectos:
Optimizar os parâmetros do indicador para encontrar a melhor combinação de parâmetros. A pesquisa de otimização completa dos parâmetros do indicador pode ser feita por meio de algoritmos genéticos, pesquisa de grade e outros métodos.
Aumentar a estratégia de stop loss para controlar os prejuízos. Quando o preço se aproxima de um ponto negativo, adotar uma estratégia de stop loss para evitar a expansão dos prejuízos.
Otimizar a lógica de admissão, estabelecer um mecanismo de pontuação quantitativa quando os indicadores não são consistentes. Por exemplo, definir o peso dos diferentes indicadores, de acordo com a pontuação de admissão.
Otimizar a lógica de saída, estudar a taxa de ganhos e perdas em diferentes períodos de posse e elaborar as melhores regras de saída.
Optimizar a variedade de negociação e o tempo de negociação, ajustando a variedade e o tempo de negociação adequados para a estratégia.
Teste o impacto dos custos de transação, com base nos parâmetros do ponto de deslizamento e da estratégia de otimização de comissões.
Aumentar os algoritmos de aprendizagem de máquina, utilizando redes neurais para a auto-adaptação de parâmetros e otimização de estratégias.
A estratégia utiliza vários indicadores e mecanismos de confirmação múltipla para tomar decisões, com parâmetros razoáveis e controle de condições rígidas, para obter melhores efeitos estratégicos. Mas também há certas dificuldades e riscos operacionais, que precisam melhorar a estabilidade e a confiabilidade da estratégia por meio de otimização contínua. A chave é encontrar a melhor correspondência de parâmetros indicadores, estabelecer regras científicas de entrada e saída e controlar o risco para que a estratégia continue a ser lucrativa em mercados complexos e variáveis.
/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("MD strategy", overlay=true)
lengthrsi = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
source = close
lengthbb = input(20, minval=1)
mult = input(2.0, minval=0.001, maxval=50)
direction = input(0, title = "Strategy Direction", minval=-1, maxval=1)
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
consecutiveBarsUp = input(3)
consecutiveBarsDown = input(3)
lengthch = input( minval=1, maxval=1000, defval=5)
upBound = highest(high, lengthch)
downBound = lowest(low, lengthch)
lengthst = input(14, minval=1)
OverBoughtst = input(80)
OverSoldst = input(20)
smoothK = 3
smoothD = 3
k = sma(stoch(close, high, low, lengthst), smoothK)
d = sma(k, smoothD)
ups = price > price[1] ? nz(ups[1]) + 1 : 0
dns = price < price[1] ? nz(dns[1]) + 1 : 0
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))
basis = sma(source, lengthbb)
dev = mult * stdev(source, lengthbb)
upper = basis + dev
lower = basis - dev
vrsi = rsi(price, lengthrsi)
if (not na(vrsi))
if (crossover(vrsi, overSold))
strategy.entry("RsiLE", strategy.long, comment="RsiLE")
if (crossunder(vrsi, overBought))
strategy.entry("RsiSE", strategy.short, comment="RsiSE")
if (crossover(source, lower))
strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE")
else
strategy.cancel(id="BBandLE")
if (crossunder(source, upper))
strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE")
else
strategy.cancel(id="BBandSE")
if (not na(k) and not na(d))
if (crossover(k,d) and k < OverSoldst)
strategy.entry("StochLE", strategy.long, comment="StochLE")
if (crossunder(k,d) and k > OverBoughtst)
strategy.entry("StochSE", strategy.short, comment="StochSE")
if (crossover(delta, 0))
strategy.entry("MacdLE", strategy.long, comment="MacdLE")
if (crossunder(delta, 0))
strategy.entry("MacdSE", strategy.short, comment="MacdSE")