Estratégia de negociação de reversão de média móvel dupla


Data de criação: 2024-01-15 12:35:29 última modificação: 2024-01-15 12:35:29
cópia: 0 Cliques: 547
1
focar em
1617
Seguidores

Estratégia de negociação de reversão de média móvel dupla

Visão geral

A estratégia de negociação de inversão de linha dupla combina a estratégia de negociação de inversão de linha dupla com a estratégia de negociação de média móvel de dois índices para criar uma estratégia de negociação com um julgamento de sinal integrado. Pode ser usada em mercados como ações, divisas e criptomoedas.

Princípio da estratégia

A estratégia consiste em duas partes:

  1. Estratégia de negociação inversa de linhas de binário

Use as duas linhas do indicador de linha de binário - a linha %K e a linha %D. Faça mais quando o preço de fechamento é inferior ao do dia anterior por dois dias consecutivos e a linha %K é superior à linha %D; faça um vazio quando o preço de fechamento é superior ao do dia anterior por dois dias consecutivos e a linha %K é inferior à linha %D.

  1. A estratégia de média móvel de dois índices

20 dias e 20 dias*2 de uma média móvel binária. Um sinal de negociação é gerado quando o preço atravessa a média móvel binária de cima para baixo ou de baixo para cima.

Regra de julgamento de sinais integrados: quando os sinais de negociação de duas estratégias coincidem, um sinal de negociação real é gerado.

Análise de vantagens

A maior vantagem dessa estratégia combinada é a alta confiabilidade, com poucos falsos sinais. Como ela requer sinais de dois tipos diferentes de estratégias a serem acionados simultaneamente, ela filtra alguns sinais errados que podem ocorrer em uma única estratégia.

Além disso, graças à combinação de estratégias de inversão e estratégias de tendência, ele pode capturar reversões de curto prazo e tendências de médio prazo nos preços dos títulos indicados.

Análise de Riscos

O principal risco desta estratégia é que, quando o mercado está em um ajuste de choque prolongado, as duas estratégias podem não ser capazes de produzir um sinal consistente, resultando em um estado de mercado ineficaz. Nesse caso, os comerciantes precisam suspender o uso da estratégia e esperar a formação de uma tendência clara.

Além disso, as médias móveis binárias, como indicadores de linha média e longa, também podem falhar quando a linha curta se reverte rapidamente. Isso requer que o comerciante combine mais indicadores para determinar a tendência do mercado.

Direção de otimização

A estratégia pode ser melhorada em vários aspectos:

  1. Adicionar mais parâmetros, como ponto de parada e amplitude de parada móvel, torna a estratégia mais controlada.

  2. Adicione mais indicadores, formando condições de filtragem múltipla, excluindo mais transações de ruído. Por exemplo, a combinação de MACD, KD e outros indicadores.

  3. Ajustar os parâmetros do indicador de otimização, como o período de linha de Brink, o período de média móvel, etc., para encontrar a melhor combinação de parâmetros.

  4. Teste separadamente a eficácia da estratégia em diferentes variedades (ações, divisas, criptomoedas, etc.) e selecione a variedade mais adequada.

Resumir

A estratégia de reversão de dupla equilíbrio é uma combinação de estratégia de reversão e estratégia de tendência, formando um sinal de negociação integrado mais confiável. É adequado para os comerciantes interessados em reversões de curto prazo e tendências de médio prazo nos preços dos títulos.

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

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 12/04/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// 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.
//
// Secon strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
// Please, use it only for learning or paper trading. Do not for real trading.
//
// 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

EMA2_20(MA_Length, MA_xPrice) =>
    xXA = ema(MA_xPrice, MA_Length)
    nHH = max(high, high[1])
    nLL = min(low, low[1])
    nXS = iff((nLL > xXA)or(nHH < xXA), nLL, nHH)
    pos = 0.0
    pos := iff(nXS > close[1] , -1, iff(nXS < close[1] , 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal and 2/20 EMA", shorttitle="Combo Backtest", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
MA_Length = input(20, minval=1)
reverse = input(false, title="Trade reverse")
MA_xPrice = close
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEMA2_20 = EMA2_20(MA_Length, MA_xPrice)
pos = iff(posReversal123 == 1 and posEMA2_20 == 1 , 1,
	   iff(posReversal123 == -1 and posEMA2_20 == -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 ? red: possig == 1 ? green : blue )