Estratégia de negociação de reversão de rastreamento de choque duplo


Data de criação: 2023-10-11 14:47:25 última modificação: 2023-10-11 14:47:25
cópia: 0 Cliques: 585
1
focar em
1617
Seguidores

Visão geral

A estratégia é uma estratégia de negociação de reversão de duplo rastreamento de choque, que combina a reversão de indicadores aleatórios e um indicador de volatilidade de Yeken para obter um sinal de negociação mais confiável. A estratégia visa capturar lucros em reversões de tendência e é aplicada à negociação de linhas médias e longas.

Princípio da estratégia

A estratégia consiste em duas partes:

  1. Estratégia de inversão de indicadores aleatórios

Esta seção usa a linha rápida e a linha lenta de indicadores aleatórios para gerar sinais de negociação. Faça mais quando o preço de fechamento está abaixo do preço de fechamento do dia anterior por dois dias consecutivos e a linha rápida está acima da linha lenta; e faça um curto-circuito quando o preço de fechamento está acima do preço de fechamento do dia anterior por dois dias consecutivos e a linha rápida está abaixo da linha lenta.

  1. Um indicador de volatilidade de Yeken

O indicador calcula a variação da diferença entre os preços mais altos e mais baixos durante um período de tempo. Quando o diferencial se expande, a taxa de flutuação aumenta e pode ser reduzida; quando o diferencial se reduz, a taxa de flutuação diminui e pode ser aumentada.

O sinal de negociação final é a combinação de duas partes do sinal. O sinal é tomado quando o sinal de indicador aleatório e o sinal de indicador de taxa de flutuação coincidem; se os dois sinais não coincidem, não há negociação.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. A combinação de dois tipos diferentes de indicadores pode melhorar a precisão do sinal.

  2. A utilização de mecanismos de dupla confirmação reduz os falsos sinais e controla os riscos.

  3. A inversão é a principal direção de negociação e pode ser lucrativa em pontos de mudança de tendência.

  4. A configuração dos parâmetros é flexível e pode ser ajustada para diferentes variedades e períodos.

  5. Os parâmetros do indicador podem ser ajustados para atingir o melhor estado.

Análise de Riscos

A estratégia também apresenta os seguintes riscos:

  1. O sinal de inversão pode ser mal interpretado, resultando em perdas. Os parâmetros podem ser adequadamente ajustados para reduzir a probabilidade de erro.

  2. Quando a volatilidade aumenta drasticamente, há risco de perda na direção do short. Pode-se definir um stop loss para controlar o risco.

  3. Em situações de forte volatilidade, o conjunto de indicadores duplos pode falhar. Neste momento, pode-se considerar a suspensão da negociação e esperar que o indicador se estabilize novamente.

  4. A necessidade de monitorar dois indicadores ao mesmo tempo aumenta a carga de trabalho dos comerciantes. Pode-se programar programas de negociação automática para reduzir a carga de trabalho.

Direção de otimização

A estratégia pode ser melhorada em:

  1. Teste mais combinações de parâmetros para encontrar o melhor.

  2. Adicionar outros indicadores de confirmação, como indicadores de quantidade e preço, formando uma confirmação múltipla.

  3. Adição de mecanismos de parada de prejuízos, como parada de prejuízos em movimento, parada de prejuízos intercalados, etc., para controlar ainda mais o risco.

  4. Otimizar estratégias de gestão de fundos, como ações fixas, Kelly, etc., para aumentar a rentabilidade.

  5. Diferentes variedades e períodos de configuração de parâmetros diferentes, pode testar a aplicabilidade de mais variedades e períodos.

Resumir

A estratégia utiliza um conjunto de duplo indicador para formar sinais de negociação, para capturar a reversão do mercado como a principal direção de negociação. Com vantagens como alta precisão de sinal, bom controle de risco, há também um certo espaço para melhorias. Com melhorias em termos de otimização de parâmetros, parada de perdas e gestão de fundos, a estratégia pode ser otimizada para uma estratégia de negociação de reversão de linha média mais forte.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 29/07/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
// Chaikin's Volatility indicator compares the spread between a security's
// high and low prices. It quantifies volatility as a widening of the range
// between the high and the low price.
// You can use in the xPrice1 and xPrice2 any series: Open, High, Low, Close, HL2,
// HLC3, OHLC4 and ect...
//
// 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

ChaikinVolatility(Length, ROCLength, Trigger) =>
    pos = 0
    xPrice1 = high
    xPrice2 = low
    xPrice = xPrice1 - xPrice2
    xROC_EMA = roc(ema(xPrice, Length), ROCLength)
    pos := iff(xROC_EMA < Trigger, 1,
	         iff(xROC_EMA > Trigger, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Chaikin Volatility", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCV = input(10, minval=1)
ROCLength = input(12, minval=1)
Trigger = input(0, minval=0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posChaikinVolatility = ChaikinVolatility(LengthCV, ROCLength, Trigger)
pos = iff(posReversal123 == 1 and posChaikinVolatility == 1 , 1,
	   iff(posReversal123 == -1 and posChaikinVolatility == -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 )