Stratégie de super-tendance adaptative à trois facteurs

Auteur:ChaoZhang est là., Date: 2024-01-26 16:33:37
Les étiquettes:

img

Résumé

La logique de la stratégie

L'idée de base de la stratégie de supertrend adaptative triple est de combiner plusieurs indicateurs de supertrend pour identifier les tendances du marché, aller long lorsque les tendances sont d'accord et sortir des positions lorsque les tendances sont inversées.

Plus précisément, la stratégie utilise trois indicateurs de Supertrend:

  1. Supertrend 1: période ATR = 12, facteur = 3
  2. Supertrend 2: période ATR = 10, facteur = 1
  3. Supertendance 3: période ATR = 11, facteur = 2

Donc la logique spécifique du commerce est:

  1. Ouvrir long lorsque les trois Supertrends montrent des signaux haussiers dans la fourchette de dates
  2. Surveiller les Supertrends pour les signaux de renversement en position longue
  3. Sortez long si une Supertrend tourne à la baisse
  4. Profitez à 10% ou arrêtez la perte à 1%

Cette logique vise à capturer les bénéfices des tendances haussières dans la fourchette de dates tout en contrôlant le risque à la baisse avec le stop loss.

Analyse des avantages

La stratégie adaptative de la super-tendance triple présente plusieurs avantages clés:

  1. La combinaison de plusieurs Supertrends donne un jugement de tendance plus précis et réduit les faux signaux
  2. Le Supertrend lui-même filtre le bruit, réduisant les effets des oscillations
  3. Les paramètres peuvent être ajustés pour s'adapter aux différents environnements du marché
  4. Les paramètres de prise de profit et de stop-loss bloquent les profits et réduisent les pertes lorsque les tendances s'inversent

En résumé, cette stratégie fonctionne excellemment comme une stratégie de suivi de tendance de base pour aider le trading manuel.

Analyse des risques

En dépit de ses nombreux atouts, la stratégie de super-tendance adaptative triple présente certains risques clés à noter:

  1. Les fluctuations massives du marché peuvent donner de mauvais signaux
  2. Un mauvais réglage des paramètres affecte les performances
  3. Le risque peut ne pas être maîtrisé en cas de faible stop loss
  4. Un mauvais temps d'entrée peut entraîner des pertes

Ces risques peuvent être atténués par:

  1. Ajout d'autres indicateurs pour évaluer les oscillations
  2. Optimisation des paramètres pour les différents marchés
  3. Augmentation du pourcentage de stop loss pour assurer l'efficacité
  4. Utilisation d'indicateurs plus stables pour les signaux d'entrée

Des possibilités d'amélioration

En tant que stratégie de suivi de tendance polyvalente, la Supertendance Adaptive Triple a beaucoup de place pour l'amélioration:

  1. Optimisation dynamique des paramètres de Supertrend
  2. Ajout d'autres indicateurs pour améliorer les délais d'entrée
  3. Optimisation ultérieure des profits et des arrêts de perte basés sur des backtests
  4. J'essaie de sortir pour entrer avec Supertrend pour la direction de la tendance

Grâce à ces optimisations, la stratégie peut maintenir des performances stables dans un plus grand nombre d'environnements de marché et obtenir des facteurs de profit plus élevés.

Conclusion


/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Custom Supertrend Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15, shorttitle="Supertrend Strategy")

// Define the parameters for Supertrend 1
factor1 = input.float(3.0, "Factor 1", step = 0.01)
atrPeriod1 = input(12, "ATR Length 1")

// Define the parameters for Supertrend 2
factor2 = input.float(1.0, "Factor 2", step = 0.01)
atrPeriod2 = input(10, "ATR Length 2")

// Define the parameters for Supertrend 3
factor3 = input.float(2.0, "Factor 3", step = 0.01)
atrPeriod3 = input(11, "ATR Length 3")

[_, direction1] = ta.supertrend(factor1, atrPeriod1)
[_, direction2] = ta.supertrend(factor2, atrPeriod2)
[_, direction3] = ta.supertrend(factor3, atrPeriod3)

// Define the start and end dates as Unix timestamps (in seconds)
start_date = timestamp("2023-01-01T00:00:00")
end_date = timestamp("2023-10-01T00:00:00")

// Determine Buy and Sell conditions within the specified date range
in_date_range = true
buy_condition = direction1 > 0 and direction2 > 0 and direction3 > 0 and in_date_range
sell_condition = direction1 < 0 or direction2 < 0 or direction3 < 0

// Track the position with a variable
var isLong = false

if buy_condition and not isLong
    strategy.entry("Long Entry", strategy.long)
    isLong := true

if sell_condition and isLong
    // Define take profit and stop loss percentages
    take_profit_percentage = 10 // Increased to 10%
    stop_loss_percentage = 1

    // Calculate take profit and stop loss levels
    take_profit_level = close * (1 + take_profit_percentage / 100)
    stop_loss_level = close * (1 - stop_loss_percentage / 100)

    // Exit the long position with take profit and stop loss
    strategy.exit("Take Profit/Stop Loss", from_entry="Long Entry", limit=take_profit_level, stop=stop_loss_level)
    isLong := false

Plus de