Page 3 sur 3

Re: Apprendre MQL5

Publié : 16 août 2019, 14:58
par Pierre8r
Bonjour,

Je pense coder en MQL5 à partir de maintenant et peut-être jusqu'à 20h.
Si vous souhaitez me voir travailler en partage d'écran, ou travailler avec moi, mon pseudo Skype est Pierre8r.
Dans votre message de contact me dire que vous prenez contact avec moi pour MQL5.
N'hésiter pas à venir même pour 5 minutes. :lol:

Re: Apprendre MQL5

Publié : 18 août 2019, 16:15
par Pierre8r
Bonjour,

Je pense coder en MQL5 à partir de maintenant durant environ 1 h.
Donc jusqu'à environ 17h30.
Si vous souhaitez me voir travailler en partage d'écran, ou travailler avec moi, mon pseudo Skype est Pierre8r.
Dans votre message de contact me dire que vous prenez contact avec moi pour MQL5.
N'hésiter pas à venir même pour 5 minutes. :lol:

Re: Apprendre MQL5

Publié : 19 août 2019, 16:41
par Pierre8r
Bonjour,

Je pense coder en MQL5 à partir de maintenant et jusqu'à environ 18h00.
Si vous souhaitez me voir travailler en partage d'écran, ou travailler avec moi, mon pseudo Skype est Pierre8r.
Dans votre message de contact me dire que vous prenez contact avec moi pour MQL5.
N'hésiter pas à venir même pour 5 minutes. :lol:

Re: Apprendre MQL5

Publié : 20 août 2019, 15:44
par Pierre8r
Bonjour,

Je pense coder en MQL5 à partir de maintenant et peut-être jusqu'à environ 20h00.
Mais avec une pause d'au moins une heure voire plus, donc si je ne vous réponds pas instantanément c'est que je suis en pause.
Si vous souhaitez me voir travailler en partage d'écran, ou travailler avec moi, mon pseudo Skype est Pierre8r.
Dans votre message de contact me dire que vous prenez contact avec moi pour MQL5.
N'hésiter pas à venir même pour 5 minutes. :lol:

Re: Apprendre MQL5

Publié : 30 août 2019, 18:35
par Pierre8r
Bonjour,

Je pense coder en MQL5 à partir de maintenant et peut-être jusqu'à environ 20h00.
Si vous souhaitez me voir travailler en partage d'écran, ou travailler avec moi, mon pseudo Skype est Pierre8r.
Dans votre message de contact me dire que vous prenez contact avec moi pour MQL5.
N'hésiter pas à venir même pour 5 minutes. :lol:

Re: Apprendre MQL5

Publié : 31 août 2019, 11:38
par Pierre8r
Bonjour,

Je pense coder en MQL5 à partir de maintenant et durant une heure jusqu'à environ midi 30.
Si vous souhaitez me voir travailler en partage d'écran, ou travailler avec moi, mon pseudo Skype est Pierre8r.
Dans votre message de contact me dire que vous prenez contact avec moi pour MQL5.
N'hésiter pas à venir même pour 5 minutes. :lol:

Re: Apprendre MQL5

Publié : 31 août 2019, 14:48
par Pierre8r
Et c'est reparti pour jusqu'à environ 16h30

Re: Apprendre MQL5

Publié : 31 août 2019, 17:53
par Pierre8r
Et c'est reparti pour jusqu'à environ 20h00

Aujourd'hui mon choix est d'essayer de développer un système de backtest pour trading semi-automatique.
C'est-à-dire :
Première étape :
je développe un pseudo indicateur qui n'affiche qu'un partie des cotations.
Avec un système de navigation on peut afficher une semaine supplémentaire, si on a choisi de faire du trading semi-automatique hebdomadaire.

L'idée de base m'est venu du titre de cet article :
https://www.mql5.com/en/articles/3965

Re: Apprendre MQL5

Publié : 01 sept. 2019, 15:56
par Pierre8r
Bonjour,

Je pense coder en MQL5 à partir de maintenant et peut-être jusqu'à environ 17h30.
Si vous souhaitez me voir travailler en partage d'écran, ou travailler avec moi, mon pseudo Skype est Pierre8r.
Dans votre message de contact me dire que vous prenez contact avec moi pour MQL5.
N'hésiter pas à venir, même pour 5 minutes. :lol:

Re: Apprendre MQL5

Publié : 02 sept. 2019, 15:12
par Pierre8r
Bonjour,

Je pense coder en MQL5 à partir de maintenant et peut-être jusqu'à environ 16h30.
Si vous souhaitez me voir travailler en partage d'écran, ou travailler avec moi, mon pseudo Skype est Pierre8r.
Dans votre message de contact me dire que vous prenez contact avec moi pour MQL5.
N'hésiter pas à venir, même pour 5 minutes. :lol:

Re: Apprendre MQL5

