Stratégie de négociation de la moyenne mobile à double jour

Auteur:ChaoZhang est là., Date: 2024-02-27 16:36:31 Je vous en prie.
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de trading intraday simple basée sur des moyennes mobiles doubles. Il utilise deux moyennes mobiles simples avec des périodes différentes et prend des positions longues ou courtes lorsque les moyennes mobiles se croisent. La position est inversée en utilisant une quantité double lorsque le signal change.

La logique de la stratégie

La stratégie utilise une moyenne mobile simple de 10 jours et de 40 jours. Elle va long lorsque la moyenne mobile de courte période dépasse la moyenne mobile de longue période et va court lorsque le croisement inverse se produit. Lorsque le signal change, la position est fermée en utilisant une quantité double et une position inverse est initiée.

La stratégie utilise principalement la capacité de capture plus rapide des changements de prix de la moyenne mobile à plus courte période. Lorsque la courte SMA traverse au-dessus de la longue SMA, elle indique une tendance haussière des prix à court terme, donc aller long peut la capturer. L'inverse indique une tendance à la baisse à court terme.

Les avantages

  1. Une logique stratégique simple et claire, facile à comprendre et à mettre en œuvre.
  2. Capture efficacement les tendances des prix à court terme en utilisant le double crossover MA.
  3. Éviter le risque du jour au lendemain en limitant la séance à une séance intradienne.
  4. Élargit le potentiel de profit en utilisant le double volume du reverse trading.

Analyse des risques

  1. Prédisposé à des erreurs de négociation de bruit en tant que stratégie à court terme.
  2. Une double quantité peut amplifier les pertes.
  3. Les risques de décalage forcé font défaut à des tendances plus rentables.

Réduction des risques:

  1. Optimiser les paramètres MA pour réduire les faux signaux.
  2. Ajouter des filtres à l'aide d'autres indicateurs.
  3. Optimiser les paramètres de quantité.
  4. Détendez-vous sur la durée de la séance intraday.

Des possibilités d'amélioration

  1. Optimiser les paramètres MA en testant plus de combinaisons pour le meilleur ajustement.

  2. Ajouter des filtres comme la confirmation MACD pour réduire les faux signaux.

  3. Optimiser le multiplicateur de quantité d'entrée inverse grâce à l'ajustement des paramètres.

  4. Testez en prolongant la durée de la session intradienne pour obtenir de meilleurs rendements.

Conclusion

La stratégie capte les tendances à court terme formées à partir des signaux de croisement MA, élargit les profits en utilisant le double volume de négociation inverse et limite les risques du jour au lendemain en négociant uniquement dans une session intraday.


/*backtest
start: 2024-02-19 00:00:00
end: 2024-02-26 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Pritesh-StocksDeveloper

//@version=4
strategy("Moving Average - Intraday", shorttitle = "MA - Intraday", 
     overlay=true, calc_on_every_tick = true)

// Used for intraday handling
// Session value should be from market start to the time you want to square-off 
// your intraday strategy
var i_marketSession = input(title="Market session", type=input.session, 
     defval="0915-1455", confirm=true)

// Short & Long moving avg. period
var int i_shortPeriod = input(title = "Short MA Period", type = input.integer, 
     defval = 10, minval = 2, maxval = 20, confirm=true)
var int i_longPeriod = input(title = "Long MA Period", type = input.integer, 
     defval = 40, minval = 3, maxval = 120, confirm=true)

// A function to check whether the bar is in intraday session
barInSession(sess) => time(timeframe.period, sess) != 0

// Calculate moving averages
shortAvg = sma(close, i_shortPeriod)
longAvg = sma(close, i_longPeriod)

// Plot moving averages
plot(series = shortAvg, color = color.red, title = "Short MA", 
     linewidth = 2)
plot(series = longAvg, color = color.blue, title = "Long MA", 
     linewidth = 2)

// Long/short condition
longCondition = crossover(shortAvg, longAvg)
shortCondition = crossunder(shortAvg, longAvg)

// See if intraday session is active
bool intradaySession = barInSession(i_marketSession)

// Trade only if intraday session is active

// Long position
strategy.entry(id = "Long", long = strategy.long, 
     when = longCondition and intradaySession)

// Short position
strategy.entry(id = "Short", long = strategy.short, 
     when = shortCondition and intradaySession)

// Square-off position (when session is over and position is open)
squareOff = (not intradaySession) and (strategy.position_size != 0)
strategy.close_all(when = squareOff, comment = "Square-off")

Plus de