Une stratégie de trading basée sur le croisement des moyennes mobiles


Date de création: 2024-01-24 14:59:44 Dernière modification: 2024-01-24 14:59:44
Copier: 0 Nombre de clics: 528
1
Suivre
1617
Abonnés

Une stratégie de trading basée sur le croisement des moyennes mobiles

Aperçu

La stratégie de négociation croisée des moyennes mobiles est une stratégie de négociation quantitative plus courante. Cette stratégie consiste à calculer des moyennes mobiles de différentes périodes et à générer un signal de négociation en fonction de leur croisement. Plus précisément, il s’agit de calculer des moyennes mobiles indicielles de 4 cycles, 8 cycles et 20 cycles.

Principe de stratégie

La logique de cette stratégie est la suivante:

  1. Calculez les lignes EMA de 4 cycles, 8 cycles et 20 cycles.
  2. Déterminer la relation entre les lignes EMA à 4 cycles et celles à 8 cycles:
    1. Lorsque la ligne de 4 cycles EMA est traversée par la ligne de 8 cycles EMA, cela indique que le mouvement des prix est plus fort et appartient à un signal à plusieurs têtes.
    2. Lorsque l’EMA à 4 cycles est inférieure à l’EMA à 8 cycles, cela indique que la tendance est faible et constitue un signal de tête vide.
  3. En même temps, jugez la direction de la ligne EMA à 20 cycles:
    1. Entrer Long si la ligne EMA de 20 cycles est en hausse
    2. Si l’EMA de 20 cycles est en baisse, Enter Short
  4. Lorsque la relation entre les lignes EMA à 4 cycles et les lignes EMA à 8 cycles est inversée, préparez la sortie.
  5. Lorsque la ligne 20 de l’EMA est renversée, Exit Now。

Par cette méthode, nous utilisons des croisements entre les différentes moyennes périodiques pour juger des signaux du marché, tout en utilisant la direction de la plus longue moyenne périodique pour filtrer les signaux erronés et construire une stratégie de trading stable.

Avantages stratégiques

Les principaux avantages de cette stratégie sont les suivants:

  1. La logique de la stratégie est simple et claire, facile à comprendre et à mettre en œuvre.
  2. Le filtrage à double condition permet de réduire le nombre de faux signaux.
  3. L’augmentation de l’EMA à 20 cycles permet d’identifier les grandes tendances et de renforcer la stabilité.
  4. Les paramètres peuvent être personnalisés et la fréquence des transactions peut être ajustée.
  5. Il peut être facilement combiné avec d’autres indicateurs ou modèles pour construire des stratégies complexes.

Risque stratégique

Cette stratégie comporte aussi des risques:

  1. La stratégie de double équilibre est susceptible de générer de faux signaux.
  2. Les cycles fixes ne peuvent pas s’adapter aux changements du marché.
  3. Il est facile de perdre de l’argent en cas de choc.

Les principales solutions sont les suivantes:

  1. Réduire le temps de détention de la position et arrêter les pertes en temps opportun.
  2. Paramètres d’optimisation dynamique, réglage des périodes de la moyenne ligne.
  3. Création de stratégies composites en combinaison avec d’autres indicateurs ou modèles.

Optimisation de la stratégie

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Optimisation des cycles: déterminer la meilleure combinaison de cycles MA pour les différentes variétés Optimisation des arrêts de perte: définir un arrêt de perte raisonnable pour contrôler les pertes individuelles

    1. Optimisation des paramètres: optimisation dynamique des paramètres par des méthodes telles que les algorithmes génétiques et les chaînes de Markov
  2. Fusion de modèles: intégration avec des modèles d’apprentissage en profondeur tels que LSTM, RNN, etc. pour extraire plus d’alpha

  3. Optimisation du portefeuille: construction d’un portefeuille de stratégies avec d’autres indicateurs

Résumer

La stratégie de croisement des moyennes mobiles est une stratégie de négociation quantitative classique et couramment utilisée. La logique de la stratégie est simple, facile à comprendre et à mettre en œuvre, avec une certaine stabilité. Mais il existe également des problèmes, tels que la production de faux signaux, l’incapacité à s’adapter aux changements du marché, etc. Ces problèmes peuvent être améliorés par des méthodes telles que l’optimisation des paramètres, l’optimisation des pertes, la fusion des modèles.

Code source de la stratégie
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//future strategy
//strategy(title = "stub", default_qty_type = strategy.fixed, default_qty_value = 1,  overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2.05)
//stock strategy
strategy(title = "stub",   overlay = true)
//forex strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100,  overlay = true)
//crypto strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100,  overlay = true, commission_type=strategy.commission.percent,commission_value=.0,default_qty_value=10000)


testStartYear = input(1900, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testEndYear = input(2018, "Backtest Start Year")
testEndMonth = input(12, "Backtest Start Month")
testEndDay = input(1, "Backtest Start Day")
testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0)


testPeriod() => true

ema1 = ema(close,4)
ema2 = ema(close,8)
ema3 = ema(close,20)

go_long = ema1[0] > ema2[0] and ema3[0] > ema3[1]
exit_long = ema1[0] < ema2[0] or ema3[0] < ema3[1]

go_short = ema1[0] < ema2[0] and ema3[0] < ema3[1]
exit_short = ema1[0] > ema2[0] or ema3[0] > ema3[1]

 
if testPeriod()
    strategy.entry("simpleBuy", strategy.long, when=go_long)
    strategy.exit("simpleBuy", "simpleSell",when=exit_long)
    
    strategy.entry("simpleSell", strategy.short,when=go_short)
    strategy.exit("simpleSell", "simpleSell",when=exit_short)