Stratégie de croisement classique de la moyenne mobile double

Auteur:ChaoZhang est là., Date: 2023-10-27 à 16h47h30
Les étiquettes:

img

Résumé

La stratégie de croisement de la moyenne mobile double est une stratégie d'analyse technique très classique et couramment utilisée. Cette stratégie utilise le croisement d'une moyenne mobile plus rapide et d'une moyenne mobile plus lente comme signaux de négociation pour l'achat et la vente. Lorsque la moyenne mobile plus rapide traverse au-dessus de la moyenne mobile plus lente depuis le bas, un signal d'achat est généré. Lorsque la moyenne mobile plus rapide traverse au-dessous de la moyenne mobile plus lente depuis le haut, un signal de vente est généré.

La logique de la stratégie

Les éléments clés du code de stratégie sont les suivants:

  1. Définir la longueur et le type des moyennes mobiles rapides et lentes: la moyenne mobile rapide a une période de 5 ans, la moyenne mobile lente a une période de 21 ans, toutes deux en utilisant une moyenne mobile simple.

  2. Calculer les moyennes mobiles rapides et lentes: en utilisant la fonction sma pour calculer les moyennes mobiles simples à 5 périodes et à 21 périodes.

  3. Tracer le graphique: tracer les lignes de tendance des MA rapides et lents.

  4. Définir les règles d'entrée et de sortie: acheter lorsque l'AM rapide dépasse l'AM lent, vendre lorsque l'AM rapide dépasse l'AM lent.

  5. Exécuter des transactions: utiliser les fonctions longues et courtes de la stratégie pour exécuter automatiquement des transactions lorsque les conditions sont remplies.

La clé de cette stratégie est d'utiliser des moyennes mobiles de différentes périodes pour former les MA rapides et lents, et d'utiliser leurs croisements comme signaux de trading. Le MA rapide capte les changements de prix plus rapidement tandis que le MA lent reflète mieux la tendance à long terme. Le croisement du MA rapide au-dessus du MA lent indique une rupture à la hausse, qui est un signal d'achat. Et le croisement ci-dessous est un signal de vente.

Analyse des avantages

La double stratégie de croisement des moyennes mobiles présente les avantages suivants:

  1. Principe simple, facile à comprendre, adapté aux débutants.

  2. Suivez la tendance des prix, un petit repli.

  3. Fréquence de négociation modérée, éviter les sur-trades.

  4. Paramètres personnalisables, flexibles pour s'adapter aux changements du marché.

  5. Facile à optimiser et à trouver des ensembles de paramètres personnels appropriés.

  6. Peut régler le stop loss pour contrôler le risque.

  7. Peut être utilisé sur divers marchés, grande applicabilité.

  8. Peut être combiné avec d'autres indicateurs pour améliorer les performances.

Analyse des risques

Cette stratégie comporte également certains risques:

  1. La réaction retardée lorsque la tendance est forte, peut manquer le meilleur moment d'entrée.

  2. Plus de faux signaux pendant les marchés à plage, peut ajouter des filtres pour éviter les mauvais échanges.

  3. Trop d'opérations peuvent avoir un impact sur la rentabilité et augmenter la distance entre les opérations afin de réduire les croisements.

  4. Difficile à déterminer la tendance, risque de contre-trend, peut ajouter des indicateurs de tendance.

  5. L'optimisation des paramètres nécessite des données historiques suffisantes, le risque de suradaptation avec les nouveaux produits.

  6. Indicateur unique susceptible de facteurs externes, les performances peuvent être instables, peut être combiné avec d'autres indicateurs pour vérification.

Directions d'optimisation

Il existe plusieurs façons d'optimiser davantage la stratégie de double MA:

  1. Testez différentes longueurs de MA rapides et lentes pour trouver les paramètres optimaux pour des produits de négociation spécifiques.

  2. Ajoutez des filtres comme les volumes de trading, ATR stop loss pour réduire les opportunités inférieures.

  3. Combiner les indicateurs de dynamique pour confirmer les signaux de trading et éviter les fausses ruptures.

  4. Optimiser les stratégies de stop loss pour éviter les sorties prématurées ou tardives.

  5. Incorporer des indicateurs de tendance et de vague pour permettre le suivi de tendance et le contre-trend.

  6. Utiliser des MAs adaptatives pour ajuster les paramètres en fonction des conditions du marché plutôt que des périodes fixes.

  7. Utiliser des combinaisons de paramètres pour différentes sessions et caractéristiques du marché.

  8. Effectuer une optimisation en temps réel via des algorithmes d'apprentissage automatique pour améliorer continuellement les paramètres.

Résumé

Avec sa logique simple et sa facilité d'implémentation, la stratégie de croisement de la moyenne mobile double est devenue l'une des stratégies d'analyse technique les plus essentielles et les plus utilisées. Elle suit la tendance des prix avec un recul contrôlé et un risque acceptable. Mais il existe également un énorme potentiel d'optimisation, en ajustant les paramètres, en incorporant d'autres indicateurs et des algorithmes automatisés, son applicabilité et ses performances peuvent être encore améliorées.


/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// strategy("Stochastic Strategy of BiznesFilosof", shorttitle="SS of BiznesFilosof", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=20, commission_type=strategy.commission.percent, commission_value=0.15, pyramiding=0)

//Period
startY = input(title="Start Year", defval = 2011)
startM = input(title="Start Month", defval = 1, minval = 1, maxval = 12)
startD = input(title="Start Day", defval = 1, minval = 1, maxval = 31)
finishY = input(title="Finish Year", defval = 2050)
finishM = input(title="Finish Month", defval = 12, minval = 1, maxval = 12)
finishD = input(title="Finish Day", defval = 31, minval = 1, maxval = 31)
//finish = input(2019, 02, 28, 00, 00)
timestart = timestamp(startY, startM, startD, 00, 00)
timefinish = timestamp(finishY, finishM, finishD, 23, 59)
window = true // Lenghth strategy

length1 = input(21, minval=1), smoothK1 = input(3, minval=1), smoothD1 = input(3, minval=1)
//length2 = input(5, minval=1), smoothK2 = input(1, minval=1), smoothD2 = input(1, minval=1)
inh0 = input(title="Bottom Line", defval = 14, minval=0), inh1 = input(title="Upper Line", defval = 86, minval=0)

k1 = sma(stoch(close, high, low, length1), smoothK1)
d1 = sma(k1, smoothD1)
plot(k1, color=blue)
plot(d1, color=red)
//k2 = sma(stoch(close, high, low, length2), smoothK2)
//d2 = sma(k2, smoothD2)
//plot(k2, color=orange)

h1 = hline(inh1)
h0 = hline(inh0)
fill(h0, h1, color = aqua, transp=90)

//open
strategy.entry("LongEntryID", strategy.long, comment="LONG", when = crossover(k1, d1) and crossover(k1, inh0) and window)
strategy.entry("ShortEntryID", strategy.short, comment="SHORT", when = crossunder(k1, d1) and crossunder(k1, inh1) and window)

if crossunder(k1, d1) and crossunder(k1, inh1) and strategy.position_size > 0
    strategy.close_all()
if crossover(k1, d1) and crossover(k1, inh0) and strategy.position_size < 0
    strategy.close_all()
  
    


Plus de