Indicateur de tendance majeur Long

Auteur:ChaoZhang est là., Date: 19 février 2024 à 11 h 15 min 57.
Les étiquettes:

img

Résumé

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 logique de la stratégie

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é.

Analyse des avantages

La stratégie MTIL présente les avantages suivants:

  1. Utilise des techniques de doublement de lissage pour l'identification de tendance avec une plus grande précision
  2. Date de début du backtest personnalisable pour tester les performances historiques
  3. Paramètres personnalisables en fonction des préférences commerciales individuelles
  4. Peut être combiné avec une stratégie courte pour l'analyse multi-temporelle

Analyse des risques

La stratégie MTIL comporte également les risques suivants:

  1. Risques de négociation de tendance avec possibilité de pertes accrues
  2. Une régulation inappropriée des paramètres entraînant des occasions manquées ou des signaux erronés
  3. Nécessité de tenir compte des coûts de négociation pour éviter des transactions trop fréquentes

Certains risques peuvent être atténués par un ajustement des paramètres, un stop loss, un contrôle des coûts commerciaux, etc.

Directions d'optimisation

La stratégie MTIL peut être optimisée dans les dimensions suivantes:

  1. Test des combinaisons de différents paramètres de période pour trouver l'optimum
  2. Incorporation d'une confirmation prix-volume pour éviter les faux signaux
  3. Ajout d'autres indicateurs pour valider davantage l'élan et les mouvements intradiens afin de renforcer la confirmation du signal
  4. Établir des règles de stop loss et de prise de bénéfices pour limiter la baisse par rapport au verrouillage des bénéfices

Conclusion

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.


Plus de