Esta es una estrategia de negociación de futuros SP500 simple basada en el índice de volatilidad intradiario IBS y máximos semanales. Solo envía señales de negociación el lunes de apertura, utilizando las condiciones de IBS por debajo de 0.5 y el precio más bajo que el cierre del viernes pasado para determinar el momento de entrada. Saldrá en 5 días de negociación más tarde.
La estrategia se basa principalmente en dos indicadores:
IBS - Fortaleza de ancho intradiario, utilizada para determinar si la volatilidad del día es lo suficientemente baja. El método de cálculo es: (cerca - bajo) / (alto - bajo). Cuando el IBS está por debajo de 0,5, la volatilidad se considera baja, lo que es adecuado para ingresar.
Si el cierre de este lunes es inferior al cierre del viernes anterior, puede formar una inversión y generar oportunidades comerciales.
Las condiciones de entrada son: lunes + SII < 0,5 + cierre < el último viernes
Las condiciones de salida son: cierre en 5 días de negociación o apertura de la reversión del punto máximo al día siguiente.
Las principales ventajas de esta estrategia son las siguientes:
Esta estrategia también presenta algunos riesgos:
La estrategia se puede optimizar en los siguientes aspectos:
Aumentar la confirmación de más indicadores técnicos para mejorar la precisión de la señal, como tendencias a corto plazo mejoradas, soporte/resistencia, volumen y otras lógicas de juicio.
Establecer condiciones dinámicas de salida basadas en fluctuaciones en tiempo real para establecer el precio de stop loss o take profit.
Ampliar el marco de tiempo de negociación de la estrategia en lugar de limitarse a los lunes. Establezca razonablemente las condiciones de entrada para otros días de negociación para mejorar la cobertura de la señal.
Introduzca módulos de gestión de riesgos para controlar las reducciones utilizando estrategias de stop loss.
En general, esta estrategia es una estrategia de negociación simple a corto plazo basada en indicadores de IBS intradiarios y juicios de estructura semanal. La idea de la estrategia es clara, fácil de implementar con riesgos controlables. Pero también hay ciertas probabilidades de errores de juicio de la señal y problemas potenciales de retroceso excesivo. Los espacios de optimización futuros se encuentran en agregar más indicadores técnicos, establecer mecanismos de stop loss dinámicos, etc. Al probar y optimizar continuamente, mejora gradualmente la tasa de ganancia y la rentabilidad de la estrategia.
/*backtest start: 2023-12-15 00:00:00 end: 2024-01-14 00:00:00 period: 1h 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/ // © hobbiecode // Today is Monday. // The close must be lower than the close on Friday. // The IBS must be below 0.5. // If 1-3 are true, then enter at the close. // Sell 5 trading days later (at the close). //@version=5 strategy("Hobbiecode - SP500 IBS + Higher", overlay=true) // Check if it's Monday isMonday = dayofweek(time) == dayofweek.monday // Calculate the IBS (Intraday Breadth Strength) indicator ibs = (close - low) / (high - low) // Calculate the close on the previous Friday prevFridayClose = request.security(syminfo.tickerid, "W", close[1]) // Entry conditions enterCondition = isMonday and close < prevFridayClose and ibs < 0.5 and strategy.position_size < 1 // Exit conditions exitCondition = (close > high[1] or ta.barssince(enterCondition) == 4) and strategy.position_size > 0 // Entry signal if enterCondition strategy.entry("Buy", strategy.long) // Exit signal if exitCondition strategy.close("Buy") // Plotting the close, previous Friday's close, and entry/exit points on the chart plot(close, title="Close", color=color.blue) plot(prevFridayClose, title="Previous Friday Close", color=color.orange) plotshape(enterCondition, title="Enter", location=location.belowbar, color=color.green, style=shape.labelup, text="Enter") plotshape(exitCondition, title="Exit", location=location.abovebar, color=color.red, style=shape.labeldown, text="Exit")