Estrategia de negociación de ganancias de seguimiento dinámico

El autor:¿ Qué pasa?, Fecha: 2024-02-27 14:43:17
Las etiquetas:

img

Resumen general

Este artículo presenta principalmente una estrategia de negociación cuantitativa llamada Dynamic Trailing Take Profit Trading Strategy. Esta estrategia establece una línea de ganancia dinámica basada en el indicador ATR para realizar ganancias rápidas tomando dentro de 1-2 velas después de un movimiento repentino de precios favorables, evitando pérdidas cuando los precios vuelven a dar la vuelta.

Principios

La lógica de negociación de esta estrategia es muy simple y clara.

  1. Utilice el cruce de SMA de 14 períodos y SMA de 28 períodos como la señal para largo y corto. Cuando la SMA de 14 períodos supera la SMA de 28 períodos, vaya largo. Cuando la SMA de 14 períodos baja la SMA de 28 períodos, vaya corto.

  2. Calcular el indicador ATR y multiplicarlo por un factor para obtener la posición dinámica de toma de ganancias. Por ejemplo, establecer la longitud de ATR a 7, multiplicador a 1,5, entonces el ancho del canal dinámico de toma de ganancias es 1,5 veces el ATR de 7 períodos.

  3. Cuando la dirección de la posición es larga, se suma el precio alto y el ancho del canal de toma de ganancias dinámicas para obtener la línea de toma de ganancias larga.

  4. Una vez que el precio excede esta línea dinámica de toma de ganancias, toma de ganancias para salir inmediatamente.

A través de los pasos anteriores, esta estrategia logra un efecto simple pero eficiente de seguimiento de ganancias y toma rápida de ganancias. El canal ATR proporciona la capacidad de ajuste dinámico para la línea de toma de ganancias, mientras que la condición de 1 barra recientemente agregada asegura que la línea de toma de ganancias se active solo en condiciones de mercado favorables repentinas. Esto puede reducir efectivamente la salida prematura debido a la toma de ganancias.

Ventajas

La Estrategia de negociación dinámica de ganancias por absorción de carga tiene las siguientes ventajas:

  1. La idea es sencilla y clara, fácil de entender e implementar, adecuada para que los principiantes aprendan.

  2. El ATR dinámico puede seguir automáticamente las ganancias y evitar dejar las ganancias en la mesa.

  3. Añadir 1 bar de alta / baja condición evita tomar el beneficio de desencadenar en movimientos más pequeños.

  4. La longitud y el multiplicador del ATR se pueden ajustar para ajustar el grado de obtención de beneficios.

  5. Puede salir rápidamente para capturar movimientos de precios favorables.

  6. Las operaciones de inversión de capital de riesgo se basan en el valor de las operaciones de inversión de capital de riesgo.

Análisis de riesgos

También hay algunos riesgos con esta estrategia:

  1. La repentina expansión del ATR puede causar una salida prematura de las ganancias.

  2. No puede filtrar eficazmente el ruido del mercado, propenso a señales falsas.

  3. Confiar únicamente en el cruce de SMA para la toma de decisiones, ineficaz para situaciones de mercado complejas.

  4. No hay un mecanismo de stop loss para limitar las pérdidas de manera efectiva.

  5. Es posible que el parámetro predeterminado no se adapte a todos los productos, se necesita optimización.

Para reducir los riesgos anteriores, podemos optimizar desde los siguientes aspectos:

  1. Añadir reglas de filtro basadas en otros indicadores para eliminar señales falsas.

  2. Añadir estrategias de stop loss para controlar estrictamente la pérdida por operación.

  3. Optimice los parámetros utilizando el análisis de marcha adelante.

  4. Optimizar los parámetros de los diferentes productos por separado.

  5. Aumentar los modelos de aprendizaje automático para decisiones más inteligentes.

Direcciones de optimización

Sobre la base del análisis de riesgos, las direcciones de optimización incluyen principalmente:

  1. Añadir filtro de señal: Añadir reglas de filtro basadas en indicadores como MACD, banda de Bollinger, etc. después de la señal para evitar el ruido.

  2. Añadir línea de stop lossSe aplicarán las siguientes medidas para determinar el valor de las pérdidas de las operaciones:

  3. Optimización de parámetros: Optimice parámetros como la longitud ATR, el multiplicador ATR utilizando el aprendizaje automático.

  4. Ajuste de riesgos: Ajuste del tamaño de las posiciones, parámetros de riesgo basados en diferentes productos.

  5. Modelo de fusión: Combine esta estrategia con aprendizaje automático, redes neuronales para mejorar la precisión.

  6. Intervención manual: Permitir la anulación manual de los niveles de toma de ganancias/detención de pérdidas en momentos críticos.

Con la optimización en las direcciones anteriores, la rentabilidad y la estabilidad de la estrategia pueden mejorarse en gran medida.

Conclusión

En resumen, la Dynamic Trailing Take Profit Trading Strategy es una estrategia de take profit muy práctica y eficiente. Tiene una idea clara y fácil de entender. A través de la take profit dinámica, puede rastrear automáticamente las ganancias y salir rápidamente durante tendencias fuertes. Mientras tanto, esta estrategia también tiene algunos riesgos. Se puede mejorar agregando filtros de señal, stop loss, optimizando parámetros, etc. para adaptarse a entornos de mercado más complejos. En general, esta estrategia proporciona un muy buen marco digno de investigación y aplicación adicionales.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Peter_O

//@version=5
strategy("TrailingTakeProfit example", overlay=true, margin_long=100, margin_short=100, default_qty_value = 1, initial_capital = 100)

longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))

if longCondition
    strategy.entry("Long", strategy.long, comment="long", alert_message="long")
if shortCondition
    strategy.entry("Short", strategy.short, comment="short", alert_message="short")

atr_length=input.int(7, title="ATR Length")
atr_multiplier = input.float(1.5, title="ATR Multiplier")
atr_multiplied = atr_multiplier * ta.atr(atr_length)
ttp_top_bracket = strategy.position_size>0 ? high[1]+atr_multiplied : na
ttp_bottom_bracket = strategy.position_size<0 ? low[1]-atr_multiplied : na

plot(ttp_top_bracket, title="ttp_top_bracket", color=color.lime, style=plot.style_linebr, offset=1)
plot(ttp_bottom_bracket, title="ttp_bottom_bracket", color=color.red, style=plot.style_linebr, offset=1)

strategy.exit("closelong", from_entry="Long", limit=ttp_top_bracket, alert_message = "closelong")
strategy.exit("closeshort", from_entry="Short", limit=ttp_bottom_bracket, alert_message = "closeshort")

// var table alertsDisplayTable = table.new(position.top_right, 1, 5, color.black)
// if barstate.islastconfirmedhistory
//     table.cell(alertsDisplayTable, 0, 0, "TradingConnector-compatible alerts sent", text_color=color.white)
//     table.cell(alertsDisplayTable, 0, 1, "at Long Entry: long", text_color=color.white)
//     table.cell(alertsDisplayTable, 0, 2, "at Short Entry: short", text_color=color.white)
//     table.cell(alertsDisplayTable, 0, 3, "at Long Exit: closelong", text_color=color.white)
//     table.cell(alertsDisplayTable, 0, 4, "at Short Exit: closeshort", text_color=color.white)


Más.