Reversão bidirecional e estratégia de média móvel de momento

Autora:ChaoZhang, Data: 2023-11-06 16:18:18
Tags:

img

Resumo

Esta estratégia combina regras de negociação de reversão com indicadores de momento. Integra a reversão bidirecional e o oscilador de momento de Chande para identificar oportunidades de reversão enquanto verifica sinais de momento para gerar sinais de negociação mais confiáveis.

Estratégia lógica

A estratégia consiste em duas partes:

A primeira parte são as regras de negociação de reversão bidirecional. Identifica oportunidades de reversão detectando mudanças de preço de fechamento nos dois dias anteriores. Especificamente, se os preços de fechamento diminuírem nos dois dias anteriores e o preço de fechamento atual for maior do que o fechamento anterior, e o Oscilador Estocástico estiver abaixo de um limiar, ele desencadeia um sinal de compra. Pelo contrário, se os preços de fechamento aumentarem nos dois dias anteriores, e o preço de fechamento atual for menor do que o fechamento anterior, e o Oscilador Estocástico estiver acima de um limiar, ele desencadeia um sinal de venda.

A segunda parte é o Oscilador de Momento de Chande. Ele compara a magnitude da mudança de preço com a magnitude média em um determinado período para determinar o momento. Se o indicador de momento estiver acima de um limite superior, ele gera um sinal de compra. Se estiver abaixo de um limite inferior, ele gera um sinal de venda.

A estratégia combina regras bidirecionais de negociação de reversão para localizar pontos de reversão potenciais e indicador de momento para verificar a validade dos sinais de reversão.

Vantagens da estratégia

  • O mecanismo de verificação dupla melhora a confiabilidade do sinal evitando sinais falsos.

  • A combinação da estratégia de reversão com a estratégia de tendência proporciona flexibilidade para captar oportunidades tanto nos mercados de reversão como nos mercados de tendência.

  • A introdução de um momento evita cair em armadilhas de reversão, negociando apenas quando o momento se confirma.

  • Podem ser optimizados vários parâmetros ajustáveis para diferentes condições de mercado.

Riscos da Estratégia

  • Os sinais de reversão podem enfrentar grandes retrações, exigindo uma perda de parada razoável.

  • O momento preciso das reversões é difícil, pode causar erros de julgamento.

  • O atraso dos indicadores de impulso pode causar a ausência dos melhores pontos de entrada de reversão.

  • O ajuste de parâmetros requer uma otimização cuidadosa com base em mercados específicos, configurações inadequadas podem aumentar os riscos.

Os riscos podem ser reduzidos através do uso de stop loss adequado, otimização robusta de parâmetros, mantendo algum espaço nas condições de acionamento do sinal de reversão, etc.

Orientações para a otimização

  • Teste diferentes combinações de parâmetros de reversão para encontrar parâmetros sensíveis às reversões do mercado.

  • Tente diferentes indicadores de impulso, como RSI, taxa de mudança de volume, etc.

  • Adicione filtros como breakouts para evitar trocas de pontos de reversão não-chave.

  • Avaliação das estratégias de stop loss para encontrar métodos com controlo máximo de drawdown.

  • Avaliar as estratégias de dimensionamento das posições para ajustar as dimensões das posições com base nas condições do mercado.

Conclusão

A estratégia combina as vantagens das estratégias de reversão e momentum, com sinais confiáveis e flexibilidade para capturar oportunidades. Os parâmetros podem ser otimizados, os riscos podem ser gerenciados por meio de stop loss e dimensionamento de posição para melhorar a estabilidade e lucratividade.


/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/08/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
//    This indicator plots Chande Momentum Oscillator. This indicator was 
//    developed by Tushar Chande. A scientist, an inventor, and a respected 
//    trading system developer, Mr. Chande developed the CMO to capture what 
//    he calls "pure momentum". For more definitive information on the CMO and 
//    other indicators we recommend the book The New Technical Trader by Tushar 
//    Chande and Stanley Kroll.
//    The CMO is closely related to, yet unique from, other momentum oriented 
//    indicators such as Relative Strength Index, Stochastic, Rate-of-Change, 
//    etc. It is most closely related to Welles Wilder`s RSI, yet it differs 
//    in several ways:
//        - It uses data for both up days and down days in the numerator, thereby 
//          directly measuring momentum;
//        - The calculations are applied on unsmoothed data. Therefore, short-term 
//          extreme movements in price are not hidden. Once calculated, smoothing 
//          can be applied to the CMO, if desired;
//        - The scale is bounded between +100 and -100, thereby allowing you to 
//          clearly see changes in net momentum using the 0 level. The bounded scale 
//          also allows you to conveniently compare values across different securities.
//
// 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

CMO(Length, TopBand, LowBand) =>
    pos = 0
    xMom = abs(close - close[1])
    xSMA_mom = sma(xMom, Length)
    xMomLength = close - close[Length]
    nRes = 100 * (xMomLength / (xSMA_mom * Length))
    pos :=  iff(nRes > TopBand, 1,
	         iff(nRes <= LowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Chande Momentum Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCMO = input(9, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCMO = CMO(LengthCMO, TopBand, LowBand)
pos = iff(posReversal123 == 1 and posCMO == 1 , 1,
	   iff(posReversal123 == -1 and posCMO == -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 )

Mais.