Estrategia de trading a largo plazo basada en el rango de ruptura


Fecha de creación: 2023-09-19 17:19:55 Última modificación: 2023-09-19 17:19:55
Copiar: 2 Número de Visitas: 623
1
Seguir
1617
Seguidores

Descripción general

Esta estrategia es una estrategia para generar señales de negociación basadas en la ruptura del rango de retorno fijo del precio. Se realiza una operación múltiple cuando el precio supera el precio más alto durante el período de retorno; se realiza una operación de liquidación cuando el precio cae por debajo del precio más alto.

Principio de estrategia

  1. Configure el parámetro de período de revisión, por ejemplo, 4 días.

  2. El precio más alto de los últimos 4 días.

  3. Cuando el precio más alto de hoy supera el precio más alto de los últimos 4 días, haz más.

  4. Cuando el precio no ha podido superar los máximos de los últimos 4 días, se ha cerrado la posición.

  5. Se puede cambiar la dirección de vacío de más de una vez mediante el parámetro de reversión.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. La brecha es sencilla, la señal es clara.

  2. Fijar los parámetros de rango de ruptura para evitar la optimización de parámetros complejos y la optimización excesiva.

  3. Puede ser fácilmente cambiado en varias direcciones para adaptarse a una variedad de entornos de mercado.

  4. La revisión de la gama fija filtró parte del ruido, lo que permite un seguimiento continuo de la tendencia.

  5. La estrategia es sencilla y eficiente, sin necesidad de calcular indicadores complejos.

Análisis de riesgos

Los principales riesgos de esta estrategia son:

  1. La brecha está fija y no puede adaptarse a los cambios en el mercado.

  2. No se tomaron en cuenta los pérdidas, y las pérdidas significativas superaron el riesgo.

  3. Los parámetros fijos son susceptibles a la probabilidad de una falla del mercado.

  4. El ruido puede ser demasiado frecuente y aumentar los costos de las transacciones.

  5. No se han optimizado los parámetros, es difícil obtener el mejor resultado con los parámetros predeterminados.

Dirección de optimización

Se puede optimizar en los siguientes aspectos:

  1. Optimización de los parámetros clave para encontrar la combinación óptima de parámetros.

  2. Incluye el cálculo del rango de ruptura dinámica basado en ATR, etc.

  3. Considere la inclusión de un stop loss móvil o de un stop loss de proporción fija.

  4. La combinación de indicadores de tendencia evita el exceso de comercio en mercados convulsionados.

  5. Prueba la robustez de los parámetros en más variedades comerciales.

  6. Se añaden algoritmos de aprendizaje automático para optimizar los parámetros.

Resumir

La estrategia en su conjunto es una estrategia de negociación basada en brechas de precios muy simple. Se puede mejorar mediante la optimización del rango de parámetros, la adición de mecanismos de stop loss y el discernimiento de tendencias, lo que puede convertirse en una estrategia de cuantificación fácil de implementar y práctica.

Código Fuente de la Estrategia
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/11/2016
// Breakout Range Long Strategy
// 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="Breakout Range Long Strategy Backtest", overlay = true)
look_bak = input(4, minval=1, title="Look Bak")
reverse = input(false, title="Trade reverse")
xHighest = highest(high, look_bak)
pos =	iff(high > xHighest[1], 1, 0)
if (pos == 1 and strategy.position_size == 0 and reverse == false) 
    strategy.entry("Long", strategy.long)
if (pos == 1 and strategy.position_size == 0 and reverse == true) 
    strategy.entry("Short", strategy.short)
if (pos == 0 and strategy.position_size > 0)
    strategy.close("Long")
if (pos == 0 and strategy.position_size < 0)
    strategy.close("Short")
barcolor(strategy.position_size > 0 ? green: strategy.position_size < 0 ? red: blue)   
plotshape(pos, style=shape.triangleup, location = location.belowbar, color = green)