O recurso está a ser carregado... Carregamento...

Estratégia de negociação de confirmação de reversão de prazo múltiplo

Autora:ChaoZhang, Data: 2024-05-11 17:38:35
Tags:EMAmais elevadoBaixo

img

Resumo

Esta estratégia utiliza principalmente o preço mais alto, o preço mais baixo e a média móvel exponencial (EMA) para confirmar inversões de tendência e gerar sinais de negociação. A estratégia primeiro calcula os preços mais altos e mais baixos dentro de um período de retrospectiva especificado, em seguida, determina se o preço de fechamento atual está abaixo do preço mais baixo correspondente ao preço mais alto (confirmação de reversão de baixa) ou acima do preço mais alto correspondente ao preço mais baixo (confirmação de reversão de alta). Uma vez que um sinal de confirmação de reversão aparece, a estratégia gera um sinal de entrada correspondente. A principal vantagem desta estratégia é sua capacidade de capturar oportunidades de reversão de tendência, enquanto o principal risco é que depois que um sinal de confirmação de reversão aparece, os preços podem experimentar flutuações repetidas em vez de uma tendência unidirecional.

Princípio da estratégia

  1. Calcular o preço mais alto (find_highest) e o preço mais baixo (find_lowest) no período de recuperação especificado.
  2. Calcular a EMA do preço de fechamento no período de referência especificado.
  3. Iterar através de cada vela dentro do período de retrospectiva para encontrar o preço mais baixo (dnRv) correspondente ao preço mais alto e o preço mais alto (upRv) correspondente ao preço mais baixo.
  4. Determine se o preço de fechamento atual está abaixo de dnRv (confirmação de reversão de baixa) ou acima de upRv (confirmação de reversão de alta).
  5. Se aparecer um sinal de confirmação de reversão de baixa (dnRv_signal) e não tiver sido desencadeado anteriormente, gerar um sinal de entrada curto.
  6. Se um sinal de confirmação de reversão de alta (upRv_signal) aparecer e não tiver sido desencadeado anteriormente, gerar um sinal de entrada longo.

Vantagens da estratégia

  1. Os sinais de confirmação de reversão podem ajudar a estratégia a captar oportunidades de reversão da tendência, aumentando assim os retornos potenciais da estratégia.
  2. Ao utilizar a EMA, a estratégia pode adaptar-se a diferentes condições de mercado e ciclos de volatilidade.
  3. A flexibilidade do período de revisão torna a estratégia flexível e pode ser otimizada para diferentes instrumentos de negociação e prazos.

Riscos estratégicos

  1. Após o aparecimento de um sinal de confirmação de reversão, os preços podem sofrer flutuações repetidas em vez de uma tendência unidirecional, levando a entradas e saídas frequentes, aumentando os custos de negociação.
  2. A estratégia carece de mecanismos explícitos de stop-loss e take-profit, o que pode resultar numa exposição excessiva ao risco para operações individuais.
  3. A estratégia não considera as características dos instrumentos de negociação e dos ambientes de mercado, que podem conduzir a um desempenho subótimo em determinadas situações.

Orientações para a otimização da estratégia

  1. Introduzir mecanismos de stop-loss e take-profit para controlar a exposição ao risco para negócios individuais. Níveis dinâmicos ou estáticos de stop-loss e take-profit podem ser definidos com base no ATR, percentagem ou pontos fixos.
  2. Combinar outros indicadores técnicos ou fatores do ambiente de mercado, tais como RSI, MACD, volatilidade, etc., para melhorar a fiabilidade dos sinais de confirmação de reversão e filtrar os falsos sinais.
  3. Realizar a otimização de parâmetros para diferentes instrumentos de negociação e prazos para encontrar o período de revisão e o período EMA mais adequados, melhorando a adaptabilidade e a estabilidade da estratégia.
  4. Considerar a introdução de mecanismos de dimensionamento das posições e de controlo do risco, tais como o ajustamento das dimensões das posições com base na volatilidade do mercado ou no património da conta, para gerir o risco global.

Resumo

A Estratégia de Negociação de Confirmação de Reversão de Multiframe identifica oportunidades potenciais de reversão de tendência usando o preço mais alto, o preço mais baixo e a EMA, gerando sinais de entrada correspondentes. A vantagem da estratégia é sua capacidade de capturar reversões de tendência, mas também enfrenta problemas de negociação frequente e controle de risco insuficiente. Ao introduzir mecanismos de stop-loss e take-profit, combinando outros indicadores, otimização de parâmetros e dimensionamento de posição, o desempenho e a estabilidade da estratégia podem ser melhorados. Nas aplicações práticas, os parâmetros da estratégia e as medidas de controle de risco precisam ser ajustados de acordo com instrumentos comerciais específicos e ambientes de mercado.


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

//@version=5
strategy("Reversal Confimation Strategy", overlay=true)

// Indicator inputs
lookback = input.int(50, 'Lookback Period', minval=1, step=1)
downColor = input(color.red, 'Shape Color Down')
upColor = input(color.green, 'Shape Color Up')

// Indicator calculations
find_highest = ta.highest(high, lookback)
find_lowest = ta.lowest(low, lookback)
ema = ta.ema(close, lookback)

var dnRv = 0.0
var dnRv_trigger = false
var upRv = 0.0
var upRv_trigger = false

if high == find_highest
    dnRv_trigger := false
if low == find_lowest
    upRv_trigger := false

for i = 0 to lookback - 1
    if high[i] == find_highest
        dnRv := low[i]
for i = 0 to lookback - 1
    if low[i] == find_lowest
        upRv := high[i]

dnRv_signal = close < dnRv and dnRv_trigger == false 
upRv_signal = close > upRv and upRv_trigger == false

if dnRv_signal  
    dnRv_trigger := true
if upRv_signal  
    upRv_trigger := true

// Entry and exit conditions
if dnRv_signal
    strategy.entry("Sell", strategy.short)
if upRv_signal
    strategy.entry("Buy", strategy.long)

// Plotting
plotshape(dnRv_signal ? 1 : 0, style=shape.triangledown, location=location.abovebar, color=downColor, size=size.small)
plotshape(upRv_signal ? 1 : 0, style=shape.triangleup, location=location.belowbar, color=upColor, size=size.small)


Relacionados

Mais.