Esta es una estrategia de negociación cuantitativa de largo plazo que combina las ventajas de las estrategias de reversión del punto de pivote y la media móvil menos cuadrada. Sigue la tendencia principal durante un mercado alcista y determina las señales de reversión después de observar el tren superior del punto de pivote para ir largo. Al mismo tiempo, requiere que el precio de cierre esté por encima del promedio móvil menos cuadrado antes de abrir posiciones largas para hacer que la estrategia sea más estable.
La estrategia de inversión de puntos de pivote integra inversiones de puntos de pivote y estrategias de promedio móvil menos cuadrado. La estrategia de inversión de puntos de pivote calcula los precios más altos y más bajos durante un cierto número de días de negociación para obtener los rieles superior e inferior. Cuando los precios rompen el carril superior, se juzga como una señal de inversión.
Específicamente, la estrategia primero calcula el precio más alto de las últimas 3 barras y el precio más bajo de las últimas 16 barras para obtener los rieles de punto de giro superior e inferior. Se hace largo cuando se forma el rieles superior. Cuando se forma el siguiente rieles inferior, se cierran las posiciones. Al mismo tiempo, requiere que el precio de cierre sea más alto que el promedio móvil de mínimos cuadrados de 20 días antes de abrir posiciones largas.
Combina los puntos fuertes de dos estrategias para tomar decisiones comerciales más estables y fiables
La estrategia de punto de pivote juzga los puntos de reversión, mientras que LSMA filtra las falsas rupturas, reduciendo los riesgos comerciales
Sólo dura mucho tiempo, en línea con las expectativas psicológicas de la mayoría de las personas
Lógica de estrategia simple y clara, fácil de entender y optimizar
Frecuencia de negociación moderada, adecuada para operaciones a medio y largo plazo
Incapacidad para aprovechar las oportunidades en rápida disminución
Existe cierto retraso, puede perder algunas oportunidades ascendentes
Pérdidas mayores cuando la tendencia del mercado se invierte
Soluciones:
Acortar adecuadamente el ciclo de cálculo para reducir el retraso
Ajustar los parámetros de la MA para optimizar la participación
Añadir stop loss para reducir la pérdida única
Añadir múltiples indicadores de tendencia para mejorar la precisión
Incorporar predicción de aprendizaje automático para guiar las decisiones
Combinar indicadores de volatilidad para controlar el tamaño de las posiciones
Optimiza los parámetros para mejorar la tasa de ganancia
Prueba de datos de marcos de tiempo más largos para verificar la estabilidad
Esta estrategia integra los puntos fuertes de la inversión de puntos de pivote y las estrategias LSMA para controlar los riesgos al juzgar las inversiones de tendencia. Con una estructura simple para una comprensión y prueba fáciles, es perfecta para que los principiantes aprendan y practiquen. Pero su enfoque de lado largo solo evita beneficiarse de las caídas del mercado, una limitación importante. Se podrían lograr mejoras adicionales en la estabilidad y la capacidad de seguimiento mediante la introducción de más indicadores y la optimización de aprendizaje automático para un mejor rendimiento.
/*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)