Système de suivi de tendance à double boîte

Auteur:ChaoZhang est là., Date: 2023-11-02 17h19 et 22h
Les étiquettes:

Résumé

Le système de suivi des tendances est une stratégie de suivi des tendances basée sur un système de double boîte. Il utilise une boîte à long terme pour déterminer la direction générale de la tendance et prend des signaux qui s'alignent sur la tendance majeure lorsque la boîte à court terme se déclenche.

La logique de la stratégie

La stratégie utilise deux cases pour déterminer la tendance. La boîte à long terme utilise une période plus longue pour juger de la direction de la tendance principale, et la boîte à court terme utilise une période plus courte pour générer des signaux de trading.

Tout d'abord, la stratégie calcule les prix les plus élevés et les plus bas de la boîte à long terme pour déterminer la direction de la tendance principale.

  • Si le prix le plus élevé dépasse le prix le plus élevé de la barre précédente, il est défini comme une tendance haussière, attribuée une valeur de 1
  • Si le prix le plus bas passe sous le prix le plus bas de la barre précédente, il est défini comme une tendance à la baisse, attribuée une valeur de -1
  • Dans le cas contraire, maintenir la direction de la tendance initiale

Après avoir déterminé la tendance principale, la stratégie commence à prendre des positions basées sur les signaux à court terme.

  • Lorsque la tendance principale est à la hausse et que le prix le plus bas de la barre à court terme est égal au prix le plus bas de la barre précédente et est inférieur au prix le plus bas de la barre à court terme actuelle, passez long.
  • Lorsque la tendance majeure est à la baisse et que le prix le plus élevé de la barre à court terme est égal au prix le plus élevé de la barre précédente et qu'il est supérieur au prix le plus élevé de la barre à court terme actuelle, passez à la courte.

En outre, le stop loss et le take profit sont configurés:

  • Le stop-loss long est le prix le plus bas de la boîte à long terme, le stop-loss court est le prix le plus élevé de la boîte à long terme
  • Le long take profit est le prix le plus élevé de la boîte à court terme, le short take profit est le prix le plus bas de la boîte à court terme

Lorsque la tendance principale s'inverse, fermez toutes les positions.

Analyse des avantages

Les avantages de cette stratégie sont les suivants:

  1. Le système double boîte identifie efficacement les tendances et réduit les transactions incorrectes
  2. Seuls les signaux d'inversion qui correspondent à la tendance principale permettent d'éviter d'être induit en erreur par le bruit du marché à court terme.
  3. La combinaison de longues et de courtes périodes permet de capturer les principales tendances tout en maintenant la souplesse d'ajustement de la position
  4. Contrôle raisonnable du risque par points stop-loss et points take profit tout en suivant les tendances
  5. L'aplatissement rapide de toutes les positions lorsque la tendance majeure s' inverse réduit les pertes au minimum

Analyse des risques

Les risques de cette stratégie comprennent:

  1. Des réglages de longue et courte durée inappropriés peuvent entraîner une survente ou des opportunités manquées
  2. Les renversements à court terme peuvent ne pas représenter des changements de tendance à long terme, mais ils présentent toujours des risques de perte.
  3. Un stop-loss trop proche peut être arrêté prématurément.
  4. Prendre des profits trop lâches peut ne pas maximiser les profits
  5. Une mauvaise appréciation de la tendance principale entraîne des pertes
  6. Les solutions comprennent l'ajustement des périodes, l'optimisation des arrêts/objectifs, l'ajout de filtres, etc.

Directions d'optimisation

La stratégie peut être améliorée par:

  1. Ajout de filtres pour éviter les fausses fuites
  2. Optimisation des périodes longues et courtes pour différents produits
  3. Ajustement dynamique des niveaux de stop loss et de profit
  4. Incorporation de règles de dimensionnement des positions
  5. Utilisation du volume, etc., pour juger de la fiabilité des changements de tendance
  6. Utilisation de l'apprentissage automatique pour optimiser automatiquement les paramètres et les filtres

Résumé

Le système de suivi des tendances est une stratégie de trading pratique combinant la détermination des tendances et les ajustements à court terme. Avec des optimisations continues, il peut devenir un système automatisé robuste qui suit les tendances tout en contrôlant les risques.

Je ne sais pas.


/*backtest
start: 2023-10-25 00:00:00
end: 2023-10-26 07:00:00
period: 5m
basePeriod: 1m
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/
// © LonesomeTheBlue

//@version=4
strategy("Grab Trading System", overlay = true)
flb = input(defval = 80, title = "Longterm Period", minval = 1)
slb = input(defval = 21, title = "Shortterm Period", minval = 1)
showtarget = input(defval = true, title = "Show Target")
showtrend = input(defval = true, title = "Show Trend")

major_resistance = highest(flb)
major_support = lowest(flb)
minor_resistance = highest(slb)
minor_support = lowest(slb)

var int trend = 0
trend := high > major_resistance[1] ? 1 : low < major_support[1] ? -1 : trend
strategy.entry("Buy", true, when = trend == 1 and low[1] == minor_support[1] and low > minor_support)
strategy.entry("Sell", false, when = trend == -1 and high[1] == minor_resistance[1] and high < minor_resistance)

if strategy.position_size > 0
    strategy.exit("Buy", stop = major_support, comment = "Stop Buy")
    if high[1] == minor_resistance[1] and high < minor_resistance
        strategy.close("Buy", comment ="Close Buy")
    
if strategy.position_size < 0
    strategy.exit("Sell", stop = major_resistance, comment = "Stop Sell")
    if low[1] == minor_support[1] and low > minor_support
        strategy.close("Sell", comment ="Close Sell")

if strategy.position_size != 0 and change(trend)
    strategy.close_all()
    
majr = plot(major_resistance, color = showtrend and trend == -1 and trend[1] == -1 ? color.red : na)
majs = plot(major_support, color = showtrend and trend == 1 and trend[1] == 1 ? color.lime : na)
minr = plot(minor_resistance, color = showtarget and trend == 1 and strategy.position_size > 0 ? color.yellow : na, style = plot.style_circles)
mins = plot(minor_support, color = showtarget and trend == -1 and strategy.position_size < 0 ? color.yellow : na, style = plot.style_circles)

fill(majs, mins, color = showtrend and trend == 1 and trend[1] == 1 ? color.lime : na, transp = 85)
fill(majr, minr, color = showtrend and trend == -1 and trend[1] == -1 ? color.red : na, transp = 85)


Plus de