Tendencia del oscilador de precios absoluto siguiendo la estrategia

El autor:¿ Qué pasa?, Fecha: 2021-09-21 15: 27:59
Las etiquetas:

Resumen general

Esta estrategia utiliza el indicador de oscilador de precios absoluto (APO) para generar señales de negociación y seguir tendencias.

Estrategia lógica

  • La APO consiste en una EMA más rápida y una más lenta, tomando la diferencia entre ellas.

  • Cuando el APO cruza por encima de la zona de compra (default 3), vaya largo.

  • Opción para invertir las señales - cruce por encima de las ventas, cruce por debajo de las compras.

  • La curva muestra el impulso del precio, puede encontrar inversiones en la divergencia.

Se trata de una estrategia de seguimiento de tendencias, que utiliza APO para determinar la dirección de la tendencia para señales largas / cortas sostenidas.

Ventajas

  • Implementación sencilla utilizando una combinación de promedios móviles básicos.

  • APO mide el impulso y la dirección del precio.

  • Los parámetros por defecto generan señales sostenidas a medio plazo, evitando el exceso de negociación.

  • Puede detectar inversiones de tendencia basadas en la divergencia de precio/indicador.

Los riesgos

  • Propenso a señales falsas y a cambios en los mercados.

  • Las señales de retraso pueden perder rápidas reversiones.

  • No hay stop loss ni dimensionamiento de posiciones, gestión de riesgos incompleta.

Mitigantes:

  • Optimizar los parámetros y probar diferentes combinaciones por instrumento.

  • Añadir filtros para evitar el comercio en condiciones agitadas.

  • Implementar el stop loss, por ejemplo, el trailing stop.

Oportunidades de mejora

  • Optimización de parámetros para cada instrumento para encontrar pares ideales.

  • Filtros adicionales sobre la acción del precio o el volumen para reducir las señales falsas.

  • El tamaño dinámico de las posiciones basado en la volatilidad o en el porcentaje de la cuenta.

  • Optimizado para obtener ganancias, como la parada para seguir las tendencias.

  • ML para evaluar la probabilidad de que las señales de divergencia tengan éxito.

Conclusión

Este sistema de cruce de EMA utilizando APO proporciona una base sólida para el seguimiento de tendencias. Con optimizaciones en parámetros, gestión de riesgos y filtros, puede convertirse en una estrategia cuantitativa efectiva.


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/09/2018
// The Absolute Price Oscillator displays the difference between two exponential 
// moving averages of a security's price and is expressed as an absolute value.
// How this indicator works
//    APO crossing above zero is considered bullish, while crossing below zero is bearish.
//    A positive indicator value indicates an upward movement, while negative readings 
//      signal a downward trend.
//    Divergences form when a new high or low in price is not confirmed by the Absolute Price 
//      Oscillator (APO). A bullish divergence forms when price make a lower low, but the APO 
//      forms a higher low. This indicates less downward momentum that could foreshadow a bullish 
//      reversal. A bearish divergence forms when price makes a higher high, but the APO forms a 
//      lower high. This shows less upward momentum that could foreshadow a bearish reversal.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Absolute Price Oscillator (APO) Backtest 2.0", shorttitle="APO")
LengthShortEMA = input(10, minval=1)
LengthLongEMA = input(20, minval=1)
BuyZone = input(3, step = 0.01)
SellZone = input(-3, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(BuyZone, color=green, linestyle=line)
hline(SellZone, color=red, linestyle=line)
hline(0, color=gray, linestyle=line)
xPrice = close
xShortEMA = ema(xPrice, LengthShortEMA)
xLongEMA = ema(xPrice, LengthLongEMA)
xAPO = xShortEMA - xLongEMA
pos = iff(xAPO > BuyZone, 1,
       iff(xAPO < SellZone, -1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )  
plot(xAPO, color=blue, title="APO")

Más.