Estrategia de backtesting de la línea de extensión de precios futuros


Fecha de creación: 2024-02-05 14:00:01 Última modificación: 2024-02-05 14:00:01
Copiar: 0 Número de Visitas: 737
1
Seguir
1617
Seguidores

Estrategia de backtesting de la línea de extensión de precios futuros

Descripción general

La idea principal de esta estrategia es determinar la dirección de los precios futuros mediante el trazado de una línea de extensión de precios futuros y la relación de los precios actuales con esta línea. Cuando el precio está por encima o por debajo de la línea de extensión, se puede hacer más o menos.

Principio de estrategia

Las Líneas de Demarcación Futuras (FLD) representan el precio medio, el precio más alto o el precio más bajo en un período específico en el futuro. La estrategia utiliza las Líneas de Demarcación Futuras (FLD) para determinar el movimiento futuro de los precios.

  1. De acuerdo con la longitud del ciclo, se calcula el período de desplazamiento de FLD, es decir, el precio futuro de Price.
  2. Compara el precio de cierre actual con el precio después del período de desplazamiento de FLD.
    • Cuando el precio de cierre es inferior al precio futuro del FLD, se considera una señal de alza.
    • Cuando el precio de cierre es más alto que el precio futuro del FLD, se considera una señal bajista.
  3. En función de las señales de alza y baja, se realizan las operaciones de plus/minus correspondientes.

Análisis de las ventajas

Las principales ventajas de esta estrategia son:

  1. El uso de FLD para determinar el movimiento futuro de los precios es más preciso.
  2. Parámetros de ciclo personalizables para diferentes entornos de mercado.
  3. Se puede elegir el precio medio, el precio más alto o el precio más bajo como fuente de dibujo de FLD.

Análisis de riesgos

Los principales riesgos de esta estrategia son:

  1. El FLD por sí mismo puede fallar, causando oportunidades perdidas o señales erróneas. Se puede combinar con otros indicadores.
  2. Los parámetros de ciclo no están configurados correctamente, lo que puede causar demasiadas señales erróneas. Se necesita optimizar la longitud del ciclo.
  3. Los eventos repentinos provocan una fluctuación brusca de los precios, y las predicciones de la FLD no funcionan. Se puede establecer un stop loss para controlar el riesgo.

Dirección de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. En combinación con otras señales de filtración de indicadores, mejora la precisión de la estrategia. Por ejemplo, MACD, KDJ, etc.
  2. Optimización de los parámetros de ciclo para encontrar la combinación óptima de parámetros.
  3. Aumentar el mecanismo de suspensión de pérdidas y controlar las pérdidas y ganancias individuales.
  4. De acuerdo con los resultados de la retroalimentación, ajuste la regla de hacer más vacío para reducir la señal de error.

Resumir

Esta estrategia es una estrategia típica de seguimiento de tendencias mediante la comparación de los precios con las líneas de extensión de precios futuros después del desplazamiento. En general, la lógica es clara y fácil de entender, y el riesgo de implementación es menor.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/02/2017
//  An FLD is a line that is plotted on the same scale as the price and is in fact the 
//  price itself displaced to the right (into the future) by (approximately) half the 
//  wavelength of the cycle for which the FLD is plotted. There are three FLD's that can be 
//  plotted for each cycle:
//    An FLD based on the median price.
//    An FLD based on the high price.
//    An FLD based on the low price.
///////////////////////////////////////////////////////////////////
strategy(title="FLD's - Future Lines of Demarcation", overlay=true)
Period = input(title="Period", defval=40)
src = input(title="Source", defval=hl2)
reverse = input(false, title="Trade reverse")
FLD = src
pos = iff(FLD[Period] < close , 1,
       iff(FLD[Period] > close, -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)
plot(FLD, title="FLD", style=line, linewidth=1, color=black, offset = Period)