Estrategia de prueba de retroceso de los máximos y mínimos de la brecha

El autor:¿ Qué pasa?, Fecha: 2024-01-08 16:13:44
Las etiquetas:

img

Resumen general

Esta estrategia juzga la dirección de la tendencia basada en romper los máximos y mínimos periódicos.

Principio

La estrategia primero lee el ciclo definido por el usuario (diario, semanal, etc.) y los períodos de retroceso. Luego obtiene los precios más altos y más bajos para el período de retroceso basado en estos parámetros. Por ejemplo, si se establece en ciclo diario y período de retroceso 1, toma los precios más altos y más bajos para el día anterior.

En el comercio real, si el precio de cierre es mayor o igual al precio más bajo del período de retroceso, se juzga como un avance al alza y se va largo.

Al capturar la dirección de la tendencia a través de la ruptura de los máximos y mínimos periódicos, esta estrategia pertenece a una especie de estrategia de seguimiento de tendencias.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. Capturar la gran tendencia después de una fuerte consolidación juzgando la dirección basada en los puntos de avance.

  2. Simple y fácil de entender, muy adecuado para que los principiantes aprendan y usen.

  3. Fácil de optimizar mediante el ajuste de parámetros periódicos, aplicables a diferentes variedades.

  4. Puede configurar la entrada inversa para la operación inversa, enriqueciendo el uso de la estrategia.

  5. Dibujando máximos y mínimos periódicos para ayudar al juicio y formar una validación múltiple.

Análisis de riesgos

También hay algunos riesgos:

  1. No puede filtrar eficazmente la volatilidad lateral, posibles múltiples operaciones erróneas.

  2. No se puede controlar el stop loss, existe cierto grado de riesgo de pérdida.

  3. Debido a los costes de negociación, el PnL real puede desviarse.

  4. No se puede limitar el tamaño de la posición, existe un riesgo de sobre-negociación.

Para hacer frente a estos riesgos, se pueden utilizar métodos como establecer stop loss, optimizar las condiciones del filtro, controlar el tamaño de la posición.

Optimización

Las principales direcciones de optimización son:

  1. Añadir mecanismos de filtro para evitar la apertura frecuente durante los laterales.

  2. Establecer una pérdida de detención posterior o una pérdida de detención temporal para controlar el riesgo de pérdida única y garantizar la rentabilidad general.

  3. Optimizar el tamaño de las posiciones y la gestión del dinero para evitar el exceso de operaciones y garantizar la estabilidad.

  4. Prueba los efectos de diferentes parámetros periódicos y selecciona las combinaciones óptimas de parámetros.

  5. Aumentar los módulos de comercio algorítmico, usar algoritmos de aprendizaje automático para mejorar la eficiencia de la decisión.

Resumen de las actividades

En resumen, esta estrategia innovadora de backtest alto bajo es simple de operar basada en el seguimiento de tendencias, adecuada para que los principiantes aprendan, pero existen riesgos de quedar atrapados. Al agregar optimizaciones como filtros, paradas, control de posición, estos riesgos se pueden reducir y los resultados de la estrategia mejorados. Puede proporcionar ideas y referencias para nuestra investigación y mejoras posteriores.


/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/07/2018
// This script shows a high and low period value.
//    Width - width of lines
//    SelectPeriod - Day or Week or Month and etc.
//    LookBack - Shift levels 0 - current period, 1 - previous and etc.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="High and Low Levels Backtest", shorttitle="HL Levels", overlay = true)
SelectPeriod = input("D", defval="D")
LookBack = input(1,  minval=0)
reverse = input(false, title="Trade reverse")
xHigh  = request.security(syminfo.tickerid, SelectPeriod, high[LookBack])
xLow   = request.security(syminfo.tickerid, SelectPeriod, low[LookBack])
vS1 = xHigh
vR1 = xLow
pos = iff(close > vR1, 1,
       iff(close < vS1, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 

Más.