La stratégie de croisement des moyennes mobiles de Galilée

Auteur:ChaoZhang est là., Date: 2023-12-18 12:07:07 Je vous en prie.
Les étiquettes:

img

Résumé

La stratégie de croisement des moyennes mobiles de Galileo Galilei est une stratégie de trading basée sur des moyennes mobiles. Elle génère des signaux de trading en calculant la moyenne mobile exponentielle (EMA) sur une période spécifiée et en comparant les croisements entre l'EMA et le prix. Les signaux de vente sont générés lorsque le prix tombe en dessous de l'EMA de haut en bas, tandis que les signaux d'achat se produisent lorsque le prix dépasse l'EMA de bas en haut.

La logique de la stratégie

Le noyau de la stratégie de Galileo Galilei réside dans la moyenne mobile exponentielle (EMA).

EMA aujourd'hui = (Coût de clôture aujourd'hui × Facteur de lissage) + (EMA d'hier × (1 − Facteur de lissage))

où le facteur de lissage α = (2/(nombre de périodes + 1))

La stratégie calcule dynamiquement l'EMA en fonction des paramètres de la période d'entrée de l'utilisateur.

  1. Lorsque le prix tombe en dessous de l'EMA de haut en bas, un signal de vente est généré pour la négociation à découvert.

  2. Lorsque le prix dépasse l'EMA depuis le bas, un signal d'achat est déclenché pour la négociation longue.

La stratégie trace également la ligne EMA sur le graphique, ainsi que des flèches indiquant les signaux d'achat et de vente.

Analyse des avantages

La stratégie de convergence des moyennes mobiles de Galileo Galilei présente les avantages suivants:

  1. Une logique simple, facile à comprendre et à mettre en œuvre, adaptée aux débutants.
  2. Une réponse plus rapide aux variations de prix grâce à l'utilisation de l'EMA.
  3. Signaux de croisement clairs sans coups de fouet excessifs.
  4. Flexibilité pour s'adapter à différents environnements de marché en ajustant les paramètres de l'EMA.
  5. Des signaux d'entrée et de sortie définis permettent de contrôler les risques.

Analyse des risques

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

  1. Une stratégie de stop loss pourrait aider à optimiser.
  2. Le fait de s'appuyer sur un seul indicateur le rend vulnérable à la manipulation des prix.
  3. L'effet de retard, surtout après des événements soudains.
  4. Incapable de s'adapter à des tendances de prix unilatérales prolongées, une limitation commune parmi les stratégies de moyenne mobile.

Directions d'optimisation

Quelques façons d'optimiser la stratégie:

  1. Incorporer d'autres indicateurs pour construire une stratégie composite pour une plus grande résistance aux faux signaux.

  2. Ajouter des mécanismes d'arrêt de perte tels que l'arrêt de perte de suivi ou l'arrêt de perte basé sur le pourcentage pour contrôler le montant de la perte d'une seule transaction.

  3. Testez les EMA avec différentes combinaisons de paramètres pour trouver les paramètres optimaux.

  4. Évaluer la logique de réintégration pour capter les rebonds après les renversements de prix initiaux, améliorant ainsi la rentabilité.

Conclusion

Le crossover de la moyenne mobile de Galileo Galilei est une stratégie simple mais pratique avec une logique claire et une facilité d'utilisation. Il convient aux traders de quantités novices. Avec des améliorations continues, sa performance pourrait devenir de plus en plus supérieure au fil du temps.


/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
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/
// © armigoldman

//@version=3
strategy(title="Galileo Galilei", shorttitle="Galileo Galilei", overlay=true, initial_capital = 100000, default_qty_type=strategy.cash, default_qty_value = 100000)
len = input(11, minval=1, title="Length")
src = input(open, title="Source")
out = ema(src, len)
plot(out, title="EMA", color=yellow)
//last8h = highest(close, 8)
//lastl8 = lowest(close, 8)

//plot(last8h, color=red, linewidth=2)
//plot(lastl8, color=green, linewidth=2)

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE

// From Date Inputs
fromDay = input(defval=1, title="From Day", minval=1, maxval=31)
fromMonth = input(defval=1, title="From Month", minval=1, maxval=12)
fromYear = input(defval=2020, title="From Year", minval=1970)

// To Date Inputs
toDay = input(defval=1, title="To Day", minval=1, maxval=31)
toMonth = input(defval=12, title="To Month", minval=1, maxval=12)
toYear = input(defval=2021, title="To Year", minval=1970)

// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true


bearish = cross(close, out) == 1 and close[1] > close
bullish = cross(close, out) == 1 and close[1] < close

plotshape(bearish, color=white, style=shape.arrowdown, text="BEAR", location=location.abovebar)
plotshape(bullish, color=white, style=shape.arrowup, text="BULL", location=location.belowbar)

buy = if cross(close, out) == 1 and close[1] < close
    strategy.entry("BUY", strategy.long, when=time_cond)
        //strategy.close_all(when=bearish)
        // strategy.exit("exit", "Long", profit =, loss = 35)


sell = if cross(close, out) == 1 and close[1] > close
    strategy.entry("SELL", strategy.short, when=time_cond)
        //sell = if bearish
        //strategy.close_all(when=bullish)
        // strategy.exit("exit", "Long", profit = bullish, loss = 100)

profit = strategy.netprofit
if not time_cond
    strategy.close_all()

//plotshape(true, style=shape.triangleup, location=location.abovebar)


Plus de