
A estratégia cria uma estratégia de reversão altamente eficiente através da combinação de sinais de duplo indicador. Em primeiro lugar, integra um sinal de reversão baseado em indicadores aleatórios e um sistema de rastreamento de dias de alta contínua. A estratégia só é executada quando dois sinais acionam simultaneamente uma compra ou uma venda.
A estratégia é composta por dois sinais de indicadores. A primeira parte é o sistema de inversão 123, que observa a variação dos preços de fechamento nos últimos dois dias, e o valor do indicador de acaso lento de 3 de diferença padrão. Concretamente, se o preço de fechamento do dia atual for inferior ao preço de fechamento do dia anterior, o preço de fechamento de hoje é superior ao preço de fechamento de ontem, e o indicador de acaso lento é inferior a 50 em 9 dias, faça mais; em vez disso, o preço de fechamento de hoje é inferior ao de ontem e o indicador de acaso rápido é superior a 50, faça espaço.
A segunda parte do indicador rastreia o número de dias de alta contínua nos últimos n dias. Se os últimos n dias estiverem em alta, a saída é 1 e, caso contrário, a saída é 0. O indicador é usado para identificar a formação de tendências.
Finalmente, a estratégia só é executada quando 123 sinais de reversão e dias de alta contínua apresentam simultaneamente um estado de compra ou venda. Esta forma de colisão de múltiplos indicadores pode filtrar alguns sinais inativos, aumentando a estabilidade da estratégia como um todo.
A principal vantagem desta estratégia de combinação de múltiplos indicadores é que pode aumentar a confiabilidade do sinal, filtrando alguns sinais inativos. Em particular, existem as seguintes vantagens:
A inversão de 123 tem uma certa função de filtragem em si, para evitar ser confundido com o ruído. Combinado com o rastreamento de indicadores de dias ascendentes, pode identificar ainda mais as tendências e evitar o rebote da inversão.
O parâmetro do indicador aleatório é definido como uma comparação de linha rápida e lenta de 9 e 3 dias, o que permite suavizar as mudanças de parâmetro, evitar a confusão com oscilações de curto prazo e aumentar a estabilidade.
Parâmetros personalizáveis, incluindo parâmetros do indicador de stoch, dias de aumento, etc., podem ser ajustados para diferentes mercados, aumentando a adaptabilidade.
Pode-se optar por inverter a direção de negociação, com mais oportunidades de negociação, e pode-se lucrar com a operação inversa.
A estratégia também apresenta alguns riscos, que se concentram nos seguintes aspectos:
A combinação de vários indicadores pode melhorar a precisão do sinal, mas também pode perder algumas oportunidades e reduzir o limite de ganhos da estratégia.
Os sinais de retorno, por si só, correm o risco de serem encurralados, sendo necessário definir um stop loss para controlar o risco.
A configuração inadequada dos parâmetros também pode afetar o desempenho da estratégia, e os parâmetros precisam ser ajustados de acordo com os diferentes mercados.
A posse a longo prazo e a perda prematura, ou a perseguição de uma inversão de ações também trazem algum risco.
Em contrapartida, as seguintes medidas podem ser tomadas para controlar os riscos:
A liberalização dos parâmetros é apropriada para manter mais oportunidades de negociação.
Estabeleça um ponto de parada para controlar a perda individual.
Optimizar os parâmetros e criar regras de parâmetros para diferentes mercados.
Evitar a posse de uma única ação por um longo período e manter a liquidez.
A estratégia de inversão de múltiplos indicadores ainda tem muito espaço para otimização, principalmente a partir dos seguintes aspectos:
Teste mais combinações de indicadores para encontrar estratégias de combinação de indicadores mais adequadas.
Parâmetros de indicadores de otimização automática usando algoritmos de aprendizagem de máquina.
Aumentar as condições de stop loss e de stop loss para tornar a estratégia mais robusta.
Na seção de indicadores de tendências, é possível testar indicadores de diferentes períodos de tempo.
Avaliação da adequação a diferentes mercados, como índices de ações, divisas, metais preciosos e criptomoedas.
Conceber estratégias de combinação, avaliar vários mercados e ajustar posições de forma dinâmica.
A estratégia usa uma combinação de indicadores para criar uma estratégia de negociação de reversão que é eficiente e estável. Em comparação com um único indicador, o mecanismo de colisão de indicadores múltiplos pode filtrar sinais falsos. Ao mesmo tempo, a estratégia também atualiza a estratégia de reversão tradicional, adicionando novos indicadores de tendência como sinais de confirmação.
/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 26/03/2021
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Evaluates for n number of consecutive higher closes. Returns a value
// of 1 when the condition is true or 0 when false.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
NBU(nLength) =>
pos = 0.0
nCounter = 0
nCounter := iff(close[1] >= open[1], nz(nCounter[1],0)+1,
iff(close[1] < open[1], 0, nCounter))
C1 = iff(nCounter >= nLength, 1, 0)
posprice = 0.0
posprice := iff(C1== 1, close, nz(posprice[1], 0))
pos := iff(posprice > 0, 1, 0)
pos
strategy(title="Combo Backtest 123 Reversal & N Bars Up", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- N Bars Up ----")
nLength = input(4, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posNBU = NBU(nLength)
pos = iff(posReversal123 == 1 and posNBU == 1 , 1,
iff(posReversal123 == -1 and posNBU == -1, -1, 0))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1 , 1, pos))
if (possig == 1 )
strategy.entry("Long", strategy.long)
if (possig == -1 )
strategy.entry("Short", strategy.short)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )