Stratégie de négociation croisée à double TEMA

Auteur:ChaoZhang est là., Date: 2023-10-12 17h34 et 19h
Les étiquettes:

Résumé

La double stratégie de négociation de croisement TEMA est une stratégie courante de suivi des tendances utilisant deux lignes TEMA (Triple Exponential Moving Average) avec des paramètres différents. Elle génère des signaux longs lorsque le TEMA plus rapide traverse au-dessus du TEMA plus lent et ferme les positions lorsque le TEMA plus rapide traverse au-dessous du TEMA plus lent. Cette stratégie peut suivre efficacement les tendances des prix et réaliser des bénéfices lorsque la tendance est claire.

La logique de la stratégie

La stratégie utilise le TEMA (Triple Exponential Moving Average) comme indicateur technique principal.

TEMA = (3Le taux d'intérêtLe taux d'intérêt

Lorsque les EMA1, EMA2 et EMA3 sont des EMA de la période N. En calculant les EMA trois fois, TEMA peut réagir plus rapidement aux variations de prix.

La stratégie utilise une TEMA à plus courte période comme ligne rapide et une TEMA à plus longue période comme ligne lente. Lorsque la ligne rapide traverse au-dessus de la ligne lente, indiquant un mouvement de prix à la hausse, elle génère des signaux longs. Lorsque la ligne rapide traverse au-dessous de la ligne lente, indiquant un mouvement de prix à la baisse, elle ferme les positions.

La ligne rapide avec une période plus courte comme 20 jours peut rapidement capturer la dynamique des prix, tandis que la ligne lente avec une période plus longue comme 60 jours peut filtrer les fausses ruptures.

Analyse des avantages

Les avantages de cette stratégie sont les suivants:

  1. TEMA peut réagir plus rapidement aux changements de prix et détecter les renversements de tendance.

  2. La double structure TEMA aide à filtrer les fausses ruptures et à entrer dans les transactions tendance à forte probabilité.

  3. Paramètres réglables flexibles pour s'adapter aux différentes conditions du marché.

  4. Une logique simple et claire, facile à comprendre et à mettre en œuvre, une utilisation élevée du capital.

  5. On peut réaliser de bons profits sur les marchés en tendance, en particulier ceux où la tendance est forte.

Analyse des risques

Les risques de cette stratégie comprennent:

  1. Prédisposé à des pertes commerciales fréquentes sur les marchés à fourchette.

  2. Peut générer des faux signaux excessifs si les paramètres ne sont pas réglés correctement.

  3. Incapable de réagir efficacement aux événements soudains et aux mouvements de prix à court terme.

  4. Les signaux retardés peuvent manquer des opportunités à court terme.

  5. Risques élevés d'ouverture de positions contre des fluctuations fortes.

  6. Requiert une expérience dans l'optimisation des paramètres pour s'adapter aux marchés en mutation.

Mesures de gestion des risques:

  1. Optimiser les paramètres pour éviter une sursensibilité.

  2. Ajouter d'autres indicateurs pour filtrer les signaux d'entrée.

  3. Utilisez les stop-loss pour limiter les pertes d'une seule transaction.

  4. Réduire la taille des positions pour contrôler le risque.

  5. Ajouter des règles d'optimisation des paramètres et des mécanismes d'intervention manuels.

Directions d'optimisation

La stratégie peut être optimisée dans les aspects suivants:

  1. Optimiser les paramètres des lignes rapides et lentes pour différents produits et conditions de marché.

  2. Incorporer d'autres indicateurs comme le MACD, les bandes de Bollinger pour améliorer la validité du signal.

  3. Ajoutez des stratégies de stop-loss comme trailing stop, time stop, ATR stop pour contrôler les pertes.

  4. Évitez d'ouvrir des positions lorsque le VIX est élevé.

  5. Ajoutez des indicateurs de volume, ne pensez qu'à entrer sur une expansion évidente du volume.

  6. Optimiser la gestion de l'argent comme la taille des positions fractionnées fixes, le contrôle des retraits.

  7. Utilisez l'apprentissage automatique pour optimiser les paramètres.

Résumé

La double stratégie de croisement TEMA est une stratégie globale de suivi des tendances utilisant des indicateurs techniques de tendance. Elle aide à capturer les tendances des prix et à négocier le long des tendances. Mais les risques doivent être gérés correctement pour éviter les pertes dues à une utilisation inappropriée.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-10-11 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/
// © nickrober

//@version=4
strategy(title="TEMA Cross Backtest", shorttitle="TEMA_X_BT", overlay=true, commission_type=strategy.commission.percent, commission_value=0, initial_capital = 1000,  default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Backtest inputs
FromMonth = input(defval=1, title="From Month", minval=1, maxval=12)
FromDay = input(defval=1, title="From Day", minval=1, maxval=31)
FromYear = input(defval=2020, title="From Year", minval=2010)
ToMonth = input(defval=1, title="To Month", minval=1, maxval=12)
ToDay = input(defval=1, title="To Day", minval=1, maxval=31)
ToYear = input(defval=9999, title="To Year", minval=2017)

// Define backtest timewindow
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)  // backtest finish window
window() =>  true

//TEMA Section
xLength = input(20, minval=1, title="Fast Length")
xPrice = close
xEMA1 = ema(xPrice, xLength)
xEMA2 = ema(xEMA1, xLength)
xEMA3 = ema(xEMA2, xLength)
xnRes = (3 * xEMA1) - (3 * xEMA2) + xEMA3
xnResP = plot(xnRes, color=color.green, linewidth=2, title="TEMA1")

yLength = input(60, minval=1, title="Slow Length")
yPrice = close
yEMA1 = ema(yPrice, yLength)
yEMA2 = ema(yEMA1, yLength)
yEMA3 = ema(yEMA2, yLength)
ynRes = (3 * yEMA1) - (3 * yEMA2) + yEMA3
ynResP = plot(ynRes, color=color.red, linewidth=2, title="TEMA2")

fill(xnResP, ynResP, color=xnRes > ynRes ? color.green : color.red, transp=75, editable=true)

// Buy and Sell Triggers
LongEntryAlert = xnRes > ynRes
LongCloseAlert = xnRes < ynRes
ShortEntryAlert = xnRes < ynRes
ShortCloseAlert = xnRes > ynRes

// Entry & Exit signals
strategy.entry("Long", strategy.long, when = xnRes > ynRes and window()) 
strategy.close("Long", when = xnRes < ynRes)
//strategy.entry("Short", strategy.short, when = xnRes < ynRes and window())
//strategy.close("Short", when = xnRes > ynRes)

Plus de