Cette stratégie est une stratégie de négociation typique de croisement des moyennes mobiles. Elle utilise l’intersection des moyennes mobiles rapides et des moyennes mobiles lentes comme signal d’achat et de vente. Elle est considérée comme un signal d’achat lorsque la moyenne mobile rapide traverse la moyenne mobile lente par le bas et comme un signal de vente lorsque la moyenne mobile rapide traverse la moyenne mobile lente par le haut et par le bas.
La stratégie est principalement réalisée par les étapes suivantes:
Les paramètres FastMA et SlowMA sont définis comme suit:
Selon le type d’entrée Type, calculer la moyenne mobile rapide fast et la moyenne mobile lente. Type = 1 pour la moyenne mobile simple, Type = 2 pour la moyenne mobile indicielle.
Réglez les plages de temps de retour start et finish
Définition de la fonction de croisement: lorsque le fast traverse le slow par le bas, il génère un signal d’achat; lorsque le fast traverse le slow par le haut, il génère un signal de vente.
Lorsqu’une fonction croisée est déclenchée, un ordre d’achat ou de vente est émis si la position est ouverte ou fermée dans la période de retracement.
À la fin de la fenêtre de réévaluation ou lorsque la fonction de croisement est utilisée, l’instruction de fermeture est émise.
Graphique des tendances des moyennes mobiles rapides fast et des moyennes mobiles lentes slow.
La stratégie détermine la tendance de la période de tenue en croisant des moyennes mobiles rapides et lentes et génère un signal de transaction en conséquence. En même temps, la fenêtre de temps de rétroaction est configurée pour simuler la transaction réelle.
Cette stratégie présente les avantages suivants:
Les moyennes mobiles sont très efficaces pour détecter les tendances et filtrer les fluctuations aléatoires.
La combinaison des moyennes mobiles rapides et lentes permet d’identifier les changements de tendance.
Il est possible d’adapter les paramètres des moyennes mobiles aux tendances de différentes périodes.
Vous pouvez choisir entre une moyenne mobile simple ou une moyenne mobile indexée.
Les paramètres de la stratégie peuvent être testés et optimisés par la fonction de rétroaction.
La logique de la stratégie est simple, claire et facile à comprendre.
Il est possible de tracer des graphiques de moyennes mobiles permettant de juger intuitivement des tendances et des effets.
Cette stratégie comporte aussi des risques:
Dans le cadre de la compilation, il peut y avoir des signaux erronés.
Les moyennes mobiles ont un retard et peuvent manquer un point de basculement.
Il s’appuie uniquement sur la transversalité homogène, sans filtrage associé à d’autres indicateurs ou conditions.
L’impact sur le coût de la transaction n’est pas pris en compte.
Aucune stratégie de stop loss n’a été définie.
Les paramètres déraisonnables peuvent affecter l’efficacité de la stratégie.
Le choix de la plage de temps de détection n’est pas approprié et peut entraîner une suradaptation.
Cette stratégie peut être optimisée dans les domaines suivants:
Le MACD et le RSI sont utilisés pour vérifier les signaux afin d’améliorer la précision.
Ajouter des stratégies de stop-loss pour contrôler les pertes individuelles
Optimiser les paramètres des moyennes mobiles pour les différentes périodes.
Ajout d’une gestion des emplacements ouverts et d’une gestion des emplacements en fonction des conditions du marché.
Le coût de la transaction est pris en compte pour modifier les points d’entrée et de sortie.
Les données sont testées sur une plus longue période de temps pour éviter les surcorrélations.
Les paramètres sont constamment optimisés à l’aide de l’analyse de marche avant.
La stratégie de croisement des moyennes mobiles est une stratégie de suivi de tendance simple et pratique. Elle permet de filtrer les fluctuations aléatoires et d’identifier la direction de la tendance.
/*backtest
start: 2023-09-13 00:00:00
end: 2023-09-20 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
// strategy("MavCrossover v2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
// Revision: 1
// Author: @ToS_MavericK
// === INPUT SMA ===
fastMA = input(defval = 13, title = "FastMA", minval = 1, step = 1)
slowMA = input(defval = 144, title = "SlowMA", minval = 1, step = 1)
Type = input(defval = 1, title = "Type (1 = SMA, 2 = EMA)", minval = 1, maxval = 2, step = 1)
SlowMAIsFactor = input(false)
slowMA := SlowMAIsFactor == true ? round(fastMA * slowMA) : slowMA
// === INPUT BACKTEST RANGE ===
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 = 2018, title = "From Year", minval = 2012)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToYear = input(defval = 2020, title = "To Year", minval = 2012)
// === FUNCTION EXAMPLE ===
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"
// === MA SETUP ===
fast = Type == 1 ? sma(close, fastMA) : ema(close, fastMA)
slow = Type == 1 ? sma(close, slowMA) : ema(close, slowMA)
// === EXECUTION ===
strategy.entry("L", strategy.long, when = crossover(fast, slow) and window()) // buy long when "within window of time" AND crossover
strategy.close("L", when = crossunder(fast, slow) or time > finish) // sell long when window ends OR crossunder
plot(fast, title = 'FastMA', color = yellow, linewidth = 2, style = line) // plot FastMA
plot(slow, title = 'SlowMA', color = aqua, linewidth = 2, style = line) // plot SlowMA