
Visão geral
A estratégia utiliza principalmente o preço máximo, o preço mínimo e a média móvel do índice (EMA) para confirmar a reversão de tendência e, assim, produzir um sinal de negociação. A estratégia primeiro calcula os preços mais altos e mais baixos do período de revisão especificado e, em seguida, julga se o preço de fechamento atual está abaixo do preço mínimo correspondente ao preço máximo (confirmação de reversão de baixa) ou acima do preço máximo correspondente ao preço mínimo (confirmação de reversão de baixa).
Princípio da estratégia
- Calcule o preço mais alto (find_highest) e o preço mais baixo (find_lowest) no período de revisão especificado.
- Calcule o EMA do preço de fechamento no período de retrospectiva especificado.
- Atravesse cada linha K durante o período de revisão e encontre o preço mais alto correspondente ao preço mais baixo ((dnRv), e o preço mais baixo correspondente ao preço mais alto ((upRv) }}.
- 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 baixa).
- Se um sinal de confirmação de reversão de baixa ((dnRv_signal) surgir e não tiver sido acionado anteriormente, um sinal de abertura de posição é gerado.
- Se um sinal de confirmação de reversão de upRv aparecer e não tiver sido acionado anteriormente, gerará um sinal de abertura de mais.
Vantagens estratégicas
- Os sinais de confirmação de reversão ajudam a estratégia a capturar oportunidades de reversão de tendência, aumentando assim os potenciais ganhos da estratégia.
- Através do uso da EMA, a estratégia pode se adaptar a diferentes condições de mercado e ciclos de flutuação.
- A flexibilidade do período de retrospectiva permite a flexibilidade da estratégia, que pode ser otimizada de acordo com diferentes variedades e ciclos de negociação.
Risco estratégico
- Após o surgimento de um sinal de confirmação de reversão, os preços podem sofrer uma oscilação repetida em vez de uma tendência unilateral, o que leva a uma estratégia de abertura e paz de posição frequentes, aumentando os custos de negociação.
- A falta de um mecanismo claro de stop loss e de stop loss pode levar a um risco elevado para uma única transação.
- A estratégia não leva em consideração as características das variedades negociadas e o ambiente de mercado, podendo, em alguns casos, ter um mau desempenho.
Direção de otimização da estratégia
- Introdução de mecanismos de stop loss e stop-loss para controlar o limite de risco de uma única transação. O nível de stop loss pode ser configurado de forma dinâmica ou estática, de acordo com o ATR, porcentagem ou ponto fixo.
- Em combinação com outros indicadores técnicos ou fatores do ambiente de mercado, como RSI, MACD, volatilidade, etc., para aumentar a confiabilidade do sinal de confirmação de reversão e filtrar os falsos sinais.
- Optimização de parâmetros para diferentes variedades e ciclos de negociação, para encontrar o período de revisão e o ciclo EMA mais adequados, para melhorar a adaptabilidade e a estabilidade da estratégia.
- Considere a introdução de mecanismos de gerenciamento de posições e controle de risco, como o tamanho de posições ajustado de acordo com a volatilidade do mercado ou o valor líquido da conta, para controlar o risco geral.
Resumir
A estratégia de confirmação de negociação de reversão de quadros de tempo múltiplos identifica oportunidades de reversão de tendência em potencial por meio de preços máximos, mínimos e EMAs e gera sinais de abertura de posição correspondentes. A vantagem da estratégia é a capacidade de capturar reversões de tendência, mas também há problemas com a falta de controle de risco e negociação frequente.
Código-fonte da estratégia
/*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)