Développement d'EA & Builder beginner 12 min de lecture

Créer un EA MACD sur MT5 sans programmation (et pourquoi son meilleur résultat était le plus dangereux)

EA MACD sur MT5 sans programmation : assemblez un Expert Advisor de croisement MACD à partir de blocs dans le navigateur, compilez-le en un vrai .ex5 et lisez ses chiffres honnêtement. Avec le résultat qui devrait le plus vous inquiéter : la propre recherche de paramètres du Builder a trouvé un réglage MACD noté 1,14 hors échantillon, qui s'est ensuite effondré à 0,74 sur la fenêtre précédente.

Publié · Révisé

Vous construisez un Expert Advisor MACD dans MT5 sans coder en posant un nœud Start, deux blocs MACD — l’un qui lit la ligne principale, l’autre la ligne de signal —, une condition Cross entre les deux, et un bloc d’ordre. Le serveur génère et compile le MQL5, puis vous remet un vrai .ex5. Quinze minutes, aucune syntaxe.

Vient ensuite la partie qui décide si ce fichier vaut quelque chose. Cette recette possède un relevé mesuré, et son chiffre le plus flatteur est celui auquel vous devriez le moins vous fier.

Ce que vous allez construire

Un EA à position unique sur une paire, qui achète quand la ligne MACD passe au-dessus de sa ligne de signal et vend quand elle passe en dessous, avec un stop et un objectif fixes, compilé en un vrai .ex5. Huit blocs.

Deux blocs de ce total n’existent que pour une seule raison : le bloc indicateur MACD ne renvoie qu’une ligne à la fois.

Avant de commencer : ce que le MACD indique, et quelle ligne vous lisez

Il vous faut un compte gratuit avec une adresse e-mail vérifiée (concevoir est gratuit et ne demande aucune connexion ; compiler en .ex5 en demande une), une quinzaine de minutes, et un terminal MetaTrader 5.

Le MACD soustrait une moyenne mobile lente d’une moyenne rapide, puis lisse à nouveau cette différence. La ligne principale mesure donc de combien deux moyennes se sont écartées, et la ligne de signal est cette mesure lissée. Tout ce qu’une règle MACD peut dire est une affirmation sur la distance entre deux moyennes — ce qui en fait un outil de tendance déguisé en oscillateur, et il hérite du retard des deux moyennes qui l’ont construit.

Le bloc MACD du Builder expose ces réglages :

Réglage du blocDéfautCe qu’il contrôle
fast_ema12La moyenne la plus rapide. Plage 1–999
slow_ema26La plus lente. L’écart entre les deux est tout le signal
signal_period9Le lissage appliqué à la différence avant que vous ne la compariez
lineMODE_MAINQuelle ligne ce bloc produitMODE_MAIN ou MODE_SIGNAL
applied_pricePRICE_CLOSEQuel prix alimente le calcul
shift00 est la bougie en formation ; 1 la dernière clôturée
timeframegraphique courantN’importe laquelle de M1 à MN1, lue indépendamment du graphique

line est la ligne du tableau qui change la forme de votre flux. C’est un sélecteur à deux valeurs, donc un bloc vous donne une ligne. Un croisement de la ligne de signal demande par conséquent deux blocs MACD ; un croisement de la ligne zéro n’en demande qu’un, plus une comparaison à une constante.

Pas à pas : construire l’EA MACD dans le Builder

  1. Ouvrez l’EA Builder et chargez le modèle macd_signal depuis la galerie, ou partez d’une toile vierge pour le câbler vous-même.
  2. Posez un nœud Start pris dans la palette Utility. Sans lui, la validation arrête la construction avec EAB-E202.
  3. Ajoutez un bloc MACD et laissez line sur MODE_MAIN. Laissez 12/26/9 tel quel pour la première construction, afin que votre résultat reste comparable à la référence ci-dessous.
  4. Ajoutez un second bloc MACD avec des périodes identiques et mettez line sur MODE_SIGNAL. Même indicateur, mêmes réglages, sortie différente — c’est l’étape que les gens sautent, et la sauter est la raison pour laquelle leur flux compare une ligne à elle-même.
  5. Reliez les deux à une condition Cross. Cross prend deux entrées et demande si l’une a croisé l’autre sur cette bougie ; son cross_type vaut crossover ou crossunder, donc le côté achat et le côté vente sont deux conditions distinctes, et non une seule inversée.
  6. Reliez chaque condition à son propre bloc Open Buy / Open Sell. Relier un indicateur directement à un ordre est rejeté avec EAB-E205 — une valeur brute n’est pas une décision.
  7. Fixez le risque dans l’onglet Settings. Les valeurs par défaut partagées sont un stop de 50 pips, un objectif de 100 pips et un lot fixe de 0.01 ; un flux sans stop valide déclenche un diagnostic préalable CRITICAL avant de pouvoir construire.
  8. Appuyez sur Measure et lisez le résultat face au seuil qu’imprime le panneau lui-même : facteur de profit d’au moins 1,2, au moins 60 trades, drawdown pas pire que 20 %.
  9. Appuyez sur Compile .ex5, déplacez le fichier dans MQL5/Experts via Fichier > Ouvrir le dossier de données (File > Open Data Folder), actualisez le Navigateur, et testez-le dans le testeur de stratégies avant qu’il n’approche d’un compte.
  • Nœud Start
  • Bloc MACD, line = MODE_MAIN
  • Bloc MACD, line = MODE_SIGNAL
  • Cross — crossover pour l’achat, crossunder pour la vente
  • Open Buy et Open Sell
  • Stop loss et take profit
  • Compiler en .ex5
