Reversão de preços com estratégia de captura cruzada

Autora:ChaoZhang, Data: 2024-01-17 16:29:13
Tags:

img

Resumo

A reversão de preço com estratégia de captura de crossover é uma estratégia composta que combina técnicas de negociação de reversão de preço e crossovers de indicadores.

Estratégia lógica

A estratégia consiste em duas sub-estratégias:

  1. 123 Estratégia de reversão
  • Quando o preço de fechamento passa de mais alto para mais baixo em dois dias, e o indicador estocástico de 9 dias está na faixa inferior (abaixo de um limiar), um sinal de compra é gerado
  • Quando o preço de fechamento passa de menor para maior em dois dias, e o indicador estocástico de 9 dias está na faixa superior (acima de um limiar), um sinal de venda é gerado
  1. Estratégia de cruzamento estocástico
  • Quando a linha %K cruza abaixo da linha %D, enquanto ambas as linhas estão em níveis de sobrecompra, um sinal de venda é gerado
  • Quando a linha %K cruza acima da linha %D, enquanto ambas as linhas estão em níveis de sobrevenda, um sinal de compra é gerado

A estratégia composta verifica os sinais de ambas as sub-estratégias e só desencadeia transações reais quando os sinais se alinham na mesma direção.

Vantagens

A estratégia combina padrões de reversão de preços e cruzamento de indicadores para avaliar a ação de preços e informações sobre indicadores, o que ajuda a filtrar sinais falsos e a descobrir oportunidades de reversão para melhorar a rentabilidade.

As vantagens específicas incluem:

  1. Capturar rapidamente as reversões do mercado sem longas espera de consolidação
  2. Aumentar a precisão do sinal com a validação dupla de ambas as subestratégias
  3. Melhor taxa de ganho combinando análise da ação dos preços e dos indicadores

Riscos

Há também alguns riscos com esta estratégia:

  1. O preço pode reverter abruptamente durante a alta volatilidade, causando sinais incorretos
  2. Mal ajuste dos parâmetros do indicador afeta a qualidade do sinal
  3. Não tenho certeza sobre o tempo de reversão, existe algum risco de tempo

Estes riscos podem ser geridos ajustando os parâmetros, utilizando stop losses, etc.

Oportunidades de melhoria

Algumas formas de melhorar a estratégia:

  1. Optimização dos parâmetros do indicador
  2. Adicionar outros filtros como volume
  3. Personalizar parâmetros com base em símbolos e condições de mercado
  4. Incorporar o stop loss para controlo do risco
  5. Empregar aprendizado de máquina para identificação de sinais

Conclusão

A reversão de preço com estratégia de captura cruzada combina várias estratégias complementares para lucrar enquanto controla os riscos.


/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/09/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
// This back testing strategy generates a long trade at the Open of the following 
// bar when the %K line crosses below the %D line and both are above the Overbought level.
// It generates a short trade at the Open of the following bar when the %K line 
// crosses above the %D line and both values are below the Oversold level.
//
// 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


StochCross(Length, DLength,Oversold,Overbought) =>
    pos = 0.0
    vFast = stoch(close, high, low, Length)
    vSlow = sma(vFast, DLength)
    pos := iff(vFast < vSlow and vFast > Overbought and vSlow > Overbought, 1,
    	      iff(vFast >= vSlow and vFast < Oversold and vSlow < Oversold, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Stochastic Crossover", 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, "---- Stochastic Crossover ----")
LengthSC = input(7, minval=1)
DLengthSC = input(3, minval=1)
Oversold = input(20, minval=1)
Overbought = input(70, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posmStochCross = StochCross(LengthSC, DLengthSC,Oversold,Overbought)
pos = iff(posReversal123 == 1 and posmStochCross == 1 , 1,
	   iff(posReversal123 == -1 and posmStochCross == -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.