
A estratégia de seguimento de tendências dinâmicas de mecanismo duplo é uma estratégia de seguimento de tendências que combina dois sinais de estratégias de negociação diferentes. A estratégia usa primeiro a estratégia de inversão 123 para determinar o ponto de reversão do preço, em seguida, é combinada com o índice de sintetização de preços ((D_DSP) para determinar a direção da tendência do preço, e, finalmente, a síntese dos dois sinais gera instruções de negociação.
A estratégia é usada principalmente para rastrear tendências de médio e curto prazo, estabelecendo um ponto de parada dinâmico por meio de um mecanismo duplo, que permite bloquear efetivamente os lucros e evitar a expansão dos perdas. Ao mesmo tempo, a combinação de indicadores de tendência e a dupla confirmação de indicadores de reversão pode reduzir o ruído de negociação.
A estratégia de reversão 123 vem do livro de Ulf Jensen, How to Triple Your Money in the Futures Market, p. 183. Esta estratégia determina se o preço apresenta duas reversões consecutivas do BAR que constituem um sinal de reversão de preço.
A lógica específica é que se o preço de fechamento for inferior ao preço de fechamento do dia anterior e a linha K lenta for inferior a 50, um sinal de compra é gerado; se o preço de fechamento for superior ao preço de fechamento do dia anterior e a linha K rápida for superior a 50, um sinal de venda é gerado.
O D_DSP é um indicador usado para determinar a direção da tendência de preços, que é consistente com a mudança de ciclo de preços reais. O D_DSP é calculado com um índice de 1⁄4 de ciclo de preços, subtraindo o índice de 1⁄2 de ciclo de média móvel.
Se D_DSP for positivo, o preço está em uma tendência ascendente; se D_DSP for negativo, o preço está em uma tendência descendente.
A estratégia gera instruções de negociação se os dois sinais são sinônimos (como duplo positivo ou duplo negativo) e, se os sinais não são sinônimos, é executada uma liquidação.
Este mecanismo de dupla confirmação pode filtrar eficazmente o ruído das transações e bloquear a tendência de lucro.
A maior vantagem da estratégia de rastreamento de tendências dinâmicas de dois mecanismos reside na configuração de dois níveis de ponto de parada. Primeiro, na dimensão do tempo, o diferencial do indicador aleatório rápido e lento forma um ponto de parada deslocado no tempo; em segundo lugar, na dimensão do preço, a própria estratégia de reversão contém uma função de parada.
Estas duas camadas de stop-loss podem maximizar o bloqueio de lucro e evitar que uma única estratégia de stop-loss seja uma falha. Além disso, o mecanismo de dupla confirmação também pode filtrar eficazmente os sinais de erro gerados por mudanças de preços não-direcionais.
O maior risco da estratégia é que os parâmetros sejam definidos de forma excessivamente rígida. Por exemplo, a configuração inadequada do comprimento do ciclo pode perder a tendência principal, perdendo oportunidades de lucro ou aumentando os prejuízos. A dupla confirmação pode ser definida de forma excessivamente rígida e pode perder o stop loss a tempo.
Além disso, quando uma estratégia de reversão é combinada com uma estratégia de tendência, a operação de liquidação em caso de discordância de julgamento pode também perder a oportunidade de continuar a seguir a tendência em uma direção dominante.
A estratégia pode ser melhorada em vários aspectos:
Otimização de parâmetros de ciclo. Calcule o valor óptimo do parâmetro com mais dados de ressonância e configure um parâmetro de ciclo mais adequado.
Aumentar as estratégias de stop loss, como romper o stop loss, rastrear o stop loss, etc. Configurar pontos de stop loss mais dinâmicos e razoáveis.
Otimizar as regras de julgamento. Ajustar a sensibilidade dos julgamentos de dupla confirmação para evitar a perda de oportunidades de liquidação excessivamente radical.
Adicionar filtros. Configurar filtros de oscilação de preços para evitar erros de interpretação de sinais de oscilação de diferença de linha média no final da tendência.
A estratégia de rastreamento de tendências dinâmicas de mecanismo duplo, através de dupla parada e reversão de indicadores aleatórios e dupla confirmação de julgamento de tendências, permite um rastreamento de tendências e controle de risco eficazes. A estratégia considera os fatores de tempo da movimentação dos preços, mas também a orientação dos preços em si, formando uma base de decisão tridimensional.
Espera-se que a estratégia obtenha melhores resultados através da otimização contínua das regras de julgamento e dos parâmetros de configuração. No entanto, a otimização da estratégia de negociação requer o suporte de um grande número de testes de dados históricos, e a estratégia de opção de ações e a estratégia de parada de perdas também precisam de aperfeiçoamento contínuo.
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 18/11/2019
// 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
// Detrended Synthetic Price is a function that is in phase with the
// dominant cycle of real price data. This DSP is computed by subtracting
// a half-cycle exponential moving average (EMA) from the quarter cycle
// exponential moving average.
// See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70.
//
// 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
D_DSP(Length) =>
pos = 0.0
xHL2 = hl2
xEMA1 = ema(xHL2, Length)
xEMA2 = ema(xHL2, 2 * Length)
xEMA1_EMA2 = xEMA1 - xEMA2
pos := iff(xEMA1_EMA2 > 0, 1,
iff(xEMA1_EMA2 < 0, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & D_DSP (Detrended Synthetic Price)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthDSP = input(14, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posD_DSP = D_DSP(LengthDSP)
pos = iff(posReversal123 == 1 and posD_DSP == 1 , 1,
iff(posReversal123 == -1 and posD_DSP == -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 )