Pourquoi la recette du croisement de la ligne de signal a besoin de deux blocs MACD, et celle de la ligne zéro non

Si vous voulez plutôt la version ligne zéro, supprimez le second bloc MACD et remplacez Cross par Compare, dont les opérateurs sont > < >= <= == != et dont l’offset vaut 0 par défaut. « MACD principal au-dessus de zéro » affirme que la moyenne rapide est au-dessus de la lente, tout simplement — un événement bien plus rare et bien plus tardif que le contact des deux lignes. La palette propose aussi OsMA, qui produit directement la différence principale-moins-signal sous forme d’une seule valeur : une règle d’histogramme demande donc un bloc au lieu de deux.

Entrée, sortie et paramètres du MACD

RéglageValeur du modèleCe que le déplacer fait
fast_ema12Plus bas réagit plus tôt et croise bien plus souvent ; le nombre de trades bouge avant le taux de réussite
slow_ema26L’augmenter élargit l’écart que la ligne rapide doit parcourir, donc les signaux arrivent plus tard et plus rarement
signal_period9Le lissage de la ligne de comparaison. Plus court signifie plus de croisements, dont la plupart sont du bruit
lineMODE_MAINCe n’est pas un bouton de réglage — il décide quelle règle vous avez construite
shift0Mettez 1 pour ne décider que sur des bougies clôturées
Stop loss50 pips (défaut partagé)La plage cherchée allait de 30 à 80
Take profit100 pips (défaut partagé)La plage cherchée allait de 60 à 250

Sur le retard, qui est la critique honnête que l’on peut faire à cet indicateur. Chaque valeur produite ici est la sortie de deux moyennes empilées sur une troisième. Un croisement est donc le compte rendu d’un mouvement déjà survenu — la seule question est de savoir avec quel retard. Raccourcir fast_ema achète de la précocité et la paie en faux croisements ; allonger slow_ema achète de la fiabilité et la paie en entrées qui arrivent après le mouvement. Le propre relevé du modèle indique où il a atterri : 698 trades en un an, le deuxième nombre le plus élevé des treize modèles de tendance et de momentum mesurés dans des conditions identiques. C’est une conception qui se déclenche sans arrêt, et se déclencher sans arrêt est exactement ce que coûte un retard court.

Ce que la recherche a touché et ce qu’elle n’a pas touché. La recherche de paramètres enregistrée n’a fait varier que le stop et l’objectif — SL30-80 × TP60-250, 12 combinaisons sur trois fenêtres en H1. Elle n’a jamais fait varier fast_ema, slow_ema ni signal_period. Rien sur cette page n’appuie donc l’idée que 12/26/9 soit juste, faux ou améliorable. Elle appuie une affirmation bien plus étroite et bien plus utile : aucune combinaison de stop et d’objectif n’a sauvé cette conception.

Backtester l’EA MACD

Voici le relevé mesuré par le Builder lui-même, et non une nouvelle passe ; chaque modèle de la comparaison partage l’unique bloc de conditions ci-dessous. Comment nous testons énonce la norme à laquelle ces relevés sont tenus.

Référence de macd_signalValeur
Facteur de profit0,93
Trades698
Drawdown maximal-1,05 %
Net-93,93
Rang dans son voisinage par facteur de profit8e sur 13
Rang dans son voisinage par nombre de trades2e sur 13
Franchit le seuil de réussite du panneau Measurenon
Conditions du test
Identifiant d’expérienceEXP-MACD-RECIPE-BASELINE-001
Expérience parenteEXP-BUILDER-TEMPLATE-BASELINE-001
Symbole / unité de tempsUSDJPYm M5
Période2025-06-01 – 2026-06-09
ModèleM1 OHLC (Model=1)
Dépôt10,000
EnvironnementExness MT5
Référence mesurée2026-06-18
Dernière vérification2026-08-25
1,14Meilleur facteur de profit hors échantillon trouvé par la recherche enregistrée
0,74Ce que ce même réglage a obtenu sur la fenêtre précédente
8e sur 13Où se classe le modèle MACD parmi les conceptions de tendance et de momentum mesurées à l'identique

