Estrategia de supertendencia de puntos pivote de marcos temporales múltiples


Fecha de creación: 2024-01-31 17:29:37 Última modificación: 2024-01-31 17:29:37
Copiar: 0 Número de Visitas: 731
1
Seguir
1617
Seguidores

Estrategia de supertendencia de puntos pivote de marcos temporales múltiples

Descripción general

La estrategia combina el indicador de puntos centrales con el indicador de bandas de movimiento reales promedio para lograr un sistema de seguimiento de tendencias en más de un marco de tiempo. Puede capturar tendencias de períodos intermedios y al mismo tiempo usar los puntos centrales para determinar la resistencia de soporte a largo plazo y obtener mejores entradas y salidas.

Principio de estrategia

La estrategia se basa principalmente en dos indicadores:

  1. Indicador de puntos centrales: determina los puntos centrales superiores y inferiores mediante el cálculo del valor medio de los precios máximos, mínimos y de cierre de un ciclo determinado. Los puntos centrales pueden servir como áreas de resistencia de soporte clave.

  2. Banda de fluctuación real promedio: calcula la amplitud de fluctuación real promedio de un período determinado y mueve el canal hacia arriba y hacia abajo en el eje central, a lo largo del canal arriba y abajo puede ser una línea de deterioro dinámico.

La lógica específica de la estrategia es la siguiente:

Cuando el precio rompe el canal de la banda de fluctuación real promedio, tome la dirección de hacer más o hacer menos que coincida con la dirección de la ruptura. Cuando el precio vuelva a entrar en el canal, aplanar.

La estrategia también introdujo el concepto de la línea media de los puntos centrales. Cuando el parador rompe la línea media, es posible optar por obtener la mitad de los beneficios y controlar el riesgo.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. Diseño de marcos temporales múltiples, Determinaciones a medio y largo plazo Tendencias generales, Determinaciones a corto plazo Ingreso específico

  2. La línea central del eje puede ser una opción de control de riesgo, obteniendo la mitad de las ganancias y asegurando la rentabilidad.

  3. El canal de la banda de oscilación real promedio proporciona una posición de parada clara.

  4. La estrategia tiene menos parámetros y es fácil de optimizar para encontrar la combinación óptima de parámetros.

  5. El riesgo de una falsa brecha se ha evitado al máximo.

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. El riesgo de pérdidas es mayor cuando el mercado está en plena oscilación.

  2. Cuando las cosas se mueven, el eje central puede sufrir presiones y detenerse frecuentemente.

  3. La elección incorrecta de los parámetros puede ocasionar transacciones frecuentes o muy pocas.

  4. El precio de las acciones ha pasado recientemente por el eje central, lo que podría ser una falsa ruptura.

Dirección de optimización

La estrategia puede ser optimizada en las siguientes direcciones:

  1. Se pueden combinar más indicadores para filtrar las señales de entrada y evitar falsas rupturas. Por ejemplo, indicadores de potencia combinada, indicadores de banda de Brin, etc.

  2. Optimización de los parámetros de periodicidad de los puntos cardinales y el promedio de las bandas de onda reales para encontrar la combinación óptima de parámetros.

  3. Establezca una zona de amortiguación cerca de la línea central del eje central para evitar que la línea central se active con frecuencia.

  4. Añadir los filtros de tendencia apropiados para asegurar que las grandes tendencias funcionen en la misma dirección.

Resumir

En general, esta estrategia es una estrategia de seguimiento de tendencias muy práctica. Resolviendo la dificultad de detener los pérdidas que existen en la mayoría de los sistemas de tendencias, permite el comercio de tendencias con riesgos controlables, y es una estrategia muy recomendable. La eficacia de esta estrategia puede mejorar aún más con la optimización y mejora adecuadas.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © LonesomeTheBlue

//@version=4
strategy("Pivot Point SuperTrend [Backtest]", overlay = true)
prd = input(defval = 2, title="Pivot Point Period", minval = 1, maxval = 50)
Factor=input(defval = 3, title = "ATR Factor", minval = 1, step = 0.1)
Pd=input(defval = 10, title = "ATR Period", minval=1)
usecenter = input(defval = false, title="Use Center Line to Close Entry for 50%")
showpivot = input(defval = false, title="Show Pivot Points")
showcl = input(defval = false, title="Show PP Center Line")


float ph = na
float pl = na
ph := pivothigh(prd, prd)
pl := pivotlow(prd, prd)

plotshape(ph and showpivot, text="H",  style=shape.labeldown, color=na, textcolor=color.red, location=location.abovebar, transp=0, offset = -prd)
plotshape(pl and showpivot, text="L",  style=shape.labeldown, color=na, textcolor=color.lime, location=location.belowbar, transp=0, offset = -prd)

float center = na
center := center[1]
float lastpp = ph ? ph : pl ? pl : na
if lastpp
    if na(center)
        center := lastpp
    else
        center := (center * 2 + lastpp) / 3

Up = center - (Factor * atr(Pd))
Dn = center + (Factor * atr(Pd))

float TUp = na
float TDown = na
Trend = 0
TUp := close[1] > TUp[1] ? max(Up, TUp[1]) : Up
TDown := close[1] < TDown[1] ? min(Dn, TDown[1]) : Dn
Trend := close > TDown[1] ? 1: close < TUp[1]? -1: nz(Trend[1], 1)
Trailingsl = Trend == 1 ? TUp : TDown

linecolor = Trend == 1 and nz(Trend[1]) == 1 ? color.lime : Trend == -1 and nz(Trend[1]) == -1 ? color.red : na
plot(Trailingsl, color = linecolor ,  linewidth = 2, title = "PP SuperTrend")

plot(showcl ? center : na, color = showcl ? center < hl2 ? color.blue : color.red : na, transp = 0)

bsignal = Trend == 1 and Trend[1] == -1
ssignal = Trend == -1 and Trend[1] == 1

if bsignal
    strategy.entry("Buy", true, 2, comment = "Buy")
if ssignal
    strategy.entry("Sell", false, 2, comment = "Sell")

if strategy.position_size == 2 and center > hl2 and usecenter
    strategy.close("Buy", qty_percent = 50, comment = "close buy entry for 50%")
if strategy.position_size == -2 and center < hl2 and usecenter
    strategy.close("Sell", qty_percent = 50, comment = "close sell entry for 50%")
    
if change(Trend)
    strategy.close_all()