Este es un enfoque sistemático diseñado para capitalizar la volatilidad de los mercados de futuros de petróleo crudo. Mide el rango promedio de las velas. Si el promedio móvil rápido está por encima del lento, significa que las velas son más grandes. Si el promedio móvil lento está por encima del rápido, significa que las velas son más pequeñas.
De acuerdo con este principio, identifica los puntos de entrada potenciales largos y cortos.
Esta estrategia utiliza la ruptura y la regresión para determinar tendencias a corto plazo, pertenecientes a las estrategias de volatilidad. Al optimizar los parámetros y agregar métricas de volatilidad para determinar la probabilidad de falsa ruptura, puede aumentar la rentabilidad. También el mecanismo de salida rápida bloquea algunos beneficios y controla los riesgos de manera efectiva. Puede servir como una herramienta auxiliar para el comercio a corto plazo, y también puede generar señales comerciales a largo plazo a través de la sintonización de parámetros.
/*backtest start: 2024-02-01 00:00:00 end: 2024-02-29 23:59:59 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Celestial_Logic //@version=5 strategy("Crudeoil Breakout strategy", overlay = true, initial_capital = 20000, default_qty_type = strategy.fixed, default_qty_value = 1) highestCloseLookback = input(9 , title = 'Highest Close lookback') lowestCloseLookback = input(50, title = 'Lowest Close lookback' ) exitAfter = input(10, title = 'Exit after bars') hc = ta.highest(close,highestCloseLookback) lc = ta.lowest(close,lowestCloseLookback) rangeFilter = (ta.sma( (high - low), 5 ) > ta.sma((high-low), 20) ) // Candles getting bigger. longCondition = (close == hc ) and not rangeFilter shortCondition = (close == lc ) and not rangeFilter if longCondition strategy.entry(id = 'long', direction = strategy.long) if shortCondition strategy.entry(id = 'short', direction = strategy.short) var int longsince = 0 var int shortsince = 0 if strategy.position_size > 0 longsince += 1 else longsince := 0 if strategy.position_size < 0 shortsince += 1 else shortsince := 0 if longsince >= exitAfter strategy.close(id = 'long', comment = 'long close') if shortsince >= exitAfter strategy.close(id = 'short', comment = 'short close')