Le résultat de cette recherche mérite plus d’une ligne. Huit modèles de la galerie portent une recherche de paramètres enregistrée, et tous les huit ont fini sur no_robust_edge. Mais ils ont échoué de deux façons différentes, et la différence compte davantage que le verdict commun. Deux d’entre eux n’ont jamais produit le moindre réglage gagnant, même sur la période à laquelle la recherche a été calée. macd_signal est le seul à avoir produit un réglage qui a franchi 1,0 hors échantillon — 1,14 à 1,15 à l’objectif le plus large — avant d’obtenir 0,74 à 0,77 sur la fenêtre précédente. Le mot qu’emploie le manifeste lui-même est dépendant du régime.

Lisez ce que cela implique sur la façon de tester. Si vous aviez coupé vos données une seule fois, calé sur la première moitié et vérifié sur la seconde, ce modèle vous aurait remis un résultat réussi. La seule chose qui l’a démasqué a été de vérifier une troisième période que la recherche n’avait jamais vue. C’est l’argument en faveur de l’analyse walk-forward sur un cas concret, et il vaut plus que n’importe quel avertissement général sur le surapprentissage.

Où se situe le MACD parmi ses voisins, tous mesurés sous l’unique bloc de conditions ci-dessus :

ModèleBlocsFacteur de profitDrawdownTrades
ma_perfect_order_trend101,07-0,36 %305
mtf_osc_filter271,04-0,64 %187
consecutive_bars_momentum71,03-0,36 %377
ao_ama_trend140,97-0,95 %239
adx_trend120,96-0,76 %534
multi_tf_trend150,96-0,51 %247
ma_crossover90,95-0,84 %420
macd_signal80,93-1,05 %698
ma_slope_trend70,92-1,00 %478
mtf_adx_filter140,92-0,84 %343
elder_ray90,90-1,34 %529
pitch_trail_trend90,77-1,61 %467
dynamic_sl_trend90,68-1,62 %708

Coupez ces treize conceptions à leur propre nombre de trades médian, 420, et les deux moitiés se séparent nettement. Les six qui ont le moins tradé affichent en moyenne un facteur de profit de 1,00 sur 283 trades avec un drawdown de -0,61 %. Les six qui ont le plus tradé affichent 0,86 sur 569 trades avec -1,23 % — de moins bons résultats et deux fois la profondeur. Les trois conceptions au-dessus de 1,0 se trouvent toutes dans la moitié la plus calme. Le MACD est dans la plus active.

C’est la description de treize conceptions sous un seul protocole, pas une loi : la logique d’entrée, le nombre de nœuds et les sorties diffèrent aussi, donc la fréquence n’est pas établie comme la cause. Mais c’est le schéma que vous avez devant vous, et le modèle MACD livré est du mauvais côté.

Les erreurs courantes à éviter

Croire à une réussite hors échantillon. C’est l’erreur que ce modèle existe pour démontrer. Une seule période mise de côté est un échantillon unique, et une règle de momentum peut gagner un échantillon unique parce que le marché a été en tendance pendant celui-ci. Testez une troisième fenêtre que la recherche n’a jamais vue avant de croire un chiffre.

Comparer une ligne à elle-même. Si les deux blocs MACD restent sur MODE_MAIN, la condition Cross compare des valeurs identiques et ne se déclenche jamais — ou se déclenche sur un arrondi. Vérifiez le réglage line sur les deux blocs avant de vous demander pourquoi le nombre de trades est nul.

Lire un croisement comme une prédiction. Le MACD, ce sont deux moyennes d’une moyenne. Un croisement rapporte qu’un mouvement est déjà en cours depuis quelques bougies. Le choix de conception porte sur le retard que vous acceptez, pas sur le fait d’en accepter un ou non.

Ajuster le stop et l’objectif jusqu’à ce que la courbe de capital ait bonne mine. La recherche enregistrée l’a déjà fait systématiquement sur 12 combinaisons et trois fenêtres, et a rapporté no_robust_edge. Si votre ajustement manuel bat une recherche systématique, soupçonnez l’ajustement.

Empiler les filtres de momentum. La composition ci-dessus est la version mesurée de cet instinct : 3,76 fois le drawdown pour un facteur de profit légèrement pire.

Le faire tourner à côté d’un autre EA sans les séparer. Chaque EA sur un même compte a besoin de son propre magic number, faute de quoi les sorties de l’un ferment les positions de l’autre.

Prochaines étapes et variantes

