Esta estrategia optimiza la estrategia tradicional de inversión de puntos de pivote mediante el cálculo del ATR y la configuración de filtros ATR para eliminar los puntos de pivote insignificantes, operando solo en los verdaderamente significativos.
La lógica central es identificar los puntos de pivote significativos de picos y bajos.
La lógica para el cálculo de los pivotes mínimos significativos es similar.
Después de obtener los pivotes significativos, vaya corto cuando el precio rompe un pivote de pico importante, y vaya largo cuando rompe un pivote de fondo importante.
Las principales ventajas de esta estrategia son las siguientes:
Los principales riesgos son:
Para controlar los riesgos anteriores, optimizar desde los siguientes aspectos:
Otras direcciones de optimización incluyen:
Combinar con otros indicadores para determinar el régimen del mercado, evitando inversiones comerciales en los mercados de tendencia.
Añadir algoritmos de aprendizaje automático para optimizar automáticamente los parámetros.
Modelos de entrenamiento que utilizan datos cuantitativos para encontrar el rango óptimo de ATR. Más datos históricos mejoran la precisión de selección de parámetros.
Considere combinar con otras estrategias, utilizando las fortalezas de diferentes tipos de estrategias. Por ejemplo, combinar con una estrategia de tendencia, revertir durante el rango, seguir la tendencia durante las tendencias sostenidas.
Esta estrategia de inversión de pivote significativo filtra las fluctuaciones menores sin sentido mediante el cálculo de ATR y la configuración de filtros. Solo las inversiones comerciales en pivotes significativos pueden mejorar efectivamente la rentabilidad de la estrategia. Mientras tanto, también aumenta la dificultad de optimización de parámetros. Los parámetros óptimos deben encontrarse considerando de manera integral el rango ATR, las relaciones stop loss / take profit, etc. Si se optimiza a fondo, puede convertirse en una estrategia de trading a corto plazo altamente eficiente y estable.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("QuantNomad - Significant Pivot Reversal Strategy", shorttitle = "SPPS", overlay=true) // Inputs leftBars = input(4, title = 'PP Left Bars') rightBars = input(2, title = 'PP Right Bars') atr_length = input(14, title = 'ATR Length') atr_mult = input(0.1, title = 'ATR Mult') // Pivot High Significant Function pivotHighSig(left, right) => pp_ok = true atr = atr(atr_length) for i = 1 to left if (high[right] < high[right+i] + atr * atr_mult) pp_ok := false for i = 0 to right-1 if (high[right] < high[i] + atr * atr_mult) pp_ok := false pp_ok ? high[right] : na // Pivot Low Significant Function pivotLowSig(left, right) => pp_ok = true atr = atr(atr_length) for i = 1 to left if (low[right] > low[right+i] - atr * atr_mult) pp_ok := false for i = 0 to right-1 if (low[right] > low[i] - atr * atr_mult) pp_ok := false pp_ok ? low[right] : na swh = pivotHighSig(leftBars, rightBars) swl = pivotLowSig (leftBars, rightBars) swh_cond = not na(swh) hprice = 0.0 hprice := swh_cond ? swh : hprice[1] le = false le := swh_cond ? true : (le[1] and high > hprice ? false : le[1]) if (le) strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick) 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]) if (se) strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)