Exemple de Classe MQL5 ?

 

salut tout le monde j'espère que vous allez bien,


savez-vous s'il existe des exemples avec les différentes méthodes classes, je m'explique avec un exemple : 

un code qui crée un objet de la classe CSymbolInfo, et qui fait appel à toutes ces méthodes ( Name() ,  Time() ,  MarginInitial() ,  TickSize() ,  Bank() , .... ) une par une et qui les affiche avec un Print par exemple,
méthodes de la classe

Merci d'avance pour vos lumières
Cordialement,
ZeroCafeine ☺

Documentation sur MQL5: Bibliothèque Standard / Classes pour le Trading / CSymbolInfo / MarginInitial
Documentation sur MQL5: Bibliothèque Standard / Classes pour le Trading / CSymbolInfo / MarginInitial
  • www.mql5.com
MarginInitial - CSymbolInfo - Classes pour le Trading - Bibliothèque Standard - Référence MQL5 - Référence sur le langage de trading algorithmique/automatisé pour MetaTrader 5
 
Hello. Je n'ai pas compris ce que tu veux faire.
Il me semble comprendre que tu n'es pas trop à l'aise avec les objets. C'est ça ?
 
William210 #:
Hello. Je n'ai pas compris ce que tu veux faire.
Il me semble comprendre que tu n'es pas trop à l'aise avec les objets. C'est ça ?
Hello William210

Non non, ce n'ai pas un problème d'objets, de classe, d'instantiation, constructeur, destructeur, famille, porté, résolution de porté et j'en passe, certe je ne me rappelle pas de tout et je ne maîtrise plus vraiment, mais je n'en n'ai pas vraiment besoin a ce stade de programmation.

Ce que je veux faire, c'est juste créé un object d'une classe de metatrader et faire juste un affichage en utilisant toutes les fonctions disponibles de cette classe, ça paraît con mais moi j'aime bien faire ça car ça m'aide à comprendre et tout simplement à voir quel type de résultat renvoie une fonction, exemple je suis curieux de voir le retour de la fonction bank(),

La question et ce qu'il existe des codes déjà tout fait sur le forum ou pas ?

Je vais essayer de commencer à bosser dessus ce weekend si j'ai le temps et je posterai un exemple si c'est toujours pas clair ☺️
 
Bonjour. Je trouve la Doc assez mal foutu mais normalement dans celle ci tu as tous les types de retour. Ça t'évitera de toutes les tester

Bon week-end
 
Merci, si tu trouve la Doc mal foutue alors je t'invite à aller voir la documentation de Probuiler de ProRealTime 😊, crois mois la Doc de MQL5 est à des années lumières même si elle ne convient pas à tout le monde 
 
ZeroCafeine #:
Merci, si tu trouve la Doc mal foutue alors je t'invite à aller voir la documentation de Probuiler de ProRealTime 😊, crois mois la Doc de MQL5 est à des années lumières même si elle ne convient pas à tout le monde 
J'ai répondu il y a des semaines a ton mp au sujet de prorealtime
 
William210 #:
Bonjour. Je trouve la Doc assez mal foutu mais normalement dans celle ci tu as tous les types de retour. Ça t'évitera de toutes les tester

tu peux me donner un exemple de la doc mal foutu stp ?, ou du moins quelque chose que tu comprends pas sur la documentation et que tu aurais préféré autrement avec avec exemple à l'appui s'il te plaît, ça me permettra peut-être de voir des choses différemment ou de t'expliquer quelque chose que tu ne comprends pas ?

 
Je ne préfère pas. Même si elle ne me convient pas c'est toute de même plus facile avec que sans elle.
Et puis je ne suis personne. Juste un développeur trader qui cherche
 

Hello William, 

voilà plus ou moins ce que je veux faire, ça n'a peut-être pas grand intérêt pour certains mais pour moi ça me permet de voir un petit peu et de tester toutes les fonction, là par exemple je suis en train de faire celle de la classe CSymbolInfo : 

//+------------------------------------------------------------------+
//|                                                  CSymbolInfo.mq5 |
//|                                  Copyright 2023, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property description "Faire des teste sur la Class CSymbolInfo"

//+------------------------------------------------------------------+
//|                             Include                              |
//+------------------------------------------------------------------+
#include <Trade\SymbolInfo.mqh>

//+------------------------------------------------------------------+
//|                       Global Variables                           |
//+------------------------------------------------------------------+
CSymbolInfo m_symbol; 

//+------------------------------------------------------------------+
//|                          On Init                                 |
//+------------------------------------------------------------------+
int OnInit()
{
    //--- CSymbolInfo
    // ==== Contrôle ====
    m_symbol.RefreshRates();                                // Obligatoir pour avoir les info des autre fonction
    
    // ==== Propriétés ====
    bool AtrubutionSymbol   = m_symbol.Name(Symbol());      // Définit le nom du symbole
    string symbolName       = m_symbol.Name();              // Retourne le nom du symbole.
    bool select             = m_symbol.Select();            // Définit le flag "Market Watch" du symbole. ?
    bool isSynchronized     = m_symbol.IsSynchronized();    // Vérifie la synchronisation du symbole avec le serveur.

    // ==== Volumes ====
    ulong volume            = m_symbol.Volume();            // Retourne le volume du dernier deal.
    ulong volumeHigh        = m_symbol.VolumeHigh();        // Retourne le volume maximal d'une journée.
    ulong volumeLow         = m_symbol.VolumeLow();         // Retourne le volume minimal d'une journée.

    //==== Divers ==== 
    datetime time           = m_symbol.Time();              // Retourne l'heure de la dernière cotation.
    int spread              = m_symbol.Spread();            // Retourne le montant du spread (en points).
    bool spreadFloat        = m_symbol.SpreadFloat();       // Retourne le flag de spread flottant.
    int ticksBookDepth      = m_symbol.TicksBookDepth();    // Retourne la profondeur de sauvegarde des ticks.

    

    //--- Propriétés
    Print ("==== Propriétés ====");
    Print("Name : ", symbolName);
    Print("Select : ", select);
    Print("IsSynchronized : ", isSynchronized);

    //--- Volumes
    Print ("==== Volumes ====");    
    Print("Volume : ", volume);
    Print("VolumeHigh : ", volumeHigh);

    //--- Divers
    Print("Time : ", time);
    Print("Spread : ", spread);
    Print("SpreadFloat : ", spreadFloat);
    Print("TicksBookDepth : ", ticksBookDepth);

    // Every Think is OK ;-)   
    return(INIT_SUCCEEDED);
}


si quelqu'un a déjà le même code pour cette classe ou les autres classes alors un lien ou un partage serait la bienvenue 🙂

 
Hello. Je crois que tu sous estime le nombre de méthodes qui sont disponibles dans les classes natives de mql5, en plus avec les surcharges ça augmente encore le nombre.

Tu ne vas pas pouvoir toutes les tester sans parler que c'est certainement inutile car tu ne peux pas dresser tout de suite une liste des méthodes donc tu vas avoir besoin. 

Bonne soirée