Publié : 02 sept. 2019, 15:53
par Pierre8r
Voila ce que j'essaie de faire :
5276426 - ActivTrades-Server Demo Account - [NZDCHF,Daily].jpg
Si vous souhaitez des explications n'hésiter pas à venir sur Skype pendant que j'y suis.

Code : Tout sélectionner

//+------------------------------------------------------------------+
//|                                              idSemiAutomatic.mq5 |
//|                                   Copyright 2018, Pierre Rougier |
//|                                           www.apprendre-mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, Pierre Rougier"
#property link      "www.apprendre-mql5.com"
#property version   "1.00"
#property indicator_separate_window

#property indicator_buffers 5
#property indicator_plots   1
#property indicator_type1   DRAW_CANDLES
//--- wicks and outlines are green, bullish candle body is white, while bearish candle body is red 
#property indicator_color1  clrLime,clrBlack,clrWhite

input datetime input_datetime=D'2019.06.12 00:00';

//--- Indicator buffers 
double         OpenBuffer1[];
double         HighBuffer2[];
double         LowBuffer3[];
double         CloseBuffer4[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {

//--- indicator buffers mapping 
   SetIndexBuffer(0,OpenBuffer1,INDICATOR_DATA);
   SetIndexBuffer(1,HighBuffer2,INDICATOR_DATA);
   SetIndexBuffer(2,LowBuffer3,INDICATOR_DATA);
   SetIndexBuffer(3,CloseBuffer4,INDICATOR_DATA);

   PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0);

   ArrayInitialize(OpenBuffer1,0);
   ArrayInitialize(HighBuffer2,0);
   ArrayInitialize(LowBuffer3,0);
   ArrayInitialize(CloseBuffer4,0);

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
//

   int to_date=iBarShift(Symbol(),Period(),input_datetime,false);

   int start_bar;
   int scan_bar;

   if(prev_calculated==0)
     {start_bar=0;}
   else
     {start_bar=prev_calculated-1;}

   for(scan_bar=start_bar;scan_bar<rates_total;scan_bar++)
     {
      if(scan_bar<Bars(Symbol(),Period())-to_date)
        {
         OpenBuffer1[scan_bar]=open[scan_bar];
         HighBuffer2[scan_bar]=high[scan_bar];
         LowBuffer3[scan_bar]=low[scan_bar];
         CloseBuffer4[scan_bar]=close[scan_bar];
        }
      else
        {
         OpenBuffer1[scan_bar]=0;
         HighBuffer2[scan_bar]=0;
         LowBuffer3[scan_bar]=0;
         CloseBuffer4[scan_bar]=0;
        }
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

Re: Apprendre MQL5

Publié : 02 sept. 2019, 18:01
par Pierre8r
Bonjour,

Je pense coder en MQL5 à partir de maintenant et jusqu'à environ 20h00.
Si vous souhaitez me voir travailler en partage d'écran, ou travailler avec moi, mon pseudo Skype est Pierre8r.
Dans votre message de contact me dire que vous prenez contact avec moi pour MQL5.
N'hésiter pas à venir, même pour 5 minutes. :lol:

Re: Apprendre MQL5

Publié : 04 sept. 2019, 16:44
par Pierre8r
Bonjour,

Je pense coder en MQL5 à partir de maintenant et jusqu'à environ 20h00.
Si vous souhaitez me voir travailler en partage d'écran, ou travailler avec moi, mon pseudo Skype est Pierre8r.
Dans votre message de contact me dire que vous prenez contact avec moi pour MQL5.
N'hésiter pas à venir, même pour 5 minutes. :lol:

Re: Apprendre MQL5

Publié : 02 déc. 2020, 18:04
par Marcopolo7
Je pense que le c est bien plus complexe .

Re: Apprendre MQL5

Publié : 26 oct. 2022, 17:15
par SebastienL
Bonjour Pierre,

J'ai lu attentivement tous ces messages relatant ta motivation à apprendre le MQL5 mais malheureusement plus aucun signe de vie depuis 2018.
Où en es tu aujourd'hui ? Abandon, réorientation ?

Merci à toi

Re: Apprendre MQL5

Publié : 26 oct. 2022, 20:44
par Pierre8r
Bonjour SebastienL,
C'est amusant, mon dernier message dans ce fil date du 04 sept. 2019.
je m'imaginais que c'était beaucoup plus ancien que ça.
On m'aurait posé la question, j'aurais dit 2014 peut-être.
SebastienL a écrit : 26 oct. 2022, 17:15 Où en es tu aujourd'hui ? Abandon, réorientation ?
Aujourd'hui j'ai changé d'objectifs et leur priorité.
Par ordre de priorité je classerais mes objectifs dans cet ordre.
M'intéresser à ma santé.
Faire du développement personel.
M'intéresser à mes finances.

M'intéresser à développer du trading semi-automatique, ou automatique est donc très loin de mes préoccupations actuelles.

Re: Apprendre MQL5

Publié : 27 oct. 2022, 09:30
par SebastienL
Bonjour Pierre,
C'est assez drôle cette distorsion espace temps :-)
Et bien nous n'avons pas été dans le même timing ...
Cependant tes nouveaux objectifs sont tout autant respectables.
Alors prends bien soin de toi.

Merci de m'avoir répondu

Re: Apprendre MQL5

Publié : 27 oct. 2022, 10:09
par SebastienL
J'oubliais Pierre, juste une question, sans vouloir être indiscret, ce sont des problèmes de santé qui t'ont éloigné de ton objectif pourtant bien démarré, la constatation d'un objectif trop complexe, un trading algorithmique qui n'apportait aucun résultat concret ... ?

Re: Apprendre MQL5

Publié : 10 janv. 2026, 12:39
par Stevenbet
Bonjour,

Sujet qui m'intéresse, je me permets de partager mon parcours et quelques ressources — j'ai appris le MQL5 sans venir du développement, donc l'angle est peut-être utile à d'autres autodidactes.

Ce qui aide à démarrer

Le MQL5 ressemble beaucoup au C++ dans sa syntaxe, mais on n'a pas besoin d'apprendre le C++ pour s'en sortir. En pratique, 90 % d'un Expert Advisor tient dans quelques concepts : variables, conditions, boucles, fonctions, et la structure événementielle propre à MetaTrader.

Cette structure, c'est le premier vrai obstacle. Il faut comprendre que le code ne s'exécute pas de haut en bas une fois, mais par événements :
  • OnInit() : au chargement, une seule fois. Initialisation des handles d'indicateurs, vérification des paramètres.
  • OnTick() : à chaque nouveau tick. C'est le cœur du programme, et la source de la plupart des erreurs de débutant — beaucoup de logiques ne doivent s'exécuter qu'à l'ouverture d'une nouvelle bougie, pas à chaque tick.
  • OnDeinit() : au retrait du graphique. Nettoyage des objets.
  • OnTimer(), OnTrade(), OnChartEvent() : pour des besoins plus spécifiques.

Les différences avec MQL4 qui piègent

Si tu as déjà touché au MQL4, plusieurs choses ont changé en profondeur et recopier de vieux exemples mène droit dans le mur :
  • La gestion des ordres : plus de OrderSend() à l'ancienne. On passe par les structures MqlTradeRequest / MqlTradeResult, ou bien par la classe CTrade de la bibliothèque standard — nettement plus simple pour commencer.
  • Le modèle position/ordre : MT5 distingue positions et ordres en attente, avec un système de netting ou de hedging selon le compte. C'est une source de confusion majeure quand on vient de MT4.
  • Les indicateurs : on ne lit plus directement une valeur avec iMA(...). Il faut créer un handle dans OnInit(), puis copier les valeurs avec CopyBuffer(). Plus verbeux, mais plus performant.

Ressources
  • La documentation officielle MQL5 : dense mais complète, avec un exemple de code pour presque chaque fonction. C'est la référence à garder ouverte en permanence.
  • Les articles de la communauté MQL5 : plusieurs centaines, de qualité inégale mais certains excellents, notamment sur la gestion du risque et l'architecture de code.
  • La bibliothèque standard (Trade\Trade.mqh, Trade\PositionInfo.mqh, Trade\SymbolInfo.mqh) : à utiliser dès le départ plutôt que de réécrire soi-même la couche d'exécution.
  • MetaEditor lui-même : le débogueur intégré, avec points d'arrêt et exécution pas à pas sur données historiques, est très sous-utilisé. Il fait gagner un temps considérable par rapport aux Print() semés partout.

Conseils de méthode

Ce que j'aurais aimé qu'on me dise plus tôt :
  • Commencer par un EA volontairement bête : croisement de deux moyennes mobiles, un seul ordre à la fois, stop et target fixes. L'objectif n'est pas la rentabilité, c'est de faire fonctionner tout le circuit de bout en bout.
  • Coder le stop-loss avant la logique d'entrée. Un EA sans stop géré au niveau du serveur est une bombe à retardement : coupure de connexion, plateforme fermée, VPS qui redémarre, et la position reste ouverte sans protection.
  • Tester la gestion des erreurs de trade : requote, prix invalide, marge insuffisante, marché fermé. Un EA qui ne vérifie pas le code retour de ses ordres finira par ouvrir des positions fantômes ou en doubler.
  • Se méfier du testeur de stratégie : le mode "prix d'ouverture uniquement" donne des résultats très optimistes. Il faut passer en tick réel et vérifier la qualité de modélisation, surtout pour du scalping où le spread représente une part énorme de l'edge théorique.

Une remarque pour finir : la partie difficile n'est pas le langage. Écrire du MQL5 correct s'apprend en quelques semaines. Trouver une logique qui garde un avantage hors de la période d'optimisation, c'est autre chose — et c'est là que se passe l'essentiel du travail.

Quel est ton point de départ exactement : jamais programmé du tout, ou tu viens d'un autre langage ? Les ressources à conseiller ne sont pas les mêmes.