Les ressources ont été chargées... Je charge...

Tendance dynamique à la suite d'une stratégie transversale de moyenne mobile à plusieurs périodes

Auteur:ChaoZhang est là., Date: 2024-12-13 à 10h40
Les étiquettes:SMALe taux d'intérêt- Je vous en prie.

img

Résumé

Cette stratégie est un système de trading basé sur des moyennes mobiles à plusieurs périodes. Elle utilise des moyennes mobiles simples (MMA) à 89 périodes et à 21 périodes pour déterminer la direction générale de la tendance du marché, tout en incorporant des hauts et des bas de moyenne mobile exponentielle (EMA) à 5 périodes pour identifier des signaux de trading spécifiques.

Principes de stratégie

La logique de base comprend les éléments clés suivants:

  1. Détermination de la tendance: utilise la position relative des SMA de 89 et 21 périodes ainsi que la position des prix pour identifier les tendances. Une tendance haussière est confirmée lorsque le prix et l'EMA de 5 périodes sont supérieurs à la SMA de 21 périodes, qui est supérieure à la SMA de 89 périodes; l'inverse confirme une tendance à la baisse.
  2. Signal d'entrée: dans les tendances haussières, entrez des positions longues lorsque le prix revient au plus bas EMA de 5 périodes; dans les tendances à la baisse, entrez des positions courtes lorsque le prix rebondit au plus haut EMA de 5 périodes.
  3. Gestion des positions: ouvre deux positions de contrat identiques pour chaque signal déclenché.
  4. Contrôle des risques: applique des objectifs fixes de stop-loss et de profit pour la première position et un stop-loss de suivi pour la deuxième position.

Les avantages de la stratégie

  1. Confirmation sur plusieurs délais: la combinaison de moyennes mobiles de différentes périodes permet une évaluation plus complète de la tendance, réduisant ainsi les faux signaux.
  2. Profit-taking flexible: Combine des méthodes de profit fixe et de suivi pour capturer les fluctuations à court terme et les tendances à long terme.
  3. Risque contrôlé: définit des niveaux d'arrêt-perte clairs avec une exposition au risque fixe pour chaque signal commercial.
  4. Opération systématique: Des règles de trading claires réduisent au minimum le jugement subjectif, ce qui facilite la mise en œuvre programmatique.

Risques stratégiques

  1. Risque de consolidation: les croisements fréquents des moyennes mobiles sur les marchés latéraux peuvent générer des faux signaux excessifs.
  2. Risque de glissement: les écarts significatifs de prix entre les prix d'exécution théoriques et réels pendant les périodes de forte volatilité.
  3. Risque de gestion d'argent: la négociation de quantités fixes de contrats peut ne pas convenir à toutes les tailles de compte.
  4. Sensibilité des paramètres: la performance de la stratégie dépend fortement de la sélection de la moyenne mobile de la période, ce qui nécessite une optimisation pour différents marchés.

Directions d'optimisation

  1. Taille dynamique des positions: il est recommandé d'ajuster les quantités de contrats en fonction du capital du compte et de la volatilité du marché.
  2. Filtrage de l'environnement du marché: ajouter des indicateurs de la force de la tendance (comme ADX) pour réduire la fréquence des transactions sur des marchés variés.
  3. L'amélioration de l'arrêt-perte: envisager d'utiliser l'ATR pour un ajustement dynamique de l'arrêt-perte afin d'améliorer l'adaptabilité à différentes conditions de marché.
  4. Confirmation du signal: intégrer des indicateurs de volume et de momentum pour augmenter la fiabilité du signal.

Résumé

Cette stratégie représente un système complet de suivi des tendances qui capture les tendances du marché à travers des moyennes mobiles à plusieurs périodes tout en mettant en œuvre des méthodes de gestion de position et de contrôle des risques flexibles.


/*backtest
start: 2024-11-12 00:00:00
end: 2024-12-11 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tobiashartemink2

//@version=5
strategy("High 5 Trading Technique", overlay=true)

// --- Input parameters ---
sma89Length = input.int(title="SMA 89 Length", defval=89)
sma21Length = input.int(title="SMA 21 Length", defval=21)
ema5HighLength = input.int(title="EMA 5 High Length", defval=5)
ema5LowLength = input.int(title="EMA 5 Low Length", defval=5)
contracts = input.int(title="Aantal Contracten", defval=1)
stopLossPoints = input.int(title="Stop Loss Points per Contract", defval=25)
takeProfitPoints = input.int(title="Take Profit Points per Contract", defval=25)

// --- Calculate moving averages ---
sma89 = ta.sma(close, sma89Length)
sma21 = ta.sma(close, sma21Length)
ema5High = ta.ema(high, ema5HighLength)
ema5Low = ta.ema(low, ema5LowLength)

// --- Identify trend and order of moving averages ---
longSetup = close > sma89 and close > sma21 and ema5High > sma21 and sma21 > sma89
shortSetup = close < sma89 and close < sma21 and ema5Low < sma21 and sma21 < sma89

// --- Entry signals ---
longTrigger = longSetup and close <= ema5Low
shortTrigger = shortSetup and close >= ema5High

// --- Entry orders ---
if (longTrigger)
    strategy.entry("Long 1", strategy.long, qty=contracts)
    strategy.entry("Long 2", strategy.long, qty=contracts)

if (shortTrigger)
    strategy.entry("Short 1", strategy.short, qty=contracts)
    strategy.entry("Short 2", strategy.short, qty=contracts)

// --- Stop-loss and take-profit for long positions ---
if (strategy.position_size > 0)
    strategy.exit("Exit Long 1", "Long 1", stop=strategy.position_avg_price - stopLossPoints, limit=strategy.position_avg_price + takeProfitPoints)
    strategy.exit("Exit Long 2", "Long 2", stop=strategy.position_avg_price - stopLossPoints, trail_offset=takeProfitPoints, trail_points=takeProfitPoints)

// --- Stop-loss and take-profit for short positions ---
if (strategy.position_size < 0)
    strategy.exit("Exit Short 1", "Short 1", stop=strategy.position_avg_price + stopLossPoints, limit=strategy.position_avg_price - takeProfitPoints)
    strategy.exit("Exit Short 2", "Short 2", stop=strategy.position_avg_price + stopLossPoints, trail_offset=takeProfitPoints, trail_points=takeProfitPoints)

// --- Plot moving averages ---
plot(sma89, color=color.blue, linewidth=2)
plot(sma21, color=color.red, linewidth=2)
plot(ema5High, color=color.green, linewidth=2)
plot(ema5Low, color=color.orange, linewidth=2)


Relationnée

Plus de