Stratégie de croisement de moyenne mobile exponentielle


Date de création: 2024-01-08 11:30:21 Dernière modification: 2024-01-08 11:30:21
Copier: 0 Nombre de clics: 560
1
Suivre
1617
Abonnés

Stratégie de croisement de moyenne mobile exponentielle

Aperçu

La stratégie de croisement des moyennes indicielles est une stratégie de trading simple et quantifiée qui suit les tendances des prix. Elle utilise comme signaux d’achat et de vente les croisements entre deux moyennes mobiles indicielles avec différents paramètres. Elle génère un signal d’achat lorsqu’elle traverse la moyenne à court terme au-dessus de la moyenne à long terme et un signal de vente lorsqu’elle traverse la moyenne à long terme en dessous de la moyenne à court terme.

Principe de stratégie

La logique centrale de cette stratégie est basée sur la théorie des courbes. Les moyennes mobiles des indices permettent d’aplanir efficacement les fluctuations des prix et de déterminer la direction de la tendance des prix. Les courbes rapides permettent de répondre rapidement aux changements de prix; les courbes lentes fournissent une référence à la direction de la tendance des prix.

Plus précisément, la stratégie définit d’abord deux moyennes mobiles indexées: fib_level et fib_price. Les paramètres fib_level sont saisis par l’utilisateur, tandis que fib_price est calculé en fonction du prix le plus élevé et le prix le plus bas des 100 barres les plus récentes.

Analyse des avantages

  • Utilisez un système bi-linéaire pour déterminer la direction de la tendance des prix et éviter de générer de faux signaux
  • Politiques personnalisables en fonction des paramètres personnalisés par l’utilisateur
  • La mise en place d’un stop loss est bénéfique pour la maîtrise des risques

Analyse des risques

  • La ligne moyenne est en retard et risque de manquer le tournant
  • Le nombre élevé de croisements entre les deux lignes augmente les coûts de transaction et les pertes de points de glissement.
  • Les points d’arrêt sont mal réglés, ce qui peut entraîner un arrêt prématuré ou une perte excessive.

Il est possible de réduire le nombre de signaux erronés en optimisant les paramètres de la ligne moyenne, en utilisant le système de la ligne moyenne à trois, ou en combinant d’autres indicateurs de jugement. Dans le même temps, il est possible d’assouplir les points d’arrêt pour éviter les arrêts trop fréquents.

Direction d’optimisation

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

  1. Optimiser les paramètres de réglage des périodes moyennes. Tester des combinaisons de paramètres de différentes longueurs de périodes pour trouver le paramètre optimal.

  2. Augmenter le filtrage des indicateurs tels que le volume. Lorsque le volume augmente, un signal d’achat est généré, et lorsque le volume diminue, un signal de vente est généré.

  3. L’optimisation automatique des paramètres par les algorithmes d’apprentissage automatique. Les modèles sont entrées avec des données historiques et sont entraînés pour obtenir une meilleure combinaison de paramètres.

  4. Ajout d’un mécanisme de stop mobile à la position de stop. Laissez la ligne de stop monter avec l’augmentation des bénéfices, pour éviter un stop prématuré.

Résumer

La stratégie de croisement d’équilibre des indices est une stratégie de trading quantitatif plus simple et pratique dans l’ensemble. Elle utilise l’avantage de la ligne de parité pour déterminer la tendance des prix et définir des arrêts de perte pour contrôler les risques. La stratégie est facile à comprendre, les paramètres sont flexibles et s’appliquent à différentes variétés de transactions quantitatives.

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

//@version=5
strategy("Fibonacci Strategy", overlay=true)

// Define Fibonacci 0.5 level
fib_level = input(0.5, title="Fibonacci Level")

// Calculate Fibonacci 0.5 level price
fib_price = ta.lowest(low, 100) + (ta.highest(high, 100) - ta.lowest(low, 100)) * fib_level

// Define entry and exit conditions
long_condition = ta.crossover(close, fib_price)
short_condition = ta.crossunder(close, fib_price)

// Set exit points (using previous high or low)
long_exit = ta.highest(high, 10)
short_exit = ta.lowest(low, 10)

// Plot Fibonacci 0.5 level
plot(fib_price, "Fib 0.5", color=color.blue, linewidth=1, style=plot.style_circles)

// Initialize variables
var inLong = false
var inShort = false

// Set trading signals
if (long_condition)
    if not inLong
        strategy.entry("Buy", strategy.long)
        inLong := true
    strategy.exit("Exit", "Buy", limit=long_exit)

if (short_condition)
    if not inShort
        strategy.entry("Sell", strategy.short)
        inShort := true
    strategy.exit("Exit", "Sell", limit=short_exit)

if (ta.crossover(close, long_exit) or ta.crossunder(close, short_exit))
    inLong := false
    inShort := false