Quand ne pas utiliser le MACD. Dans un marché en range, deux moyennes se croisent à répétition et chaque croisement est du bruit — et un réglage par défaut qui se déclenche vite est exactement ce qu’un range punit. Si vous ne savez pas énoncer une condition qui arrête la règle pendant les phases plates, soit vous en ajoutez une, soit vous utilisez une idée qui ne dépend pas de l’écartement des deux moyennes.

Les variantes qui méritent un essai, par ordre de preuve. Essayez d’abord la version ligne zéro : elle est plus simple d’un bloc et se déclenche bien moins souvent, et c’est dans la moitié la plus calme du voisinage que se situe chaque résultat au-dessus de 1,0. Essayez ensuite la même règle sur un timeframe supérieur à l’intérieur du bloc MACD, ce qui ralentit le signal sans toucher au graphique. Ne déplacez les périodes qu’après cela — et changez-en une à la fois.

Puis testez-le pour de bon. Le panneau Measure travaille à la bougie et de façon approximative ; c’est un filtre, pas un verdict. Comment faire un backtest sur MT5 déroule une vraie passe de bout en bout, y compris lequel des deux drawdowns du rapport croire. Comment créer un EA RSI est la recette sœur, avec le mode de défaillance inverse : sa recherche n’a jamais rien gagné, ce qui la rend plus facile à rejeter et moins instructive que celle-ci. Comment créer un EA MT5 sans coder couvre le vocabulaire de blocs plus large, et les guides de backtesting approfondissent l’étape de walk-forward que cette page défend.

Et pour calibrer ce à quoi ressemble un relevé documenté, chaque fiche des EA publiés porte sa liste complète de trades clôturés et son manifeste d’exécution. Comparez-en une au tableau ci-dessus avant de faire confiance à une stratégie quelle qu’elle soit, y compris celle que vous avez construite vous-même.

Questions fréquentes

Quelle est la différence entre un croisement de la ligne de signal et un croisement de la ligne zéro sur le MACD ?
Ce sont deux questions différentes et, dans le Builder, deux câblages différents. Un croisement de la ligne de signal demande si la ligne MACD a croisé sa propre moyenne à 9 périodes : il faut donc deux blocs MACD — l'un réglé sur MODE_MAIN, l'autre sur MODE_SIGNAL — qui alimentent une condition Cross. Un croisement de la ligne zéro demande simplement si le momentum a changé de signe : il faut donc un seul bloc MACD sur MODE_MAIN et une comparaison à 0. La version ligne de signal se déclenche bien plus souvent et bien plus tôt ; la version ligne zéro se déclenche rarement et tard. Le modèle livré utilise la forme ligne de signal, et c'est la deuxième conception la plus active de tout son voisinage.
Quels sont les meilleurs réglages de MACD pour un EA ?
Rien sur cette page ne peut vous le dire, et cela mérite d'être énoncé clairement. Le bloc MACD du Builder prend par défaut 12/26/9 sur la clôture, et la recherche de paramètres enregistrée sur ce modèle n'a fait varier que le stop et l'objectif — SL30-80 par TP60-250, 12 combinaisons sur 3 fenêtres. Elle n'a jamais fait varier fast_ema, slow_ema ni signal_period, pas une seule fois. Tout article qui vous cite un « meilleur » jeu de périodes vous cite une préférence, pas une mesure. Ce que la recherche a bel et bien établi, c'est qu'aucune combinaison de stop et d'objectif n'a rendu cette conception robuste.
Une stratégie de croisement MACD est-elle rentable ?
Pas telle qu'elle est livrée ici. Mesuré sur l'USD/JPY en M5 sur un an, le modèle macd_signal du Builder termine à un facteur de profit de 0,93 sur 698 trades — la deuxième conception la plus active des treize modèles de tendance et de momentum mesurés dans des conditions identiques, et la huitième sur treize par le résultat. Plus utile encore : sa recherche enregistrée a bien trouvé un réglage atteignant 1,14 à 1,15 hors échantillon, qui est ensuite retombé à 0,74 à 0,77 sur la fenêtre précédente. Voilà la réponse honnête : des résultats d'apparence rentable existent, et ils n'ont pas tenu d'un régime de marché à l'autre.
Faut-il ajouter d'autres indicateurs pour filtrer mon EA MACD ?
Regardez ce que la combinaison a réellement fait avant de supposer qu'elle aide. La galerie livre une composition qui contient exactement ce modèle — macd_signal plus une règle de niveau CCI plus Elder Ray — et dans des conditions identiques elle a terminé à un facteur de profit de 0,91 contre 0,93 pour le MACD seul, avec 3,76 fois le drawdown sur 2 016 trades. Les trois parties sont des lectures de momentum du même prix : elles ont donc tendance à s'accorder et à se déclencher ensemble plutôt qu'à diversifier. Un filtre aide quand il contredit parfois votre entrée ; trois versions de la même idée, non.