Estrategia cuantitativa de seguimiento de tendencias basada en la optimización de parámetros


Fecha de creación: 2024-01-02 11:01:22 Última modificación: 2024-01-02 11:01:22
Copiar: 0 Número de Visitas: 682
1
Seguir
1621
Seguidores

Estrategia cuantitativa de seguimiento de tendencias basada en la optimización de parámetros

Descripción general

La idea principal de esta estrategia es combinar el indicador percentrank y la optimización de los parámetros para permitir el juicio y el seguimiento de la tendencia de los precios. La estrategia genera señales de negociación mediante la comparación del precio actual con el porcentaje de tamaño de los precios en un período histórico determinado, para capturar el efecto de espejo intermedio, seguir la tendencia y obtener ganancias adicionales.

Principio de estrategia

La estrategia utiliza el indicador percentrank para determinar la tendencia de los precios. El percentrank indica la fuerza relativa de los precios actuales en el período de observación. El parámetro len indica la longitud del período histórico de observación.

El porcentaje de rango está entre 0 y 100. Cuando el porcentaje de rango está cerca de 0, el precio actual está cerca del precio más bajo del período de revisión y está en la zona de subestimación. Cuando está cerca de 100, el precio actual está cerca del precio más alto del período de revisión y está en la zona de subestimación.

La estrategia también introdujo el parámetro de escala como desplazamiento. Hacía que el rango de 0 a 100 se moviera a escala hasta el rango de escala 100+. Al mismo tiempo, se establecieron dos líneas de señal level_1 y level_2 .

Cuando el indicador de porcentaje de precio atraviesa el nivel_1 desde abajo, se genera una señal de compra; cuando atraviesa el nivel_2 desde arriba, se genera una señal de compra. Las condiciones de posición cerrada son opuestas a las de entrada.

Ventajas estratégicas

  1. Utiliza el indicador percentrank para determinar la intensidad de la tendencia de precios y evitar quedarte atrapado y seguir adelante
  2. Métodos de optimización de parámetros aplicados, ajuste de la escala de desviación y el umbral de la línea de señal, ajuste de parámetros para diferentes variedades y períodos, mejora de la estabilidad
  3. La combinación de seguimiento de tendencias y el pensamiento inverso de las operaciones, para seguir la tendencia en el tiempo después de la ruptura de la línea de señal

Análisis de riesgos

  1. La tendencia de error de juicio lleva a pérdidas innecesarias
  2. Las tendencias de fluctuación de los precios no son claras y son propensas a generar señales erróneas
  3. La configuración incorrecta de los parámetros puede causar una frecuencia o un volumen insuficiente de transacciones

Para los riesgos anteriores, se puede optimizar mediante el ajuste de la configuración de los parámetros len, scale y level; al mismo tiempo, se puede combinar con otros indicadores como confirmación y evitar transacciones erróneas.

Dirección de optimización

La estrategia tiene espacio para ser optimizada aún más:

  1. Se puede introducir un punto de parada para reducir las pérdidas individuales
  2. Se puede combinar con indicadores como la media móvil para confirmar y filtrar algunas señales falsas.
  3. Parámetros de optimización automática que pueden combinarse con métodos de aprendizaje automático
  4. Se puede ejecutar simultáneamente en varios períodos de tiempo

Resumir

La estrategia tiene una concepción clara, utiliza métodos cuantitativos de optimización de parámetros para determinar y rastrear las tendencias de los precios. Tiene cierto valor en la práctica, pero aún necesita ser probado y optimizado para reducir el riesgo en la práctica y mejorar la estabilidad de la rentabilidad.

Código Fuente de la Estrategia
/*backtest
start: 2023-12-02 00:00:00
end: 2024-01-01 00:00:00
period: 4h
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/
// © Alex_Dyuk

//@version=4
strategy(title="percentrank", shorttitle="percentrank")
src = input(close, title="Source")
len = input(title="lookback - Период сравнения", type=input.integer, defval=10, minval=2)
scale = input(title="scale offset - смещение шкалы", type=input.integer, defval=50, minval=0, maxval=100)
level_1 = input(title="sygnal line 1", type=input.integer, defval=30)
level_2 = input(title="sygnal line 2", type=input.integer, defval=-30)

prank = percentrank(src,len)-scale
plot(prank, style = plot.style_columns)
plot(level_2, style = plot.style_line, color = color.red)
plot(level_1, style = plot.style_line, color = color.green)

longCondition = (crossunder(level_1, prank) == true)
if (longCondition)
    strategy.entry("Long", strategy.long)
longExitCondition = (crossover(level_2, prank) == true)
if (longExitCondition)
    strategy.close("Long")
    
shortCondition = (crossover(level_2, prank) == true)
if (shortCondition)
    strategy.entry("Short", strategy.short)
shortexitCondition = (crossunder(level_1, prank) == true)
if (shortexitCondition)
    strategy.close("Short")