Estrategia de seguimiento de supertendencias de doble marco de tiempo

El autor:¿ Qué pasa?, Fecha: 2023-09-22 14:27:52
Las etiquetas:

Resumen general

Esta es una estrategia de seguimiento de Supertrend de doble marco de tiempo. Aplica los indicadores de Supertrend en dos períodos de tiempo diferentes, uno como el marco de tiempo principal para determinar la dirección de la tendencia, y otro como el marco de tiempo auxiliar para filtrar entradas. Solo entra cuando las Supertrends en ambos marcos de tiempo están en la misma dirección, para capturar con mayor precisión los puntos de inversión de la tendencia.

Estrategia lógica

El indicador central de esta estrategia es Supertrend. Supertrend determina la dirección de tendencia relativa de los precios mediante el cálculo de la volatilidad de los precios. La estrategia utiliza Supertrend en dos períodos de tiempo, calculando las líneas de Supertrend para los marcos de tiempo principales y auxiliares respectivamente.

La lógica de negociación específica es:

  1. Utilice la dirección del marco temporal principal Supertrend como la dirección general de la tendencia.

  2. Introducir cuando el marco temporal auxiliar Supertrend emita una señal en la misma dirección.

  3. Establezca el stop loss y tome puntos de ganancia.

  4. Salida cuando el marco de tiempo principal Supertrend gire de nuevo.

Al combinar dos indicadores de los marcos de tiempo, algunas divergencias pueden filtrarse para obtener una entrada más precisa.

Análisis de ventajas

Las ventajas de esta estrategia incluyen:

  1. La combinación de dos marcos de tiempo permite un juicio de tendencia más preciso.

  2. Supertrend es sensible a los cambios de tendencia, con una entrada precisa.

  3. Detener pérdidas y tomar el riesgo de control de ganancias.

  4. Lógica estratégica simple y directa, fácil de entender.

  5. Los parámetros se pueden personalizar para diferentes productos.

Análisis de riesgos

Los principales riesgos son:

  1. El retraso de la super tendencia puede causar señales mal juzgadas.

  2. El valor de las pérdidas de detención y de las ganancias de toma incorrectas puede causar tendencias de exceso de búsqueda o pérdidas de detención prematuras.

  3. El doble marco de tiempo puede perder algunas reversiones más cortas.

  4. La optimización de parámetros se basa en datos históricos, existen riesgos de sobreajuste.

  5. No hay consideración de los costos de transacción.

Las soluciones son:

  1. Ajustar los parámetros de los indicadores, añadir otros indicadores para la verificación de la combinación.

  2. Optimice dinámicamente el stop loss y tome ganancias basándose en los resultados de las pruebas de retroceso.

  3. Prueba marcos de tiempo más cortos como juicio auxiliar.

  4. Ampliar el rango de datos de las pruebas de retroceso, verificación de pruebas de retroceso en múltiples mercados.

  5. Agregue los costos de transacción como comisión y deslizamiento.

Direcciones de optimización

La estrategia se puede optimizar aún más mediante:

  1. Probando más combinaciones de indicadores para encontrar la combinación óptima.

  2. Usando el aprendizaje automático para optimizar dinámicamente los parámetros.

  3. Optimizar el stop loss y tomar ganancias para mejores relaciones riesgo-recompensa.

  4. Intento combinar más marcos de tiempo.

  5. Ajuste de los rangos de toma de ganancias y stop loss en función del número de operaciones.

  6. Añadiendo comisión y lógica de deslizamiento.

  7. Desarrollo de herramientas de optimización de parámetros gráficos.

Conclusión

Esta estrategia logra un juicio y entradas de tendencia relativamente precisas mediante el uso de indicadores de Supertrend de doble marco de tiempo. Controla los riesgos estableciendo stop loss y take profit. La lógica de la estrategia es simple y clara, fácil de ampliar y optimizar. Se puede mejorar aún más introduciendo más indicadores, optimizando dinámicamente los parámetros, agregando costos de transacción, etc. para hacerlo más robusto. En general, esta estrategia proporciona una idea útil de seguimiento de tendencias de doble marco de tiempo que tiene un buen valor de referencia.


/*backtest
start: 2023-08-22 00:00:00
end: 2023-09-21 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Supertrend Strategy by breizh29 using *rajandran.r* Supertrend Indicator

// strategy("Super Trend 2", overlay=true, default_qty_value=100)
TrendUp = 0.0
TrendDown = 0.0
Trend = 0.0
MTrendUp = 0.0
MTrendDown = 0.0
MTrend = 0.0

res = input(title="Main SuperTrend Time Frame",  defval="120")
Factor=input(1, minval=1,maxval = 100)
Pd=input(1, minval=1,maxval = 100)

tp = input(500,title="Take Profit")
sl = input(400,title="Stop Loss")


Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
MUp=security(syminfo.tickerid,res,hl2-(Factor*atr(Pd)))
MDn=security(syminfo.tickerid,res,hl2+(Factor*atr(Pd)))

Mclose=security(syminfo.tickerid,res,close)

TrendUp:=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown:=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn

MTrendUp:=Mclose[1]>MTrendUp[1]? max(MUp,MTrendUp[1]) : MUp
MTrendDown:=Mclose[1]<MTrendDown[1]? min(MDn,MTrendDown[1]) : MDn

Trend := close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown

MTrend := Mclose > MTrendDown[1] ? 1: Mclose< MTrendUp[1]? -1: nz(MTrend[1],1)
MTsl = MTrend==1? MTrendUp: MTrendDown

linecolor = Trend == 1 ? green : red
plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")

Mlinecolor = MTrend == 1 ? blue : orange
plot(MTsl, color = Mlinecolor , style = line , linewidth = 2,title = "Main SuperTrend")

plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0)
plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0)

up = Trend == 1 and Trend[1] == -1 and MTrend == 1 
down = Trend == -1 and Trend[1] == 1 and MTrend == -1 
plotarrow(up ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0)
plotarrow(down ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0)


golong = Trend == 1 and Trend[1] == -1 and MTrend == 1 
goshort = Trend == -1 and Trend[1] == 1 and MTrend == -1 

strategy.entry("Buy", strategy.long,when=golong)
strategy.exit("Close Buy","Buy",profit=tp,loss=sl)
   
   
strategy.entry("Sell", strategy.short,when=goshort)
strategy.exit("Close Sell","Sell",profit=tp,loss=sl)



Más.