Una estrategia de retroceso y ruptura siguiendo la tendencia


Fecha de creación: 2024-02-01 14:37:02 Última modificación: 2024-02-01 14:37:02
Copiar: 6 Número de Visitas: 741
1
Seguir
1617
Seguidores

Una estrategia de retroceso y ruptura siguiendo la tendencia

Descripción general

La estrategia de retracción de ruptura es una estrategia de seguimiento de la tendencia. Su principio básico es hacer más shorting cuando el precio más alto o más bajo de la línea K anterior a la ruptura, y dejar que las ganancias continúen después de establecer el stop loss.

Principio de estrategia

La estrategia determina el momento de entrada principalmente al determinar si el precio ha roto el precio más alto o más bajo de la línea K anterior. La lógica específica es:

Si el máximo de la línea K actual es mayor que el máximo de la línea K anterior, se emite una señal de multiplicación.

Si el precio mínimo de la línea K actual es inferior al precio mínimo de la línea K anterior, se emite una señal de vacío.

La entrada se realiza inmediatamente después de recibir la señal de hacer más vacío. La entrada se realiza con el stop-loss de 50 puntos y el stop-loss de 100 puntos.

Cuando las pérdidas son mayores que el número de puntos de parada o las ganancias son mayores que el número de puntos de parada, se retira activamente.

Análisis de las ventajas

La estrategia de retroalimentación de la ruptura tiene las siguientes ventajas:

  1. La lógica de operación es simple y fácil de implementar.
  2. La tendencia es que las personas que están en el mercado de las ventas de los productos de la industria de la moda no se sientan a la altura de las tendencias.
  3. La configuración de stop loss permite que el ganador continúe operando y evitará una salida prematura.
  4. La capacidad de retirada y control de riesgos es más fuerte.

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. La señal de penetración puede ser falsa, lo que puede conducir a una entrada errónea.
  2. En el caso de consolidar una ciudad, es fácil de engañar.
  3. Para controlar el riesgo, es necesario establecer un número razonable de puntos de parada y pérdida.

Dirección de optimización

La estrategia puede seguir optimizándose en los siguientes aspectos:

  1. Aumentar la efectividad de los juicios de ruptura de precios y evitar falsas rupturas. Por ejemplo, se pueden agregar filtros de indicadores y verificación de la transacción.

  2. Aumentar el mecanismo de juicio de tendencias para evitar el riesgo de la cárcel de liquidación del mercado. Se pueden agregar indicadores de tendencias como las medias móviles.

  3. Optimización de las estrategias de stop loss, como el seguimiento de los stop losses, el traslado de los stop losses después de la ganancia, etc., para maximizar los beneficios.

  4. Optimización de los parámetros para encontrar el mejor número de puntos de parada y pérdida.

Resumir

La estrategia de reajuste de la ruptura es en general lógica simple, fácil de implementar, captura eficazmente el inicio de la tendencia, la reversión y el control del riesgo también son fuertes. Si se optimiza aún más, puede convertirse en una estrategia cuantitativa muy práctica.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Breakout Strategy", shorttitle="BS", overlay=true)

// Input for take profit and stop loss in pips
tp_pips = input(50, title="Take Profit (in pips)")
sl_pips = input(100, title="Stop Loss (in pips)")

// Calculate take profit and stop loss levels in points
tp_level = tp_pips * syminfo.mintick
sl_level = sl_pips * syminfo.mintick

// Function to check if a breakout has occurred
breakout(high_or_low) =>
    high_or_low > request.security(syminfo.tickerid, "D", high[1]) ? true : false

// Buy condition
buy_condition = breakout(high)
strategy.entry("Buy", strategy.long, when=buy_condition)

// Sell condition
sell_condition = breakout(low)
strategy.entry("Sell", strategy.short, when=sell_condition)

// Take profit and stop loss conditions for Buy
tp_buy_condition = strategy.position_avg_price + tp_level
sl_buy_condition = strategy.position_avg_price - sl_level
strategy.exit("Take Profit/Close Buy", from_entry="Buy", profit=tp_buy_condition, loss=sl_buy_condition)

// Take profit and stop loss conditions for Sell
tp_sell_condition = strategy.position_avg_price - tp_level
sl_sell_condition = strategy.position_avg_price + sl_level
strategy.exit("Take Profit/Close Sell", from_entry="Sell", profit=tp_sell_condition, loss=sl_sell_condition)