Tendência baseada em indicadores de AO na sequência da estratégia

Autora:ChaoZhang, Data: 2023-12-20 11:59:48
Tags:

img

Resumo

Esta estratégia usa o indicador Awesome Oscillator (AO) para determinar a direção da tendência e as médias móveis para confirmar a tendência. Pertence à estratégia de tendência seguinte.

Estratégia lógica

Esta estratégia baseia-se principalmente no indicador AO para determinar a direção da tendência de curto prazo. O indicador AO é calculado com base na diferença entre as médias móveis simples de 5 períodos e 34 períodos do preço médio. Pertence à categoria de indicadores Momentum. Quando o AO é positivo, significa que o MA de curto prazo está acima do MA de longo prazo, o que deve ser interpretado como um sinal de alta. Quando o AO é negativo, significa que o MA de curto prazo está abaixo do MA de longo prazo, o que deve ser interpretado como um sinal de baixa.

Portanto, o indicador AO pode determinar efetivamente a direção da tendência. Quando o AO cruza acima do nível 0, ele sinaliza que a tendência do mercado tornou-se alta e devemos ir longos. Quando o AO cruza abaixo do nível 0, ele sinaliza que a tendência do mercado se tornou baixa e devemos ir curtos.

Além disso, esta estratégia incorpora também as médias móveis de 20 períodos e de 200 períodos. A inclinação destes dois MA representa a direcção da tendência de médio a longo prazo.

Quando o MA rápido cruza acima do MA lento, a tendência de médio e longo prazo se torna alta, vamos longos quando o AO cruza acima de 0 para montar a tendência de alta.

Vantagens

  1. Determinação precisa da direcção da tendência a curto prazo utilizando o indicador AO
  2. Adição de filtros de MA para confirmar a tendência a médio e longo prazo, evitando efetivamente falsas rupturas
  3. Lucros rápidos, adequados para negociação a curto prazo

Análise de riscos

  1. Risco de entrada fracassada quando for curto. O preço pode continuar a subir por algum tempo depois que o AO cruza abaixo de 0 e os sinais MA vendem antes de descer.
  2. Risco de entrada fracassada ao ir longo. O preço pode continuar a descer por algum tempo depois que o AO cruza acima de 0 e os sinais MA compram antes de subir.
  3. Risco de distorção dos sinais AO em níveis técnicos importantes.

Orientações para melhorias

  1. Teste diferentes combinações de MA para encontrar melhores configurações, por exemplo, MA de 10 e 50 períodos
  2. Adicionar outros indicadores como RSI para confirmação do sinal
  3. Otimizar a percentagem de stop loss para uma melhor relação risco/recompensa

Conclusão

Esta é uma estratégia simples de tendência. Usar o AO para determinar a direção da tendência de curto prazo confirmada por MAs de médio e longo prazo é logicamente válido. A combinação de AO e MAs vê uso generalizado e é relativamente madura. Esta estratégia também é muito confiável.


/*backtest
start: 2023-12-12 00:00:00
end: 2023-12-14 20:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// https://www.youtube.com/watch?v=zr3AVwjCtDA

//@version=5
strategy(title="Bingx ESTRATEGIA de Trading en 1 minuto ", shorttitle="AO")
long = input.bool(true, "long")
short = input.bool(true, "short")
profit = (input.float(10, "profit") / 100) + 1
stop = (input.float(5, "stop") / 100) + 1
ao = ta.sma(hl2,5) - ta.sma(hl2,34)
diff = ao - ao[1]
plot(ao, color = diff <= 0 ? #F44336 : #009688, style=plot.style_columns)
changeToGreen = ta.crossover(diff, 0)
changeToRed = ta.crossunder(diff, 0)
alertcondition(changeToGreen, title = "AO color changed to green", message = "Awesome Oscillator's color has changed to green")
alertcondition(changeToRed, title = "AO color changed to red", message = "Awesome Oscillator's color has changed to red")

ema20 = ta.ema(close, 20)
ema200 = ta.ema(close, 200)
rsi = ta.rsi(close, 7)
plot(rsi)
plot(0, color=color.white)
var float pentry = 0.0
var float lentry = 0.0
var bool oab = false
// oab := ta.crossover(ao, 0) ? true : ta.crossover(0, ao) ? false : oab[1]

if long and close > open and ta.crossover(close, ema20) and ema20 > ema200 and ao > 0 and rsi > 50
    strategy.entry("long", strategy.long)
    pentry := close
strategy.exit("exit long", "long", limit=pentry * profit, stop=pentry / stop)

if short and close < open and ta.crossunder(close, ema20) and ema20 < ema200 and ao < 0 and rsi < 50
    strategy.entry("short", strategy.short)
    lentry := close
strategy.exit("exit short", "short", limit=lentry / profit, stop=lentry * stop)

Mais.