Stratégie haussière à long terme basée sur le croisement des moyennes mobiles


Date de création: 2024-02-04 14:56:00 Dernière modification: 2024-02-04 14:56:00
Copier: 1 Nombre de clics: 613
1
Suivre
1617
Abonnés

Stratégie haussière à long terme basée sur le croisement des moyennes mobiles

Aperçu

Cette stratégie est basée sur une simple moyenne mobile (SMA) croisée. Elle génère des signaux d’achat en calculant des SMA de différentes périodes, et effectue des opérations de retracement en portant des SMA de longue durée sur des SMA de courte durée. En même temps, elle établit des stop-loss et gère le risque de la position en fonction d’une proportion du prix d’entrée.

Principe de stratégie

La stratégie est principalement basée sur les signaux de croisement de la fourchette d’or de l’indicateur SMA pour déterminer le moment d’entrée en bourse. Plus précisément, elle calcule les SMA de deux périodes différentes, la ligne 9 et la ligne 21.

En outre, la stratégie définit dynamiquement les positions stop et stop loss en fonction des proportions de 1,5% et 1% du prix d’entrée. C’est-à-dire que la position stop est supérieure à 1,5% du prix d’entrée et la position stop est inférieure à 1% du prix d’entrée.

Avantages stratégiques

  • L’indicateur SMA est utilisé pour déterminer le moment de l’entrée, éliminer le bruit du marché à court terme et capturer les tendances à moyen et long terme.
  • Les paramètres de cycle sont réglables et peuvent être adaptés à différents bandes de fréquence en ajustant la fréquence.
  • Les mécanismes de gestion des risques sont bien développés et permettent de maîtriser les pertes individuelles en ajustant le ratio des gains et des pertes.
  • Il s’agit d’un outil simple, facile à comprendre et adapté aux débutants en trading quantitatif.

Risques et solutions

  • Les signaux de croisement SMA peuvent être faussement détectés et entraîner des pertes inutiles. Ils peuvent être combinés avec d’autres signaux de filtrage.
  • Les positions de stop loss sont relativement simples, et il est possible que des stop loss soient attendus et que des pertes réelles soient enregistrées. Il est possible d’envisager le suivi dynamique des stop loss.
  • Le ratio des gains et des pertes est fixe et ne peut pas être ajusté en fonction de la volatilité du marché. Le ratio des gains et des pertes peut être combiné avec le ratio des gains et des pertes de l’indicateur ATR.
  • Il existe un certain retard de temps. On peut envisager de réduire le paramètre périodique de la SMA, ou d’introduire d’autres indicateurs précurseurs.

Direction d’optimisation

  • Ajouter d’autres indicateurs pour filtrer les signaux de croisement SMA et éviter les fausses ruptures. Par exemple, les indicateurs KDJ, les indicateurs de taux d’oscillation, etc.
  • Le suivi dynamique des stop-loss. Par exemple, l’utilisation de l’algorithme de sortie de Chandelier.
  • Adaptez le ratio bénéfice/bénéfice en fonction de la dynamique de la volatilité du marché, par exemple en utilisant l’indicateur ATR
  • Réduire les cycles SMA ou introduire d’autres indicateurs précurseurs pour réduire le retard.

Résumer

Cette stratégie est une stratégie de suivi des lignes moyennes et longues basée sur le croisement des SMA. Elle utilise les indicateurs SMA pour juger de la tendance du marché et définir les risques de contrôle des stop-loss.

Code source de la stratégie
/*backtest
start: 2023-01-28 00:00:00
end: 2024-02-03 00:00:00
period: 1d
basePeriod: 1h
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/
// © Masterdata

//@version=5
strategy("Simple MA Crossover Long Strategy v5", overlay=true)

// Define the short and long moving averages
shortMa = ta.sma(close, 9)
longMa = ta.sma(close, 21)

// Plot the moving averages on the chart
plot(shortMa, color=color.green)
plot(longMa, color=color.orange)

// Generate a long entry signal when the short MA crosses over the long MA
longCondition = ta.crossover(shortMa, longMa)
if (longCondition)
    strategy.entry("Long", strategy.long)

// Define the take profit and stop loss as a percentage of the entry price
takeProfitPerc = 1.5 / 100 // Take profit at 1.5% above entry price

stopLossPerc = 1.0 / 100 // Stop loss at 1.0% below entry price

// Calculate the take profit and stop loss price levels dynamically
takeProfitLevel = strategy.position_avg_price * (1 + takeProfitPerc)
stopLossLevel = strategy.position_avg_price * (1 - stopLossPerc)

// Set the take profit and stop loss for the trade
if (longCondition)
    strategy.exit("Take Profit/Stop Loss", "Long", limit=takeProfitLevel, stop=stopLossLevel)