Estrategia bajista a corto plazo basada en los indicadores de cruce de la EMA y de potencia bajista

El autor:¿ Qué pasa?, Fecha: 2023-10-17 14:00:41
Las etiquetas:

img

Resumen general

Esta estrategia combina el indicador de cruce EMA y el indicador de poder bajista para generar señales bajistas a corto plazo. El cruce EMA juzga la tendencia mientras que el poder bajista señala el momento de venta corta. La estrategia es adecuada para el comercio a corto plazo para atrapar las correcciones del mercado.

Estrategia lógica

  1. EMA Crossover: Calcula la media móvil exponencial (EMA) del período 2/20 y genera señales de venta cuando el precio está por debajo de la EMA.

  2. Bear Power: Calcula la diferencia entre el precio de cierre y el precio de apertura del día como el valor de potencia. El valor de potencia mayor que el umbral de venta da una señal bajista (-1 para abreviar); el valor de potencia menor que el umbral de compra da una señal alcista (1 para largo); de lo contrario, 0 para neutro.

  3. La combinación de los dos indicadores genera una señal corta cuando el cruce de la EMA <0 y la potencia de carga <-1.

  4. La estrategia se abre corta en función de la señal de venta y cierra la posición en función de la señal de salida.

Ventajas

  1. El cruce de la EMA puede predecir los puntos de inversión de tendencia con antelación.

  2. El poder bajista captura oportunidades de venta corta durante fuertes caídas intradiarias.

  3. La combinación de dos indicadores ayuda a filtrar las falsas rupturas e identificar un impulso bajista más fuerte.

  4. Los parámetros flexibles se adaptan a diferentes productos y entornos de mercado.

  5. La función de inversión se adapta a los mercados de dos vías.

Los riesgos

  1. El cruce de la EMA puede retrasarse con respecto a los puntos de inflexión óptimos.

  2. La potencia de los bajistas puede generar señales falsas durante las consolidaciones de rango.

  3. No puede determinar las tendencias a medio y largo plazo, con el riesgo de quedar atrapado.

  4. El ajuste de parámetros requerido como ajustes inadecuados como un período EMA demasiado corto o un umbral de venta demasiado alto podrían aumentar las señales falsas.

  5. Preste atención a los eventos económicos clave para evitar las sesiones de negociación planificadas.

Mejoramiento

  1. Considere la posibilidad de agregar el stop loss al límite por pérdida de operaciones.

  2. Añadir filtros como indicadores de impulso para evitar señales débiles bajistas.

  3. Añadir EMA de período más largo para determinar la dirección de la tendencia principal y evitar operaciones contrarias a la tendencia.

  4. Optimizar parámetros como el período EMA adaptativo y el umbral de venta dinámico.

  5. Considere la posibilidad de combinar varios marcos de tiempo para incorporar indicadores a corto, mediano y largo plazo.

Conclusión

Esta estrategia utiliza primero el cruce EMA para determinar las principales tendencias y puntos de reversión, luego captura fuertes oportunidades de venta intradiaria utilizando el indicador de poder bajista, formando una estrategia bajista de corto plazo robusta. Las ventajas se encuentran en su simplicidad, flexibilidad para adaptarse a diferentes entornos de mercado y capacidad para revertir direcciones largas / cortas. Sin embargo, persisten riesgos como la falta de puntos óptimos y la generación de señales falsas.


/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/04/2022
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
//  Bear Power Indicator
//  To get more information please see "Bull And Bear Balance Indicator" 
//  by Vadim Gimelfarb. 
//
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ta.ema(xPrice, Length)
    nHH = math.max(high, high[1])
    nLL = math.min(low, low[1])
    nXS = nLL > xXA or nHH < xXA ? nLL : nHH
    iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
    pos := nXS > close[1] ? -1 : iff_1
    pos


BP(SellLevel,BuyLevel) =>
    pos = 0.0
    value =  close < open  ?  
                 close[1] > open ?  math.max(close - open, high - low): high - low: 
                     close > open ? 
                         close[1] > open ? math.max(close[1] - low, high - close): math.max(open - low, high - close): 
                             high - close > close - low ? 
                                 close[1] > open ? math.max(close[1] - open, high - low) : high - low : 
                                  high - close < close - low ? 
                                   close > open ? math.max(close - low, high - close) : open - low : 
                                      close > open ? math.max(close[1] - open, high - close) :
                                       close[1] < open ? math.max(open - low, high - close) : high - low
    pos := value > SellLevel ? -1 :
    	     value <= BuyLevel ? 1 :nz(pos[1], 0) 

    pos

strategy(title='Combo 2/20 EMA & Bear Power', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ Bear Power ═════●'
SellLevel = input.float(10, step=0.01, group=I2)
BuyLevel = input.float(1, step=0.01, group=I2)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)
StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosBP = BP(SellLevel,BuyLevel)
iff_1 = posEMA20 == -1 and prePosBP == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosBP == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
if possig == 1
    strategy.entry('Long', strategy.long)
if possig == -1
    strategy.entry('Short', strategy.short)
if possig == 0
    strategy.close_all()
barcolor(possig == -1 ? #b50404 : possig == 1 ? #079605 : #0536b3)

Más.