Estratégia de fusão de captura de tendências de dupla via


Data de criação: 2023-11-06 11:49:41 última modificação: 2023-11-06 11:49:41
cópia: 0 Cliques: 644
1
focar em
1617
Seguidores

Estratégia de fusão de captura de tendências de dupla via

Visão geral

Esta estratégia combina as estratégias de seguimento de tendências do inverso 123 e do oscilador de elasticidade SMA, formando uma estratégia de seguimento de tendências de sinais de filtragem de duas trajetórias. A estratégia de inverso 123 determina pontos de inflexão potenciais através da forma de linha K. A estratégia de oscilador de elasticidade SMA usa a média móvel para determinar a direção da tendência.

Princípio da estratégia

  1. 123 estratégia de reversão

Esta estratégia tem origem no sistema de Ulf Jensen, como obter um retorno triplo no mercado de futuros. Pertence ao tipo de estratégia de reversão. Faça um ganho quando o preço de fechamento for 2 dias consecutivos acima do preço de fechamento do dia anterior e a linha lenta do indicador aleatório for inferior a 50 no dia 9. Faça um vazio quando o preço de fechamento for 2 dias consecutivos abaixo do preço de fechamento do dia anterior e a linha rápida do indicador aleatório for superior a 50 no dia 9.

  1. Oscilador elástico SMA

O indicador é semelhante ao TSI, desenvolvido por William Blau, mas o SMA oscilante contém uma linha de sinal. O indicador de Elasticidade do SMA usa o preço menos a média móvel dupla do preço do dia anterior e então traça a média móvel do SMA como uma linha de sinal para emitir um sinal de negociação.

Confirmação dupla: a posição só é aberta quando a inversão de 123 e o indicador de elasticidade SMA emitem sinais de simetria. Quando os dois sinais não são consistentes, a posição é mantida em branco.

Vantagens estratégicas

  1. A fusão de vários indicadores, formando um mecanismo de dupla confirmação, pode filtrar eficazmente os sinais de erro.

  2. A estratégia de reversão usa a forma de linha K para determinar o ponto de reversão potencial. O oscilador elástico SMA emite um sinal através do julgamento de tendências, que se verificam mutuamente, compensando a deficiência de um único indicador.

  3. Os parâmetros do oscilador elástico SMA são ajustáveis e podem ser otimizados para diferentes variedades e ciclos, com grande flexibilidade.

  4. A estratégia geral de acompanhamento de tendências é a de capturar, de forma contínua, as tendências mais fortes.

Risco estratégico

  1. A integração e o equilíbrio entre a estratégia de inversão e a estratégia de tendência precisam ser constantemente otimizados, caso contrário, é possível perder o ponto de inflexão ou gerar perdas significativas.

  2. A estratégia de reversão em si tem um certo risco de transações erradas, e os parâmetros precisam ser ajustados para reduzir a taxa de fracasso.

  3. A estratégia de acompanhamento puro não pode determinar o ponto de reversão da tendência, existindo um risco potencial de perda. É necessário reduzir a posição em tempo hábil para evitar o risco.

  4. Diferentes variedades e parâmetros de ciclo necessitam de testes de otimização repetidos.

Otimização de Estratégia

  1. Ajustar os parâmetros de inversão de 123 para reduzir a frequência de transações erradas.

  2. Ajustar os parâmetros do oscilador de elasticidade SMA para otimizar a sensibilidade do indicador.

  3. Adicionar estratégias de stop loss para reduzir perdas individuais.

  4. Em combinação com outros indicadores para avaliar a potencial reversão, reduzir a posição no momento oportuno.

  5. Teste de diferentes variedades para otimização de parâmetros e aumento da estabilidade.

Resumir

Esta estratégia, através de um mecanismo de dupla confirmação, integra os benefícios da estratégia de reversão e tendência, formando um efeito de acompanhamento de tendência mais forte. Pode eliminar o ruído de forma eficaz e, consequentemente, capturar oportunidades de tendência de qualidade contínua.

Código-fonte da estratégia
/*backtest
start: 2022-10-30 00:00:00
end: 2023-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/07/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
// The SMI Ergodic Indicator is the same as the True Strength Index (TSI) developed by 
// William Blau, except the SMI includes a signal line. The SMI uses double moving averages 
// of price minus previous price over 2 time frames. The signal line, which is an EMA of the 
// SMI, is plotted to help trigger trading signals. Adjustable guides are also given to fine 
// tune these signals. The user may change the input (close), method (EMA), period lengths 
// and guide values.
//
// 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


SMI_Erg(fastPeriod, slowPeriod,SmthLen, TopBand,LowBand) =>
    pos = 0.0
    xPrice = close
    xPrice1 = xPrice - xPrice[1]
    xPrice2 = abs(xPrice - xPrice[1])
    xSMA_R = ema(ema(xPrice1,fastPeriod),slowPeriod)
    xSMA_aR = ema(ema(xPrice2, fastPeriod),slowPeriod)
    xSMI = xSMA_R / xSMA_aR
    xEMA_SMI = ema(xSMI, SmthLen)
    pos:= iff(xEMA_SMI < LowBand, -1,
    	   iff(xEMA_SMI > TopBand, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & SMI Ergodic Oscillator", 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, "---- SMI Ergodic Oscillator ----")
fastPeriod = input(4, minval=1)
slowPeriod = input(8, minval=1)
SmthLen = input(3, minval=1)
TopBand = input(0.5, step=0.1)
LowBand = input(-0.5, step=0.1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSMI_Erg = SMI_Erg(fastPeriod, slowPeriod,SmthLen, TopBand,LowBand )
pos = iff(posReversal123 == 1 and posSMI_Erg == 1 , 1,
	   iff(posReversal123 == -1 and posSMI_Erg == -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 )