Estrategia de ruptura de impulso de criptomonedas

El autor:¿ Qué pasa?, Fecha: 2023-10-26 17:23:20
Las etiquetas:

img

Resumen general

Esta estrategia utiliza indicadores de impulso para identificar la dirección de tendencia principal en el mercado de Criptomonedas y establece posiciones largas en puntos de ruptura, realizando la idea comercial de seguir la tendencia.

Estrategia lógica

La estrategia utiliza un Pump&Dump Oscillator personalizado como único indicador. El oscilador utiliza el tamaño de los cuerpos de las velas para identificar la dirección de tendencia principal del mercado. Específicamente, calcula el promedio móvil de los cuerpos de las velas y lo multiplica por un multiplicador establecido por el usuario. Cuando el cuerpo es mayor que el promedio móvil, señala una tendencia alcista. Cuando el cuerpo es menor que el promedio móvil, señala una tendencia bajista.

Basándose en el indicador del oscilador, esta estrategia solo establece posiciones largas. Cuando el indicador muestra que el mercado está actualmente en una tendencia alcista, se establece una posición larga al cierre de esa vela. Después, si aparece una señal de tendencia bajista o se activa el stop loss, todas las posiciones se cerrarán.

La estrategia proporciona dos métodos de stop loss, se puede utilizar uno o ambos:

  1. Porcentaje de stop loss: los usuarios pueden establecer el porcentaje máximo de pérdida permitido para cada posición. Si el precio cae por debajo de este nivel de stop loss porcentual, la posición se cerrará.

  2. Breakout stop loss: registra el punto más bajo del candelero al abrir la posición. Si el precio cae por debajo de este punto más tarde, cierra la posición.

Análisis de ventajas

Esta estrategia tiene las siguientes ventajas:

  1. Utiliza un indicador personalizado para identificar las tendencias del mercado, que es más sensible y preciso.

  2. Sólo va a largo plazo, evitando el riesgo ilimitado de pérdida de venta corta.

  3. Adopta la idea del comercio de tendencias, que es un enfoque clásico de seguimiento de tendencias.

  4. Proporciona dos métodos de stop loss, lo que permite la libre elección del modo de stop loss más adecuado.

  5. Código simple y claro, fácil de entender y modificar.

  6. No hay necesidad de establecer la dinámica de obtener beneficios, evitando la obtención de beneficios prematuros que conducen a pérdidas de beneficios.

Análisis de riesgos

Esta estrategia también tiene algunos riesgos:

  1. Es posible que los indicadores personalizados no sean estables y fiables, con el riesgo de error de evaluación.

  2. Sólo el establecimiento de posiciones largas puede perder oportunidades de recorte de retroceso a corto plazo.

  3. Las configuraciones de stop loss pueden ser demasiado conservadoras, incapaces de mantener posiciones de tendencia más largas.

  4. La falta de una toma de ganancias dinámica requiere una toma de ganancias manual oportuna, con riesgos operativos.

  5. Aunque ambos métodos de stop loss pueden combinarse libremente, es posible que aún no se encuentre el punto óptimo de stop loss.

  6. Las estrategias de búsqueda de tendencias tienden a ser equivocadas por los mercados variados, produciendo operaciones excesivamente inválidas.

Direcciones de optimización

Esta estrategia se puede optimizar a partir de los siguientes aspectos:

  1. Pruebe otros indicadores, como KDJ, MACD, etc., para encontrar métodos de identificación de tendencias más estables y confiables.

  2. Aumentar las oportunidades de venta corta al permitir posiciones cortas cuando las tendencias se invierten, mejorando la rentabilidad de la estrategia.

  3. Optimizar las estrategias de stop loss probando diferentes parámetros para encontrar mejores puntos de stop loss, o utilizar ATR, MA, etc. para establecer paradas dinámicas.

  4. Añadir una toma de ganancias dinámica, como establecer la toma de ganancias después de romper los máximos anteriores, reduciendo los riesgos de operación manual.

  5. Realizar la optimización de parámetros ajustando los períodos de admisión, las condiciones de entrada, etc. para encontrar las combinaciones óptimas de parámetros.

  6. Añadir condiciones de filtrado como indicadores solo largos o de fondo para evitar operaciones no válidas.

  7. Prueba en diferentes productos para evaluar la efectividad de la estrategia en los principales pares de monedas y optimizar la aplicabilidad.

  8. Utilice backtesting y comercio de demostración para optimizar los parámetros y puntos de stop loss / take profit.

Resumen de las actividades

En general, esta es una estrategia de búsqueda de tendencias relativamente simple. Utiliza un indicador de impulso personalizado para juzgar las tendencias del mercado, establece posiciones largas al comienzo de las tendencias y proporciona métodos de stop loss duales. Las principales ventajas son una lógica de estrategia clara, riesgos limitados y facilidad de operación. Pero también hay espacio para la optimización en áreas como estrategias de stop loss y selección de parámetros. En general, esta estrategia proporciona una idea de trading de tendencias fundamentales para el mercado de criptomonedas, y es muy adecuada para que los principiantes aprendan y practiquen. Pero aún debe realizarse suficiente backtesting para validar su efectividad y optimizar aún más antes de aplicarla en el trading en vivo.


/*backtest
start: 2022-10-19 00:00:00
end: 2023-04-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("[BoTo] Pump&Dump Strategy", shorttitle = "[BoTo] P&D Strategy", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
multiplier = input(3.0)
length = input(100)
stop = input(100.0, title = "Stop loss, %")

//Indicator
body = abs(close - open)
sma = sma(body, length) * multiplier
plot(body, color = gray, linewidth = 1, transp = 0, title = "Body")
plot(sma, color = gray, style = area, linewidth = 0, transp = 90, title = "Avg.body * Multiplier")

//Signals
pump = body > sma and close > open
dump = body > sma and close < open
color = pump ? green : dump ? red : na
bgcolor(color, transp = 0)

//Stops
size = strategy.position_size
autostop = 0.0
autostop := pump and size == 0 ? low : autostop[1]
userstop = 0.0
userstop := pump and size == 0 ? close - (close / 100 * stop) : userstop[1]

//Strategy
if pump
    strategy.entry("Pump", strategy.long)
if dump or low < autostop or low < userstop
    strategy.close_all()

Más.