Stratégie de négociation quotidienne basée sur les EMA hebdomadaires

Auteur:ChaoZhang est là., Date: 2023-09-20 17:11:52 Je vous en prie.
Les étiquettes:

Résumé

L'idée de base de cette stratégie est de cartographier les indicateurs de l'EMA depuis le calendrier hebdomadaire jusqu'à la négociation quotidienne, afin d'obtenir le soutien des tendances à plus long terme et d'orienter les décisions de négociation quotidiennes.

Principe de stratégie

La stratégie calcule d'abord les EMA de 6 jours, 12 jours, 26 jours et 52 jours sur le graphique quotidien, ainsi que les EMA de 42 jours, 84 jours, 182 jours et 364 jours correspondant aux paramètres hebdomadaires de l'EMA.

Ensuite, les croisements de l'EMA à 42 jours et de l'EMA à 84 jours sont utilisés pour déterminer la tendance à long terme; les croisements de l'EMA à 84 jours et de l'EMA à 182 jours sont utilisés pour déterminer la tendance à moyen terme.

Lorsque l'EMA à plus courte période dépasse l'EMA à plus longue période, passez long; lorsque l'EMA à plus courte période dépasse l'EMA à plus longue période, fermez les positions.

Grâce à cette méthode de cartographie, nous obtenons le soutien des indicateurs EMA de niveau hebdomadaire dans les transactions quotidiennes, ce qui aide à filtrer un peu de bruit et à saisir de plus grandes opportunités de tendance.

Analyse des avantages

Cette stratégie combine la souplesse des opérations quotidiennes et la stabilité des EMA hebdomadaires, avec les avantages suivants:

  1. Les EMA hebdomadaires peuvent filtrer efficacement le bruit du marché et identifier les mouvements de tendance réels.

  2. Les paramètres hebdomadaires de l'EMA sont plus stables, moins affectés par les fluctuations de prix à court terme.

  3. Les croisements EMA permettent d'identifier clairement les points de renversement de tendance cyclique.

  4. Les différentes combinaisons d'EMA de période saisissent les opportunités de tendance à long, moyen et court terme.

  5. La stratégie a une faible fréquence de négociation, adaptée à la détention à long terme.

Analyse des risques

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

  1. Les signaux hebdomadaires d'entrée sur l'EMA peuvent être retardés, incapables de saisir le moment le plus précoce du changement de prix.

  2. Les sorties basées sur des croisements de la EMA, sans tenir compte des formations, de la volatilité, etc., peuvent entraîner une sortie prématurée.

  3. Peu de croisements de l'EMA ont tendance à entraîner une détention unilatérale trop prolongée.

  4. Aucun stop loss signifie un risque de retrait élevé, nécessite une gestion humaine active.

  5. La régulation des paramètres grossiers nécessite un ajustement pour des performances optimales sur différentes pièces.

Les risques peuvent être réduits par:

  1. Identifier les formations d'entrée avec d'autres indicateurs, prendre des positions avant les signaux EMA.

  2. Ajoutez des règles de sortie comme le stop loss, le profit pour éviter de dépasser la détention.

  3. Optimiser les périodes EMA, tester des combinaisons de périodes appropriées pour différentes pièces.

  4. Opérations à plusieurs niveaux, EMA différentes pour les positions à plusieurs niveaux, risque de détention unilatérale réduit.

Directions d'optimisation

La stratégie peut être encore optimisée dans les aspects suivants:

  1. Ajoutez des règles sur l'entrée quotidienne, comme les formations, le volume, etc. pour filtrer le bruit.

  2. Combinez le stock, le MACD pour juger du surachat-survente pour une entrée/sortie plus fine.

  3. Ajoutez le stop loss, prenez le profit pour réduire le drawdown, verrouillez le profit.

  4. Optimiser les périodes EMA, tester des combinaisons de périodes différentes.

  5. Essayez différentes EMA comme DEMA, TEMA pour des paramètres plus doux.

  6. Ajouter le dimensionnement des positions basé sur différents signaux EMA.

  7. Paramètres de recherche pour différentes paires de négociation.

  8. Explorez les méthodes d'apprentissage automatique pour l'optimisation dynamique de l'EMA.

Conclusion

Il s'agit d'une excellente stratégie de suivi de tendance adaptée à la détention à long terme. Il combine habilement le jugement de tendance hebdomadaire et l'exécution quotidienne. Avec des améliorations appropriées, il peut devenir un système de trading multi-temps très pratique.


/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=1

strategy("Investing Weekly mapped to Daily", overlay=true,  pyramiding=100)


// === PLOTTING EMA ===

plot(ema(close, 6), color=aqua, transp=0, linewidth=2, title="ema6")
plot(ema(close, 12), color=white, transp=0, linewidth=2, title="ema12")
plot(ema(close, 26), color=#9802FF, transp=0, linewidth=2, title="ema26")
plot(ema(close, 52), color=orange, transp=0, linewidth=2, title="ema52")
plot(ema(close, 42), color=aqua, transp=0, linewidth=5, title="W-ema6")
plot(ema(close, 84), color=white, transp=0, linewidth=5, title="W-ema12")
plot(ema(close, 182), color=#9802FF, transp=0, linewidth=5, title="W-ema26")
plot(ema(close, 364), color=orange, transp=0, linewidth=5, title="W-ema52")


// === INPUT BACKTEST RANGE ===

FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2017, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"


// === STRATEGY FOR CRYPTO ===

ema42= ema(close, 42)
ema84= ema(close, 84)
ema182= ema(close, 182)

enterLong1 = cross(ema42, ema84) and ema42 > ema84
exitLong1 = cross(ema42, ema84) and ema42 < ema84

enterLong2 = cross(ema84, ema182) and ema84 > ema182
exitLong2 = cross(ema84, ema182) and ema84 < ema182


strategy.entry(id="Entry_1", long=true, when=enterLong1)
strategy.entry(id="Entry_2", long=true, when=enterLong2)
strategy.entry(id="Exit_1", long=false, when=exitLong1)
strategy.entry(id="Exit_2", long=false, when=exitLong2)


Plus de