Estrategia de precios de doble ruptura a lo largo del eje temporal


Fecha de creación: 2023-11-15 17:27:36 Última modificación: 2023-11-15 17:27:36
Copiar: 0 Número de Visitas: 667
1
Seguir
1617
Seguidores

Estrategia de precios de doble ruptura a lo largo del eje temporal

Descripción general

Esta es una estrategia que utiliza precios clave en diferentes ejes temporales para realizar brechas dobles que forman una señal de negociación. Se puede entrar en posiciones de venta o venta libre cuando los precios de tendencia superan puntos clave de soporte o resistencia para capturar tendencias de línea media-larga.

Principio de estrategia

La estrategia analiza el movimiento de los precios simultáneamente en dos ejes de tiempo diferentes (tf y tf2), el eje de tiempo tf es más largo y refleja tendencias de línea media larga; el eje de tiempo tf2 es más corto y refleja movimientos a corto plazo. La estrategia monitorea las siguientes señales de negociación:

  1. Cuando el precio se rompe el nivel (level) hacia arriba en la línea de tiempo tf, se registra up1=true
  2. Cuando el precio se rompe hacia abajo en la línea de tiempo tf, se registra dn1 = true
  3. Cuando el precio supera el nivel 2 en la línea de tiempo tf2 hacia arriba, se registra up2=true
  4. Cuando el precio se rompe hacia abajo en la línea de tiempo tf2, se registra dn2=true

Las condiciones para la formación de la señal de negociación son: up1 y up2 son al mismo tiempo verdaderas, lo que significa que la línea media y corta son bajistas, lo que significa que hay más; dn1 y dn2 son al mismo tiempo verdaderas, lo que significa que la línea media y corta son bajistas, lo que significa que hay un vacío.

La estrategia también añade algunas condiciones de filtración, como el filtro inverso y el filtro de línea K de color, para evitar que las rupturas de tendencias no reales formen señales falsas.

En general, la estrategia aprovecha las ventajas del análisis de varios períodos de tiempo para crear una señal de comercio de alta calidad, evitando la interferencia del ruido del mercado a corto plazo, al tiempo que asegura que las tendencias de la línea media y larga cumplen con las expectativas.

Análisis de las ventajas estratégicas

  1. Breaking key support or resistance to capture mid-long line trends (Sobrevivir los puntos clave de soporte o resistencia para capturar las tendencias de la línea media y larga)

La estrategia monitoriza las rupturas de precios clave en dos ejes temporales y puede capturar momentos de entrada claros en las etapas iniciales de la tendencia.

  1. Confirmación doble para reducir las señales de error

La brecha simultánea en dos ejes de tiempo diferentes puede reducir considerablemente la señal errónea causada por la oscilación aleatoria y mejorar la calidad de la señal.

  1. Filtración de la junta inversa y el filtro de color K

La adición de un ajuste inverso y la determinación de la línea K de color puede filtrar algunas brechas de baja calidad y evitar pérdidas graves.

  1. Establecimiento de parámetros sencillos

La estrategia requiere solo dos parámetros de la línea de tiempo para funcionar, y la selección de los parámetros es flexible y adecuada para diferentes variedades.

  1. Fácil de entender y optimizar

La estructura de la estrategia es clara, fácil de entender los principios; también se pueden ajustar los parámetros de acuerdo con las características de la situación, para optimizar la estrategia.

Análisis de riesgos estratégicos

  1. Una doble ruptura retrasa el ingreso

En comparación con las brechas individuales, las brechas dobles pueden causar un cierto retraso en la entrada, perdiendo las ganancias de las fuertes tendencias iniciales.

  1. Selección de la resistencia de soporte clave

Es muy importante elegir el precio clave adecuado para las diferentes variedades y el ciclo del mercado, de lo contrario se puede obtener una señal errónea.

  1. El fracaso de la brecha

Incluso en el caso de una doble ruptura, es posible que se produzca un fracaso de la ruptura y luego una rápida recuperación, lo que conlleva pérdidas.

  1. La pérdida de tendencia de reversión

La entrada tardía en la tendencia puede sufrir una reversión repentina y causar grandes pérdidas por no poder detener la salida a tiempo.

  1. Dificultad para optimizar los parámetros

Aunque es simple, encontrar la combinación óptima de parámetros requiere una gran cantidad de pruebas repetidas y es más difícil de optimizar.

Dirección de optimización de la estrategia

  1. Aumentar las estrategias de alto riesgo

Se puede configurar el stop loss móvil o el stop loss temporal para detener el stop loss antes de que se amplíe la pérdida.

  1. Optimización de las condiciones de filtración

Se pueden probar diferentes parámetros de amplitud de ajuste inverso, o probar otros métodos de filtrado.

  1. Dinámica de los precios clave

El precio clave puede cambiar de forma dinámica con los cambios en el mercado, en lugar de una configuración estática.

  1. Optimización de parámetros de varias variedades

Se puede optimizar la combinación óptima de parámetros de las diferentes variedades mediante el aprendizaje automático.

  1. Aumento de la cantidad y la confirmación del precio

Se puede añadir confirmación de volumen de transacciones para evitar una gran cantidad de falsas brechas.

Resumir

La estrategia en general es una estrategia de seguimiento de tendencias sencilla y práctica. Utiliza análisis de dos ejes de tiempo al mismo tiempo, entra cuando la línea media y larga cumple con las expectativas, y puede filtrar eficazmente parte del ruido. La señal de la estrategia es clara y fácil de leer, la configuración de los parámetros también es relativamente simple e intuitiva.

Código Fuente de la Estrategia
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Levels Strategy v1.0", shorttitle = "Levels str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
tf = input('W',  title = "timeframe 1")
tf2 = input('D',  title = "timeframe 2")
src = input(ohlc4, "Source")
ap = input(true, defval = true, title = "antipila")
cf = input(true, defval = true, title = "color filter")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Signals
level = request.security(syminfo.tickerid, tf, src[1])
level2 = request.security(syminfo.tickerid, tf2, src[1])
plot(level, linewidth = 3, color = silver)
plot(level2, linewidth = 3, color = gray)
up1 = close > level and ap == false ? true : low > level ? true : false
dn1 = close < level and ap == false ? true : high < level ? true : false
up2 = close > level2 and ap == false ? true : low > level2 ? true : false
dn2 = close < level2 and ap == false ? true : high < level2 ? true : false

//Trading
lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]

if up1 and up2 and (close < open or cf == false)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if dn1 and dn2 and (close > open or cf == false)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()