Estrategia de equilibrio entre posiciones largas y cortas basada en puntos pivote y promedios móviles de mínimos cuadrados


Fecha de creación: 2023-12-25 17:47:11 Última modificación: 2023-12-25 17:47:11
Copiar: 0 Número de Visitas: 597
1
Seguir
1623
Seguidores

Estrategia de equilibrio entre posiciones largas y cortas basada en puntos pivote y promedios móviles de mínimos cuadrados

Descripción general

Esta es una estrategia de comercio cuantitativa que solo hace múltiples cabezas, que combina las ventajas de la estrategia de inversión de puntos centrales y la estrategia de mínimos de dos veces el promedio móvil. La estrategia entra en juego siguiendo la tendencia principal en un mercado alcista, y hace más señales de reversión después de observar la formación de trayectorias en los puntos centrales; al mismo tiempo, requiere que el precio de cierre sea superior al mínimo de dos veces el promedio móvil para abrir más posiciones, lo que hace que la estrategia sea más estable.

Principio de estrategia

La estrategia combina la estrategia de inversión de puntos centrales y la estrategia de mínimos de doble movimiento. La estrategia de inversión de puntos centrales calcula los precios más altos y más bajos de los últimos días de negociación, obteniendo subidas y bajadas.

Concretamente, la estrategia calcula primero los precios más altos de las últimas 3 líneas K y los precios más bajos de las últimas 16 líneas K, obteniendo el punto de eje de la subida y bajada. Al formarse la subida, abre más posiciones; al formarse la bajada, baja las posiciones. Al mismo tiempo, requiere que el precio de cierre sea superior a la media móvil mínima multiplicada por dos de los últimos 20 días.

Ventajas estratégicas

  1. La combinación de las ventajas de las dos estrategias para una toma de decisiones más estable y confiable

  2. La estrategia de puntos centrales permite determinar el punto de inflexión, minimizar las brechas falsas de filtración de promedios móviles por doble mínimo y reducir el riesgo de transacción

  3. La mayoría de las personas tienen expectativas psicológicas de que el trabajo sea más complejo.

  4. Las estrategias son simples, claras, fáciles de entender y optimizar

  5. Frecuencia de transacción moderada, adecuada para operaciones de línea media larga

Análisis de riesgos

  1. No aprovechar la oportunidad de una rápida caída del mercado

  2. Hay un cierto retraso y se puede perder parte de la oportunidad de ganar dinero

  3. El cambio en el toro y el oso produce mayores pérdidas

La solución:

  1. Reducir adecuadamente el ciclo de cálculo y reducir los retrasos

  2. Ajustar los parámetros de las medias móviles para optimizar la participación

  3. Aumentar las estrategias de detener las pérdidas y reducir las pérdidas individuales

Dirección de optimización

  1. Incorporación de un conjunto de indicadores de tendencias para mejorar la precisión de los juicios

  2. Aumentar las predicciones de los modelos de aprendizaje automático para guiar la toma de decisiones

  3. Indicadores de volatilidad para controlar el tamaño de las posiciones

  4. Optimización de los parámetros para mejorar la estrategia

  5. Prueba de datos de ciclo más largo para verificar la estabilidad

Resumir

Esta estrategia integra las ventajas de la estrategia de inversiones de puntos centrales y la estrategia de mínimos de dos veces el promedio móvil, mientras que el control de riesgo en el juicio de la tendencia de inversión, es una estrategia de tipo robusto. Es una estrategia de estructura simple, fácil de entender y probar, muy adecuado para el aprendizaje y la práctica de los principiantes de comercio cuantitativo.

Código Fuente de la Estrategia
/*backtest
start: 2022-12-18 00:00:00
end: 2023-12-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//@author exlux99

strategy(title = "Pivot Reversal Upgraded long only", overlay = true,  pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.1)
/////////////
//time

fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2010, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2031, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
//

length = input(title="Length MA", type=input.integer, defval=20)
offset = 0//input(title="Offset", type=input.integer, defval=0)
src = input(close, title="Source")
lsma = linreg(src, length, offset)

//LSMA
leftBars = input(3)
rightBars = input(16)
swh = pivothigh(leftBars, rightBars)
swl = pivotlow(leftBars, rightBars)
swh_cond = not na(swh)
hprice = 0.0
hprice := swh_cond ? swh : hprice[1]
le = false
le := swh_cond and time_cond? true : (le[1] and high > hprice ? false : le[1])
//leverage
multiplier=input(1.0, step=0.5)
g(v, p) => round(v * (pow(10, p))) / pow(10, p)
risk     = input(100)
leverage = input(1.0, step = 0.5)
c = g((strategy.equity * leverage / open) * (risk / 100), 4)

//entry
strategy.entry("long", strategy.long,c, when=le and close > lsma, comment="long", stop=(hprice + syminfo.mintick) * multiplier)

    
swl_cond = not na(swl)
lprice = 0.0
lprice := swl_cond ? swl : lprice[1]
se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])
strategy.close("long", when=se)