Crossover Master - Estratégia de fuga de inversão

Autora:ChaoZhang, Data: 2023-10-20 17:24:14
Tags:

img

Resumo

A estratégia de breakout de reversão é uma estratégia de negociação simples e prática baseada em médias móveis. Ela usa o cruzamento de uma média móvel rápida e uma média móvel lenta como sinais de compra e venda. Quando o MA rápido cruza acima do MA lento, um sinal de compra é gerado. Quando o MA rápido cruza abaixo do MA lento, um sinal de venda é gerado.

Estratégia lógica

A estratégia usa duas médias móveis: uma MA rápida de curto prazo e uma MA lenta de longo prazo. O período de MA rápida é de 12 e o período de MA lenta é de 26. A estratégia primeiro calcula a média móvel simples de 2 dias do ENDPOINT como entrada de preço, em seguida, calcula a MA rápida e a MA lenta. Se a MA rápida cruzar acima da MA lenta, um sinal de compra é ativado. Se a MA rápida cruzar abaixo da MA lenta, um sinal de venda é ativado.

Especificamente, a estratégia compara os valores do MA rápido e do MA lento para determinar a tendência do mercado. Quando o MA rápido é maior que o MA lento, o mercado é considerado em uma tendência de alta (Bullish). Quando o MA rápido é menor que o MA lento, o mercado é considerado em uma tendência de queda (Bearish). A estratégia se combina com o impulso do preço para gerar sinais durante reversões do mercado.

A lógica do sinal de compra é: quando o mercado passa de tendência descendente para tendência ascendente, ou seja, o MA rápido cruza acima do MA lento e o preço está acima do MA rápido, um sinal de compra é gerado.

A lógica do sinal de venda é a seguinte: quando o mercado passa de tendência ascendente para tendência descendente, ou seja, o MA rápido cruza abaixo do MA lento e o preço está abaixo do MA rápido, é gerado um sinal de venda.

Com esta concepção, a estratégia pode capturar oportunidades de reversão em tempo útil.

Análise das vantagens

As vantagens desta estratégia são as seguintes:

  1. A lógica estratégica é simples e clara, fácil de compreender e implementar.

  2. A técnica da média móvel é madura e fiável, e é amplamente utilizada.

  3. O projeto de MA dupla pode filtrar eficazmente o ruído do mercado e identificar tendências.

  4. A combinação do ímpeto de preços melhora a precisão do tempo das transações.

  5. Grande espaço de otimização para parâmetros de acordo com o mercado.

  6. O stop loss pode ser adicionado ao controlo dos riscos.

  7. Frequência de negociação moderada, evitar excesso de negociação.

  8. Pode ser combinado com outros indicadores como Bandas de Bollinger, RSI para melhoria.

  9. Dados de backtesting suficientes para validar o desempenho da estratégia.

Análise de riscos

Os riscos desta estratégia incluem:

  1. As estratégias de MA dupla podem gerar sinais falsos, tendências ausentes ou transações desnecessárias.

  2. Os MA têm efeito retardado, podem perder reversões rápidas.

  3. A configuração inadequada dos parâmetros leva a uma frequência de negociação demasiado elevada ou demasiado baixa.

  4. A estratégia é mais adequada para negociações de médio e longo prazo.

  5. Incapaz de se adaptar a choques repentinos do mercado.

  6. Possibilidade de perdas durante determinados períodos.

  7. Os parâmetros devem ser ajustados em diferentes produtos.

  8. Menos eficaz durante os mercados de gama limitada.

Os riscos podem ser reduzidos:

  1. Optimização dos parâmetros de acordo com as condições do mercado.

  2. Adicionar filtros com outros indicadores.

  3. Implementação de stop loss para controlar perdas.

  4. Ajustar o tamanho da posição adequadamente.

  5. Teste e otimização de parâmetros por produto.

Orientações de otimização

A estratégia pode ser otimizada nos seguintes aspectos:

  1. Otimizar os períodos de MA para se adequarem melhor ao mercado actual.

  2. Teste diferentes tipos de MAs, como EMA, WMA, etc.

  3. Adicionar indicador de volume para confirmar tendências.

  4. Combine outros indicadores como MACD, RSI para confluência.

  5. Adicione técnicas de stop loss como trailing stop loss.

  6. Otimizar os métodos de dimensionamento da posição, por exemplo, fraccionamento fixo, dinâmico, etc.

  7. Optimização dos parâmetros de ensaio por período de tempo e produto.

  8. Introduzir aprendizado de máquina para ajuste automático de parâmetros e validação de sinal.

  9. Aplique a aprendizagem profunda para detectar padrões de gráficos mais complexos.

  10. Explorar conceitos de design de estratégia sem parâmetros.

As otimizações contínuas podem melhorar a adaptabilidade da estratégia e alcançar resultados consistentes em diferentes condições de mercado.

Resumo

Em resumo, a estratégia de ruptura de reversão tem lógica e valor prático claros. Ela aproveita a capacidade de seguir tendências de médias móveis e combina o impulso do preço para melhorar a qualidade do sinal. Há espaço para melhorar os parâmetros e o controle de risco.


/*backtest
start: 2022-10-13 00:00:00
end: 2023-10-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("CDC Action Zone V.2 strategy", overlay=true)
// Credit Script base from CDC Action Zone V.2 by piriya33
// CDC ActionZone V2 29 Sep 2016
// CDC ActionZone is based on a simple 2MA and is most suitable for use with medium volatility market
// 11 Nov 2016 : Ported to Trading View with minor UI enhancement

src = input(title="Data Array",defval=ohlc4)
prd1=input(title="Short MA period",defval=12)
prd2=input(title="Long MA period",defval=26)
AP = ema(src,2)
Fast = ema(AP,prd1)
Slow = ema(AP,prd2)

// === INPUT BACKTEST RANGE ===
FromYear  = input(defval = 2019, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 31, title = "To Day", minval = 1, maxval = 31)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

Bullish = Fast>Slow
Bearish = Fast<Slow

Green = Bullish and AP>Fast
Red = Bearish and AP<Fast
Yellow = Bullish and AP<Fast
Blue = Bearish and AP>Fast

//Long Signal
Buy = Green and Green[1]==0
Sell = Red and Red[1]==0

//Short Signal
Short = Red and Red[1]==0
Cover = Red[1] and Red==0

//Plot

l1=plot(Fast,"Fast", linewidth=1,color=red)
l2=plot(Slow,"Slow", linewidth=2,color=blue)
bcolor = Green ? lime : Red ? red : Yellow ? yellow : Blue ? blue : white
barcolor(color=bcolor)
fill(l1,l2,bcolor)

strategy.entry("Buy",true,when=window() and Buy)
strategy.close_all(when=window() and Sell)


Mais.