L'indicateur de tendance majeur long (MTIL) est conçu pour être utilisé sur divers instruments financiers, y compris les crypto-monnaies comme le BTCUSD et l'ETHUSD, ainsi que les actions traditionnelles telles que l'AAPL. Il vise à identifier les tendances haussières potentielles pour entrer dans des positions longues.
La stratégie MTIL utilise des paramètres optimisés pour calculer les prix les plus élevés et les plus bas au cours de périodes de rétrospective définies.
Plus précisément, il déduit d'abord les prix les plus élevés et les plus bas au cours de périodes données. Ceux-ci sont ensuite lissés en utilisant une régression linéaire avec des coefficients différents. Cela entraîne la création de limites supérieures et inférieures. Lorsque les prix les plus élevés lissés franchissent la bande supérieure, les prix les plus bas lissés franchissent la bande inférieure, et la régression linéaire à court terme des prix de clôture est supérieure à celle à long terme - un signal haussier est généré.
La stratégie MTIL présente les avantages suivants:
La stratégie MTIL comporte également les risques suivants:
Certains risques peuvent être atténués par un ajustement des paramètres, un stop loss, un contrôle des coûts commerciaux, etc.
La stratégie MTIL peut être optimisée dans les dimensions suivantes:
Le MTIL est une stratégie à long terme qui utilise des techniques de régression linéaire pour repérer les tendances majeures.
/*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.