Estratégia de rastreamento de tendência de reversão de indicador duplo


Data de criação: 2024-02-01 10:55:30 última modificação: 2024-02-01 10:55:30
cópia: 0 Cliques: 676
1
focar em
1617
Seguidores

Estratégia de rastreamento de tendência de reversão de indicador duplo

Visão geral

Esta estratégia, que combina os sinais de um indicador de média móvel e de um indicador de facilidade de negociação de mercado, para comprar ou vender quando se julga que o preço se inverte, é uma estratégia de negociação de tipo invertido.

Princípio da estratégia

A estratégia usa dois indicadores para determinar o sinal. O primeiro é o indicador de média móvel, especificamente a combinação de linha rápida e lenta de indicadores aleatórios. Um sinal de venda é gerado quando o preço cai em dois dias consecutivos e a linha rápida é superior à linha lenta; um sinal de compra é gerado quando o preço sobe em dois dias consecutivos e a linha rápida é inferior à linha lenta.

O segundo indicador é o índice de facilidade de negociação no mercado. O índice é usado para avaliar a liquidez do mercado e a eficiência da operação de preços, calculando a relação entre a amplitude da flutuação dos preços e o volume de transações. O aumento do índice indica que o mercado está fluindo e a eficiência da operação é alta, o que pode ser considerado uma tendência.

Esta estratégia combina a lógica de julgamento de dois indicadores, resultando em operações de compra e venda quando ambos os indicadores emitem sinais de compra ou venda ao mesmo tempo.

Vantagens estratégicas

  • A confirmação de dois indicadores pode melhorar a precisão do sinal e evitar falsos sinais.
  • Uma combinação de indicadores de reversão e indicadores de tendência permite avaliar a tendência geral ao mesmo tempo que a reversão, evitando operações de contra-corrente
  • A redução da frequência de intervenções humanas

Riscos e soluções

  • Se o mercado entrar em um longo período de alta ou baixa unilateral, será difícil de capturar oportunidades de reversão e não entrar em campo.

  • Parâmetros de inversão podem ser adequadamente relaxados para aumentar as oportunidades de compra e venda

  • Também pode aumentar a sua posição e obter mais lucro seguindo a tendência.

  • A estratégia pode falhar devido a um erro no sinal de retorno.

  • Pode-se reduzir os falsos sinais através da otimização dos parâmetros do indicador ou do aumento do ciclo de confirmação

Direção de otimização

  • Testar mais combinações de parâmetros para encontrar o melhor parâmetro indicador
  • Pode-se adicionar ou alterar indicadores de inversão para testar o efeito de inversão de diferentes indicadores
  • Aumentar as estratégias de stop loss para controlar as perdas individuais
  • Algoritmos de aprendizado de máquina podem ser usados para treinar modelos de inversão mais precisos usando dados grandes

Resumir

A estratégia combina um indicador de reversão e um indicador de julgamento de tendência para entrar em ação quando um alerta de reversão de preço é emitido, ao mesmo tempo em que julga a tendência maior e evita a operação de contracorrente. Com a interconferência de dois indicadores, pode-se reduzir efetivamente os falsos sinais. Mas a estratégia também não tem oportunidades de lucro e o risco de julgar erroneamente os sinais de reversão quando há um cenário unilateral.

Código-fonte da estratégia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 02/02/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 Market Facilitation Index is an indicator that relates price range to 
// volume and measures the efficency of price movement. Use the indicator to 
// determine if the market is trending. If the Market Facilitation Index increased, 
// then the market is facilitating trade and is more efficient, implying that the 
// market is trending. If the Market Facilitation Index decreased, then the market 
// is becoming less efficient, which may indicate a trading range is developing that 
// may be a trend reversal.
//
// 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


MFI(BuyZone,SellZone) =>
    pos = 0.0
    xmyVol = volume
    xmyhigh = high
    xmylow = low
    nRes = (xmyhigh - xmylow) / xmyVol * 10000
    pos := iff(nRes > BuyZone, 1,
             iff(nRes < SellZone, -1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & Market Facilitation Index", 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, "---- MFI ----")
SellZone = input(6.2, minval=0.01, step = 0.01)
BuyZone = input(1, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMFI = MFI(BuyZone,SellZone)
pos = iff(posReversal123 == 1 and posMFI == 1 , 1,
	   iff(posReversal123 == -1 and posMFI == -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 )