MetaTrader5
Smart Trend Follower : L'Expert en Trading pour MetaTrader 5
Bienvenue sur notre blog dédié aux traders ! Aujourd'hui, nous allons plonger dans le monde de Smart Trend Follower, un expert qui facilite le trading sur MetaTrader 5. Cet EA (Expert Advisor) est conçu pour vous aider à suivre les tendances du marché de manière automatique, en utilisant des signaux techniques provenant des Moyennes Mobiles et de l'oscillateur Stochastique.
1. Types d'Énumérations (enumJnsSignal, enumOrderType)
enumJnsSignal : Définit le type de signal utilisé dans l'EA. Il y a deux options :
eTypeCrossMA : Utilise le signal de Cross 2 MA (le croisement de deux Moyennes Mobiles).
eTypeTrend : Suit la tendance en utilisant les Moyennes Mobiles et le Stochastique.
enumOrderType : Définit le type d'ordre :
eBuy : Un ordre Achat.
eSell : Un ordre Vente.
eNone : Aucun ordre exécuté.
2. Paramètres d'Entrée
inMagicNumber : Un numéro magique unique pour distinguer les ordres de cet EA.
inLotSize : La taille de lot initiale pour chaque ordre.
inMultiply : Le facteur multiplicateur utilisé dans la stratégie de taille de lot.
inJarakLayer : La distance en pips entre les positions de trading dans la stratégie de grille.
inMAPeriodFast & inMAPeriodSlow : Les périodes pour les Moyennes Mobiles rapide et lente.
inSTOKPeriod, inSTODPeriod, inSTOSlowing : Paramètres pour l'oscillateur Stochastique.
inTakeProfit & inStopLoss : Les réglages pour le Take Profit et le Stop Loss.
3. Structure des Données de Trades
Cette structure est utilisée pour stocker les données relatives aux positions de trading ouvertes, telles que le nombre total de positions (ttlPos), le prix moyen des positions (hargaTA, hargaTB) et le volume total (ttlLot).
4. Fonction OnInit()
Cette fonction gère l'initialisation de l'EA, y compris la validation des paramètres d'entrée (par exemple, s'assurer que la période de la MA rapide est inférieure à celle de la MA lente) et la création de handles pour les indicateurs MA et Stochastique.
5. Fonction OnTick()
La fonction principale exécutée chaque fois que le prix bouge (tick).
Elle appelle la fonction pour vérifier un nouveau signal avec GetSignal(), et si un signal est trouvé, manageTrading() est utilisé pour exécuter les transactions.
Elle appelle également setTPSL() pour s'assurer que le Take Profit et le Stop Loss sont toujours mis à jour.
6. Fonction isNewCandle()
Cette fonction détecte si une nouvelle bougie s'est formée. C'est important car l'EA vérifie les signaux uniquement lors de la formation de nouvelles bougies.
7. Fonction GetSignal()
Cette fonction détermine si un signal de trading valide existe en fonction de la stratégie sélectionnée :
Pour eTypeCrossMA, le signal est déterminé par le croisement des Moyennes Mobiles rapide et lente.
Pour eTypeTrend, le signal utilise la confirmation des MA et du Stochastique.
8. Fonction manageTrading()
Cette fonction gère l'exécution des transactions.
Si un signal valide est détecté, l'EA ouvre une position avec la taille de lot déterminée en utilisant la fonction getLotSize().
Une stratégie de grille est également appliquée pour ouvrir des positions supplémentaires en fonction de la distance de prix (inJarakLayer).
9. Fonction updateDataTrades()
Cette fonction met à jour les données relatives aux positions de trading en cours, telles que le calcul du prix moyen et du volume total des positions ouvertes.
10. Fonction openTrade()
Cette fonction ouvre une nouvelle position de trading basée sur le signal généré et la taille de lot calculée. Elle utilise OrderSend() pour exécuter l'ordre.
11. Fonction setTPSL()
Cette fonction définit ou met à jour le Take Profit et le Stop Loss pour chaque position ouverte.
12. Fonction modifTPSL()
Cette fonction modifie le Take Profit et le Stop Loss des positions existantes si les valeurs diffèrent de celles qui ont été précédemment définies.
13. Fonction validateLot()
Cette fonction s'assure que la taille de lot utilisée est dans la plage minimale et maximale autorisée, ainsi qu'en ligne avec le pas de lot minimum (gLotStep).
14. Fonction getLotSize()
Cette fonction calcule la taille de lot à utiliser en fonction de la taille de lot initiale et du nombre de positions déjà ouvertes, en tenant compte du facteur multiplicateur (inMultiply).
En résumé, ce code est conçu pour capturer les tendances du marché et gérer automatiquement les positions de trading en utilisant des signaux techniques provenant des Moyennes Mobiles et du Stochastique. Alors, êtes-vous prêt à essayer cet Expert Advisor et à optimiser vos stratégies de trading ?
2025.02.04