La estrategia de Indicador de tendencia mayor (MTIL) está diseñada para su uso en varios instrumentos financieros, incluidas criptomonedas como BTCUSD y ETHUSD, así como acciones tradicionales como AAPL. Su objetivo es identificar tendencias alcistas potenciales para ingresar a posiciones largas.
La estrategia MTIL utiliza parámetros optimizados para calcular los precios más altos y más bajos dentro de períodos de retroceso definidos.
Específicamente, primero deriva los precios más altos y más bajos en periodos dados. Estos se suavizan luego utilizando regresión lineal con diferentes coeficientes. Esto resulta en la creación de límites superiores e inferiores. Cuando los precios más altos suavizados rompen la banda superior, los precios más bajos suavizados rompen la banda inferior, y la regresión lineal a corto plazo de los precios de cierre está por encima de la del largo plazo - se genera una señal alcista.
La estrategia MTIL tiene las siguientes ventajas:
La estrategia MTIL también conlleva los siguientes riesgos:
Algunos riesgos pueden mitigarse mediante el ajuste de parámetros, el stop loss, el control de los costes comerciales, etc.
La estrategia MTIL se puede optimizar en las siguientes dimensiones:
El MTIL es una estrategia de lado largo que aprovecha técnicas de regresión lineal para detectar tendencias importantes. A través del ajuste de parámetros se puede adaptar a varios entornos de mercado. Cuando se combina con una estrategia de lado corto, ofrece un análisis más completo.
/*backtest start: 2023-02-12 00:00:00 end: 2024-02-18 00:00:00 period: 1d basePeriod: 1h 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/ // © jensenvilhelm //@version=5 strategy("Major Trend Indicator Long", shorttitle='MTIL', overlay = true) startDate = timestamp("2001 06 18") // Sets the start date for the strategy. // Optimized parameters length_high = 5 length_low = 5 linReg_st = 3 linReg_st1 = 23 linReg_lt = 75 // Defines key parameters for the strategy. X_i = ta.highest(high, length_high) Y_i = ta.lowest(low, length_low) // Calculates the highest and lowest price values within the defined lookback periods. x_y = ta.linreg(X_i + high, linReg_st1, 1) y_x = ta.linreg(Y_i + low, linReg_lt, 1) // Applies linear regression to smoothed high and low prices. upper = ta.linreg(x_y, linReg_st1, 6) lower = ta.linreg(y_x, linReg_st1, 6) // Determines upper and lower bounds using linear regression. upperInside = upper < y_x and upper > x_y lowerInside = lower > y_x and lower < x_y y_pos = (upper + lower) / 4 X_i1 = ta.highest(high, length_high) Y_i1 = ta.lowest(low, length_low) bull = x_y > upper and y_x > lower and ta.linreg(close, linReg_st, 1) > ta.linreg(close, linReg_lt, 5) // Defines a bullish condition based on linear regression values and price bounds. plotshape(series=(bull) ? y_pos : na, style=shape.circle, location=location.absolute, color=color.rgb(41, 3, 255, 40), size=size.tiny) if (time >= startDate) if (bull) strategy.entry("Long", strategy.long) if not (bull) strategy.close("Long") // Controls the strategy's execution based on the bullish condition and the start date.