A estratégia do Major Trend Indicator Long (MTIL) é projetada para uso em vários instrumentos financeiros, incluindo criptomoedas como BTCUSD e ETHUSD, bem como ações tradicionais como AAPL.
A estratégia MTIL utiliza parâmetros otimizados para calcular os preços mais altos e mais baixos dentro de períodos de retrospectiva definidos.
Especificamente, ele primeiro deriva os preços mais altos e mais baixos em determinados períodos. Estes são então suavizados usando regressão linear com diferentes coeficientes. Isso resulta na criação de limites superiores e inferiores. Quando os preços mais altos suavizados quebram a faixa superior, os preços mais baixos suavizados quebram a faixa inferior, e a regressão linear de curto prazo dos preços de fechamento está acima da do longo prazo - um sinal de alta é gerado.
A estratégia MTIL tem as seguintes vantagens:
A estratégia MTIL comporta igualmente os seguintes riscos:
Alguns riscos podem ser mitigados através de ajustamento de parâmetros, stop loss, controlo dos custos comerciais, etc.
A estratégia MTIL pode ser otimizada nas seguintes dimensões:
O MTIL é uma estratégia lateral longa que utiliza técnicas de regressão linear para detectar as principais tendências. Através do ajuste de parâmetros, ele pode ser adaptado em vários ambientes de mercado. Quando combinado com uma estratégia lateral curta, ele oferece uma análise mais abrangente.
/*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.