Estratégia de reversão do padrão de virada de momentum


Data de criação: 2023-11-15 15:36:39 última modificação: 2023-11-15 15:36:39
cópia: 0 Cliques: 632
1
focar em
1617
Seguidores

Estratégia de reversão do padrão de virada de momentum

Visão geral

A estratégia combina a inversão de forma 123 e a estratégia de fácil movimentação, com o objetivo de negociar capturando os pontos de inflexão dos preços. A estratégia de inversão de forma 123 gera sinais quando os preços das ações formam um modelo específico por três dias consecutivos. A estratégia de fácil movimentação (EOM) usa a mudança de preço e volume de transação para determinar a dinâmica do mercado.

Princípio da estratégia

A estratégia consiste em duas partes:

  1. 123 estratégia de reversão de forma
  • O indicador de Stoch é usado para avaliar o excesso de compra e venda.
  • Cancelar quando o preço de fechamento cair por dois dias consecutivos e a linha rápida de Stoch estiver acima da linha lenta
  • Faça mais quando o preço de fechamento sobe por dois dias consecutivos e a linha rápida de Stoch está abaixo da linha lenta
  1. Estratégias de fácil mobilidade
  • Calcule o intervalo médio do dia anterior
  • Movimento (variação) do ponto médio do intervalo em relação ao dia anterior
  • Calcule o intervalo entre o movimento do ponto médio e o volume de transação
  • A taxa de juros é maior do que a de depreciação e menor do que a de depreciação.

A combinação de dois sinais, quando o Easy of Movement e a forma 123 fazem simultaneamente sinais múltiplos, abrem posições múltiplas; quando o Easy of Movement e a forma 123 fazem simultaneamente sinais vazios, abrem posições vazias.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. Combinação de cenários tecnológicos e dinâmicas de mercado para melhorar a precisão do sinal

  2. 123 forma de captura de inversão de pontos de inflexão, fácil de mover para avaliar a dinâmica da tendência, os dois complementam-se

  3. Indicador Stoch evita reiteradas posições em equilíbrio

  4. A lógica de transação é simples, clara e fácil de implementar.

  5. Parâmetros personalizáveis para diferentes cenários de mercado

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. Excesso de dependência de configurações de parâmetros, os parâmetros errados podem levar a transações frequentes ou a fugas de formulários

  2. A combinação de várias condições de filtragem pode gerar uma frequência de sinal muito baixa.

  3. Indicadores móveis sensíveis às flutuações do mercado, que podem provocar falsos sinais

  4. O mercado de ações está em baixa, mas é preciso controlar a posição.

  5. Aplica-se apenas a ações de tendência, não é adequado para a liquidação

Direção de otimização

A estratégia pode ser otimizada de várias formas:

  1. Parâmetros de otimização, ajustando a rigidez das condições de filtragem, equilibrando a frequência de negociação e a qualidade do sinal

  2. Adesão a estratégias de stop loss e controle rigoroso de perdas individuais

  3. Combinação de filtros de tendência para evitar negociações adversas

  4. Adição de módulo de gestão de fundos para ajustar posições de forma dinâmica com base na volatilidade

  5. Otimizar parâmetros usando métodos de aprendizagem de máquina para adaptá-los dinamicamente ao mercado

Resumir

A estratégia integra indicadores técnicos de preços e indicadores de dinâmica de mercado, confirmando a qualidade da tendência ao capturar os pontos de inflexão, com alto valor de combate. Mas também é necessário ter em conta o risco de controlar a frequência de negociação, perdas individuais e operações de contraste.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/04/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 gauges the magnitude of price and volume movement. 
// The indicator returns both positive and negative values where a 
// positive value means the market has moved up from yesterday's value 
// and a negative value means the market has moved down. A large positive 
// or large negative value indicates a large move in price and/or lighter 
// volume. A small positive or small negative value indicates a small move 
// in price and/or heavier volume.
// A positive or negative numeric value. A positive value means the market 
// has moved up from yesterday's value, whereas, a negative value means the 
// market has moved down. 
//
// 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

EOM(BuyZone, SellZone) =>
    pos = 0
    xHigh = high
    xLow = low
    xVolume = volume
    xHalfRange = (xHigh - xLow) * 0.5
    xMidpointMove = mom(xHalfRange, 1)
    xBoxRatio = iff((xHigh - xLow) != 0, xVolume / (xHigh - xLow), 0)
    nRes = iff(xBoxRatio != 0, 1000000 * ((xMidpointMove - xMidpointMove[1]) / xBoxRatio), 0)
    pos := iff(nRes > BuyZone, 1,
             iff(nRes < SellZone, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Ease of Movement (EOM)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
BuyZone = input(4000, minval=1)
SellZone = input(-4000)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEOM = EOM(BuyZone, SellZone)
pos = iff(posReversal123 == 1 and posEOM == 1 , 1,
	   iff(posReversal123 == -1 and posEOM == -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 )