Estratégia de inversão dupla alta-baixa

Autora:ChaoZhang, Data: 2024-01-03 13:56:04
Tags:

img

Resumo

A estratégia de alta-baixa de reversão dupla é uma estratégia quantitativa que combina sinais duplos. Integra uma estratégia intradiária baseada em reversão e uma estratégia de julgamento de tendência que utiliza a diferença entre o preço mais alto de ontem e uma média móvel. A estratégia visa alcançar sinais de compra e venda mais estáveis para evitar ainda mais a emissão de sinais incorretos.

Princípios

Primeiro, a parte da estratégia de reversão. Esta estratégia julga a formação de sinais quando há uma reversão no preço de fechamento por dois dias consecutivos, ao mesmo tempo em que combina o julgamento de estados de sobrecompra e sobrevenda usando o indicador estocástico. Especificamente, é um sinal de venda quando o preço de fechamento muda de alta para queda por dois dias consecutivos, e o indicador estocástico rápido está acima do indicador estocástico lento; é um sinal de compra quando o preço de fechamento muda de queda para alta por dois dias consecutivos, e o indicador estocástico rápido está abaixo do indicador estocástico lento.

Em segundo lugar, a parte de estratégia alta-baixa. Esta estratégia usa a diferença entre o preço mais alto de ontem e uma média móvel exponencial de 13 períodos para determinar a tendência. Gerar um sinal de compra quando o preço mais alto está acima da média móvel; gerar um sinal de venda quando o preço mais alto está abaixo da média móvel.

Por fim, esta estratégia integra os dois sinais. Ele leva uma ação de compra quando ambos os sinais mostram um sinal de compra ao mesmo tempo; ele leva uma ação de venda quando ambos os sinais mostram um sinal de venda ao mesmo tempo.

Vantagens

Esta estratégia de sinal duplo pode efetivamente reduzir sinais incorretos e negociações desnecessárias. A parte de reversão pode determinar condições de sobrecompra e sobrevenda para evitar perseguir altos e baixos de venda. A parte alta-baixa pode determinar divergências da tendência de preços para evitar falhas. Ao combinar os julgamentos, os sinais de negociação reais só são gerados quando os sinais duplos estão na mesma direção, o que pode melhorar significativamente a confiabilidade dos sinais e reduzir as negociações ineficazes.

Além disso, a inversão e as partes alta-baixa usam diferentes tipos de indicadores e critérios de julgamento, para que possam servir para validar uns aos outros e reduzir ainda mais os sinais incorretos.

Análise de riscos

O maior risco desta estratégia é que os sinais unilaterais razoáveis sustentados podem ser ignorados em um mercado de forte tendência. Quando a tendência é muito óbvia, o julgamento do sinal da parte de reversão pode ser errado, o que fará com que os sinais unilaterais na parte alta-baixa não sejam executados como negociações. Isso é especialmente proeminente em mercados de alta e baixa tendência.

Além disso, configurações de parâmetros incorretas também podem afetar a estratégia. As configurações de parâmetros na parte de reversão precisam levar em conta o sistema de média móvel do ciclo e o período da média móvel na parte alta-baixa precisa ser coordenado. Se os períodos de ambos forem incorretos, haverá falsos sinais medíocres ou simplesmente nenhum sinal.

Optimização

Em primeiro lugar, o parâmetro de comprimento da média móvel na parte alta-baixa pode ser testado para torná-lo mais coordenado com os indicadores do ciclo na parte de reversão.

Em segundo lugar, a parte de reversão também pode testar usando entidades de linha K em vez de usar apenas o preço de fechamento, que é facilmente influenciado.

Por último, pode também tentar considerar apenas a realização de operações quando aparecerem sinais de reversão durante a sessão, uma vez que o atual método de detenção intradiária apresenta riscos mais elevados.

Conclusão

A estratégia de reversão dupla alta-baixa integra sinais de vários indicadores e realiza uma verificação dupla antes de emitir sinais de compra e venda. Este mecanismo de filtragem de sinal rigoroso pode efetivamente reduzir o impacto de sinais inválidos e incorretos na negociação real. A estratégia controla com sucesso a frequência de negócios ineficazes, tornando cada negócio mais confiável e evita seguir cegamente os movimentos do mercado de curto prazo. Através da otimização de parâmetros, pode alcançar um melhor desempenho em certos mercados.


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/11/2020
// 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 the difference between the High (of the previous period)
// and an exponential moving average (13 period) of the Close (of the previous period).
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// It buy if indicator above 0 and sell if below.
//
// 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

    
HEMA(Length) =>
    pos = 0.0
    xPrice = close  // You can use any series
    xEMA = ema(xPrice, Length)
    nRes = high[1] - nz(xEMA[1])
    pos:= iff(nRes > 0, 1,
    	   iff(nRes < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & High - EMA Strategy", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_HEMA = input(13, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHEMA = HEMA(Length_HEMA)
pos = iff(posReversal123 == 1 and posHEMA == 1 , 1,
	   iff(posReversal123 == -1 and posHEMA == -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.