Oninit est "int" ou "void" ?

 

Bonjour
Dans la doc il est dit que Oninit est de type Void

mais quand on crée un code via le wizard, il est de type int...

C'est quoi la bonne réponse ?

Merci

 

OnInit

La fonction est appelée dans les indicateurs et les EA lorsque l'évènement Init se produit. Il est utilisé pour initialiser un programme MQL5 en cours d'exécution. Il y a 2 types de fonctions.

La version qui retourne le résultat

int  OnInit(void);

Valeur de Retour

Une valeur de type int, zéro signifie une initialisation réussie.

L'appel OnInit() qui retourne le résultat de l'exécution est recommandé puisqu'il permet non seulement l'initialisation du programme, mais retourne également un code d'erreur dans le cas d'une fin prématurée du programme.

La version sans retour de résultat n'est utilisé que pour la compatibilité avec les anciens codes. Il n'est pas recommandé de l'utiliser

void  OnInit(void);
Documentation sur MQL5: Programmes MQL5 / Evénements du Terminal Client
Documentation sur MQL5: Programmes MQL5 / Evénements du Terminal Client
  • www.mql5.com
Evénements du Terminal Client - Programmes MQL5 - Référence MQL5 - Référence sur le langage de trading algorithmique/automatisé pour MetaTrader 5
 

@ Fernando Carreiro merci pour votre retour et merci @ William210 pour votre question


@ Fernando Carreiro je suis encore débutant j'ai encore un peu de mal à comprendre l'exécution d'un programme sur MQL5, est-ce qu'il est exécuté tout le temps, chaque partie différemment, ...,

du coup je pose une question simple par exemple si j'ai des variables as utilisé et manipuler dans mon code est-ce que je peux les initialiser dans la partie OnInit ? Si oui comment faire pour les vérifier par exemple pour un prixAsk, et est-ce qu'il faut utiliser une autre fonction pour réinitialiser ou supprimer ses variables pour ne pas les laisser traîner en mémoire car ça risquerait de nous faire faire des catastrophes ?


Non c'est pour vos lumières 😊, meme quelques bon liens pour de la lecture sont le bienvenue 😊

 
Bonsoir. Merci pour la réponse. On va garder le type int alors, ça sera plus simple.

Je suis également débutant en mql5 mais ça manière général j'ai d'assez bonnes bases en développement.

Le nom de la fonction, donne en général les informations sur ce qu'elle va faire. Oninit, c'est pour lancer tout ce dont tu as besoin au lancement.

Dans oninit, par exemple tu peux faire un handle pour un indicateur, ima, irsi, icustom etc.

Par contre la déclaration de ton handle doit être au global pour des questions de portées de variables.

Après ce que je regrette le plus dans mql5 c'est qu'il y a pleins de boîtes noires qu'il te faut découvrir a fur et à mesure que tu te tapes dedans.

Bon week-end

 

ok je te remercie,

si le code est accessible alors c'est juste des boite et non pas des boite noir ou crise 😊

Raison: