Estratégia de Envelope de Média Móvel Reversa


Data de criação: 2023-10-20 16:05:43 última modificação: 2023-10-20 16:05:43
cópia: 0 Cliques: 766
1
focar em
1617
Seguidores

Estratégia de Envelope de Média Móvel Reversa

Visão geral

Uma estratégia de negociação de linha de equilíbrio inversa é uma estratégia de negociação quantitativa que utiliza os dois principais indicadores tecnológicos de negociação inversa e de linha de equilíbrio inversa. Ela integra as vantagens da estratégia de inversão inversa para capturar oportunidades de reversão de mercado e de linha de equilíbrio inversa para determinar a direção da tendência e obter lucro estável.

Princípio da estratégia

A estratégia consiste em duas partes:

A primeira parte é a estratégia de inversão 123. O seu sinal de negociação vem do indicador aleatório KDJ. A lógica específica é: se o preço de fechamento for abaixo do preço de fechamento do dia anterior por dois dias consecutivos e a linha lenta aleatória do dia 9 for abaixo de 50, produz um sinal de compra; se o preço de fechamento for acima do preço de fechamento do dia anterior por dois dias consecutivos e a linha rápida aleatória do dia 9 for acima de 50, produz um sinal de venda.

A segunda parte é a estratégia de rede de fechamento de linha média. Ela usa a linha média e as duas linhas de fechamento abaixo da linha média para determinar a tendência. A lógica específica é: se o preço de fechamento for superior ao caminho superior, gera um sinal de compra; se o preço de fechamento for inferior ao caminho inferior, gera um sinal de venda.

A estratégia utiliza os dois sinais de negociação acima, a estratégia abre mais posições quando 123 inverter e a rede de linhas uniformemente fechadas emitem sinais de compra ao mesmo tempo; a estratégia abre uma posição vazia quando ambos emitem sinais de venda ao mesmo tempo. Isso pode filtrar alguns sinais ineficazes, reduzindo a frequência de negociação e aumentando a probabilidade de lucro.

Análise de vantagens

  • Combinação de reversão e tendência para aumentar a probabilidade de lucro

A estratégia de reversão é boa para capturar oportunidades de reversão perto de resistências de suporte críticas. A estratégia de rede de linhas uniformes permite determinar com precisão a direção da tendência. Usadas em combinação, as reversões podem ser capturadas em posições de alta probabilidade.

  • Duas filtragens reduzem a frequência de transações

A estratégia só abre uma posição quando os dois indicadores emitem sinais ao mesmo tempo. Isso evita a interferência de muitos sinais inativos produzidos por um único indicador, reduzindo a frequência de negociação e ajudando a reduzir os custos de negociação.

  • Parametrizable parameters fornece flexibilidade para a estratégia

Os parâmetros indicadores da estratégia são ajustáveis, permitindo que o usuário escolha a combinação de parâmetros apropriada de acordo com a situação do mercado e as preferências pessoais, tornando a estratégia mais adaptável.

  • Negociações unilaterais simplificam a operação

A estratégia só realiza negociações unilaterais de múltiplos títulos ou títulos vazios, sem abrir posições reversíveis. Isso simplifica a lógica de operação da estratégia e reduz o risco de durações.

Análise de Riscos

  • A negociação inversa é difícil de capturar tendências

A estratégia baseia-se principalmente na negociação de reversão para obter lucro. A estratégia pode gerar perdas contínuas quando há uma tendência unilateral de longo prazo.

  • Dificuldade de otimização de parâmetros

A estratégia contém vários parâmetros ajustáveis, o que dificulta a otimização dos parâmetros. A combinação inadequada de parâmetros pode afetar o desempenho da estratégia.

  • Alta frequência de troca de posições aumenta o risco de transação

A estratégia de troca de posições com frequência, embora possa travar pequenos lucros, também aumenta os custos de transação e o risco de surpresas.

  • Não há limite para a retirada máxima

A estratégia não tem um ponto de parada e não pode controlar efetivamente a retirada máxima. Se houver um grande evento de Black Swan, a estratégia pode enfrentar grandes perdas.

Direção de otimização

  • Aumentar a estratégia de stop loss

Pode-se configurar um stop-loss móvel ou um stop-loss de rastreamento para limitar a retirada máxima. Quando o mercado muda de forma anormal, o stop-loss atempado protege o capital.

  • Combinação de parâmetros de otimização

A estabilidade da estratégia é melhorada através da detecção e simulação de parâmetros de otimização de negociação, determinando o melhor conjunto de parâmetros. Também é possível projetar mecanismos de otimização de parâmetros dinâmicos para tornar a estratégia mais adaptável.

  • Combinação com outros indicadores de filtragem

A adição de indicadores como MACD, Brin e outros, para a verificação de sinais de negociação, pode melhorar ainda mais a qualidade do sinal e reduzir a transação inválida.

  • Reduzir a frequência das transações

A flexibilização adequada das condições de reversão e o ajuste dos parâmetros da linha média, reduzindo a frequência de troca de posições, ajudam a reduzir os custos de transação e o risco de surpresas.

Resumir

A estratégia de rede de pacotes de linhas de inversão combina os benefícios da negociação inversa e do acompanhamento de tendências para obter ganhos excedentários estáveis, sob a premissa de controlar o risco. A estratégia pode ser otimizada ainda mais, tornando a sua combinação de parâmetros mais científica, resultando em um melhor desempenho de negociação.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/03/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
// Moving Average Envelopes are percentage-based envelopes set above and 
// below a moving average. The moving average, which forms the base for 
// this indicator, can be a simple or exponential moving average. Each 
// envelope is then set the same percentage above or below the moving average. 
// This creates parallel bands that follow price action. With a moving average 
// as the base, Moving Average Envelopes can be used as a trend following indicator. 
// However, this indicator is not limited to just trend following. The envelopes 
// can also be used to identify overbought and oversold levels when the trend is 
// relatively flat. 
//
// 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


MAE(Length,PercentShift) =>
    pos = 0.0
    xSMA = sma(close, Length)
    xHighBand = xSMA + (xSMA * PercentShift / 100)
    xLowBand = xSMA - (xSMA * PercentShift / 100)
    pos := iff(close > xHighBand, 1,
             iff(close <xLowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Moving Average Envelopes", 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, "---- MA Envelope ----")
LengthMA = input(18, minval=1)
PercentShift = input(0.2, minval = 0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMAE = MAE(LengthMA,PercentShift)
pos = iff(posReversal123 == 1 and posMAE == 1 , 1,
	   iff(posReversal123 == -1 and posMAE == -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 )