La estrategia de doble oscilación de precios de la EMA

El autor:¿ Qué pasa?, Fecha: 2024-02-26 13:52:41
Las etiquetas:

img

Resumen general

La estrategia de oscilación de precios de la EMA doble juzga el sentimiento y el impulso del mercado mediante el cálculo de la diferencia entre dos EMA de períodos diferentes.

La estrategia es simple y fácil de usar, juzgando el impulso y la dirección del mercado a través de la diferencia EMA. Sin embargo, también tiene cierto retraso y no puede capturar puntualmente los puntos de inflexión.

Principio

El indicador central de la estrategia de oscilación de precios de la doble EMA es el APO, es decir, el oscilador de precios absoluto, que representa la diferencia entre dos EMA.

APO = EMA(short period) − EMA(long period)

Específicamente, la APO en esta estrategia se calcula como:

xShortEMA = ema(close price, LengthShortEMA)  

xLongEMA = ema(close price, LengthLongEMA)

xAPO = xShortEMA − xLongEMA

Donde LengthShortEMA y LengthLongEMA representan las longitudes de ciclo de las EMA a corto y a largo plazo, respectivamente.

Varias reglas clave de juicio de APO:

  1. Un cruce de APO por encima de 0 es una señal alcista
  2. Un cruce a la baja de APO por debajo de 0 es una señal bajista
  3. Un APO positivo indica un estado alcista actual
  4. Una APO negativa indica un estado de bajista actual

Determinar el sentimiento del mercado y el momento de entrada basándose en el valor en tiempo real de APO.

Análisis de ventajas

La doble estrategia de oscilación de precios de la EMA tiene las siguientes ventajas principales:

  1. El uso de una media móvil exponencial puede suavizar eficazmente los datos de precios y reducir el impacto del ruido
  2. El indicador APO combina dos EMA para juzgar tanto la tendencia de los precios como el impulso del mercado
  3. La señal estratégica es simple y clara, fácil de determinar e implementar
  4. Ciclos de EMA personalizables que se adaptan a las diferentes variedades y estilos de negociación
  5. Las señales reversibles se aplican a la negociación inversa y corta

Análisis de riesgos

La doble estrategia de oscilación de precios de la EMA también tiene algunos riesgos, principalmente en:

  1. La propia EMA tiene retraso y no puede captar los puntos de inflexión de los precios a tiempo
  2. Los parámetros predeterminados pueden no aplicarse a todas las variedades, los parámetros necesitan optimización
  3. Las señales frecuentes tienden a producir señales falsas
  4. Incapacidad para determinar el stop loss y el take profit después de la apertura de la posición
  5. Hay cierto retraso, posiblemente perdiendo el mejor momento de entrada

Podemos hacer frente y reducir estos riesgos aplicando un stop loss razonable para reducir pérdidas individuales; optimizando los parámetros para adaptar los ciclos; combinando otros indicadores para filtrar las señales y mejorar la estabilidad de la estrategia.

Direcciones de optimización

La doble estrategia de oscilación de precios de la EMA se puede optimizar en los siguientes aspectos:

  1. Optimización de los parámetros del ciclo EMA, combinaciones de ensayo de longitud de 5 a 60 para encontrar el óptimo
  2. Añadir otros indicadores como MA, KDJ, MACD para establecer condiciones de filtro y evitar señales falsas
  3. Utilice las bandas de Bollinger, KD para determinar un stop loss razonable y obtener beneficios
  4. Combinar el índice de tendencia para juzgar la tendencia de precios, evitar el comercio contra la tendencia
  5. Añadir indicador de volumen de negociación para garantizar señales con soporte de volumen
  6. Establecer condiciones de reingreso para reducir las transacciones y la frecuencia de negociación

Conclusión

En resumen, la Estrategia de Oscilación de Precios de la EMA Doble juzga el sentimiento del mercado calculando la diferencia APO entre dos EMA. La señal de estrategia es simple y práctica, pero también tiene algunos inconvenientes. Podemos optimizarla a través de la sintonización de parámetros, la adición de filtros, la configuración de paradas y más. Fácil de usar para principiantes, también con un gran potencial de expansión. Adecuado para que los estudiantes de comercio cuántico estudien y apliquen.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/05/2017
// 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
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Absolute Price Oscillator (APO) Backtest", shorttitle="APO")
LengthShortEMA = input(10, minval=1)
LengthLongEMA = input(20, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
xPrice = close
xShortEMA = ema(xPrice, LengthShortEMA)
xLongEMA = ema(xPrice, LengthLongEMA)
xAPO = xShortEMA - xLongEMA
pos = iff(xAPO > 0, 1,
       iff(xAPO < 0, -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.