MetaTrader4
Moyenne Mobile : Votre Expert en Trading sur MetaTrader 4
La stratégie de la Moyenne Mobile pour générer des signaux de trading repose sur l'utilisation d'une seule moyenne mobile. Les ouvertures et fermetures de positions s'effectuent lorsque la moyenne mobile croise le prix sur la barre récemment formée (l'index de la barre équivaut à 1). La taille des lots sera optimisée selon un algorithme spécifique.
Cet expert en trading analyse la concordance entre la moyenne mobile et le graphique des prix du marché. Ce contrôle est réalisé par la fonction CheckForOpen(). Si la moyenne mobile se positionne de manière à être supérieure au prix d'ouverture mais inférieure au prix de clôture, une position d'achat (BUY) sera ouverte. Inversement, si la moyenne mobile est inférieure au prix d'ouverture mais supérieure au prix de clôture, une position de vente (SELL) sera engagée.
La gestion des fonds utilisée par cet expert est simple, mais efficace : le contrôle du volume de chaque position se fait en fonction des résultats des transactions précédentes. Cet algorithme est mis en œuvre par la fonction LotsOptimized(). La taille de lot de base est calculée sur la base du risque maximal autorisé :
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
Le paramètre MaximumRisk représente le pourcentage de risque de base pour chaque transaction. Il se situe généralement entre 0,01 (1%) et 1 (100%). Par exemple, si la marge libre (AccountFreeMargin) est de 20 500 € et que les règles de gestion du capital préconisent un risque de 2 %, la taille de lot de base sera de 20 500 * 0,02 / 1000 = 0,41. Il est crucial de contrôler la précision de la taille des lots et de normaliser le résultat avec les valeurs acceptables. En général, des lots fractionnaires avec un pas de 0,1 sont autorisés. Une transaction d'un volume de 0,41 ne pourra pas être réalisée. Pour normaliser, la fonction NormalizeDouble() est utilisée avec une précision allant jusqu'à 1 chiffre après la virgule. Cela aboutit à un lot de base de 0,4. Ce calcul de lot de base en fonction de la marge libre permet d'augmenter les volumes de transactions en fonction du succès des opérations, c'est-à-dire de trader avec réinvestissement. C'est le mécanisme fondamental avec une gestion de capital obligatoire pour accroître l'efficacité du trading.
Le DecreaseFactor est le facteur selon lequel la taille des lots sera réduite après des transactions non rentables. Les valeurs normales sont 2, 3, 4, 5. Si les transactions précédentes ont été non rentables, les volumes suivants diminueront d'un facteur de DecreaseFactor afin de traverser la période défavorable. C'est le facteur principal de l'algorithme de gestion de capital. L'idée est très simple : si le trading est en augmentation, l'expert travaille avec le lot de base pour maximiser le profit. Après la première transaction non rentable, l'expert va "ralentir" jusqu'à ce qu'une nouvelle transaction positive soit réalisée. L'algorithme permet de désactiver cette "réduction de vitesse" ; pour ce faire, il suffit de spécifier DecreaseFactor = 0. Le nombre de transactions non rentables successives est calculé dans l'historique des trades. La taille de lot de base sera recalculée sur cette base :
if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
Ainsi, l'algorithme permet de réduire efficacement le risque résultant d'une série de transactions non rentables. La taille des lots est obligatoirement vérifiée pour la taille minimale autorisée à la fin de la fonction, car les calculs précédents peuvent aboutir à lot = 0 :
if(lot<0.1) lot=0.1;
Cet expert est principalement conçu pour travailler avec la période quotidienne, et en mode de test - pour effectuer des opérations sur les prix de clôture. Il ne tradera qu'à l'ouverture d'une nouvelle barre, c'est pourquoi les modes de modélisation chaque tick ne sont pas nécessaires.
Les résultats des tests sont présentés dans le rapport.
Rapport de Test de StratégieMoyenne Mobile
SymboleEURUSD (Euro contre Dollar US)
Période1 Heure (H1) 08/01/2003 00:00 - 25/11/2003 00:00
ModèleChaque tick (basé sur tous les timeframes disponibles avec interpolation fractale de chaque tick)
ParamètresLots=0.1; MaximumRisk=0.01; DecreaseFactor=1; MovingPeriod=16; MovingShift=11;
Barres dans le test19371Ticks modélisés656918Qualité de modélisation25.00%
Dépôt initial10 000,00
Profit net total1 695,20Profit brut4 293,20Perte brute-2 598,00
Facteur de profit1,65Payoff espéré10,80
Drawdown absolu40,35Drawdown maximal (%)318,50 (3,0%)
Transactions totales157Positions courtes (gagnées %)73 (26,03%)Positions longues (gagnées %)84 (32,14%)
Transactions profitables (% du total)46 (29,30%)Transactions perdantes (% du total)111 (70,70%)
Plus grandetransaction profitable262,55transaction perdante-91,00
Moyennetransaction profitable93,33transaction perdante-23,41
Maximalevictoires consécutives (profit en argent)2 (387,15)pertes consécutives (perte en argent)7 (-287,25)
Maximaleprofit consécutif (nombre de victoires)387,15 (2)perte consécutive (nombre de pertes)-287,25 (7)
Moyennevictoires consécutives1pertes consécutives3
2005.11.29