Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1916

 
Koldun Zloy #:

Je voulais juste savoir si la personne voulait apprendre quelque chose, alors je pourrais l'aider.

Je fais parfois la même chose, car il arrive que l'on fasse un discours, que l'on perde du temps, mais que l'on n'ait pas de nouvelles du CT, ou que celui-ci ne s'y intéresse pas.

S'il répond, cela signifie qu'il est prêt pour une discussion, et alors vous entamez une discussion.

 
Vitaly Muzichenko #:

Je fais parfois la même chose, car il arrive parfois que vous essayiez de vous expliquer, que vous perdiez du temps, mais que vous n'ayez pas de nouvelles du CT, ou qu'il ne soit pas intéressé.

S'il répond, cela signifie qu'il est prêt pour une discussion, et alors vous entamez une discussion.

Certains novices en programmation sont déjà très reconnaissables. Et le plus souvent, on peut voir si la personne a envie d'apprendre ou si elle est juste passée pour demander... Dans ce cas, je suis sûr qu'il y a un désir.

 
Alexey Viktorov #:

Certains nouveaux venus dans la programmation sont déjà très reconnaissables. Et le plus souvent, on peut voir si une personne a envie d'apprendre ou si elle est juste passée pour demander... Dans ce cas, je suis sûr qu'il y a un désir.

Bonsoir, je tiens encore une fois à exprimer un GRAND MERCI à tous ceux qui ont répondu de manière constructive à ma question.

Je vais essayer de me présenter brièvement. Une personne assez âgée. Toujours en activité (pas dans une usine, mais quand même). En octobre 2020, j'ai commencé à m'auto-former au langage de programmation MQL5. Pendant mon temps libre, j'ai développé un conseiller expert multidevises, qui est maintenant installé et fonctionne sur un compte réel. De temps en temps, j'essaie d'écrire de nouveaux Expert Advisors (pour moi SEULEMENT !). Il m'arrive de "trébucher" en raison de mon manque de connaissances sur de nombreuses choses. Je ne prétends pas être un professionnel. C'est à peu près tout.

ET LE PLUS IMPORTANT ! !! Si une personne contacte le site Toutes les questions pour les débutants en MQL4 et MQL5, aide et discussion sur les algorithmes et les codes, elle espère vraiment obtenir de l'aide! !!

Cordialement, Vladimir.

 
MrBrooklin #:

ET LE PLUS IMPORTANT ! !! Si une personne s'adresse à la branche Toutes les questions des débutants sur MQL4 et MQL5, l'aide et la discussion sur les algorithmes et les codes, elle espère vraiment obtenir de l'aide!

Cordialement, Vladimir.

Malheureusement, ils espèrent tous un autre type d'aide. Vous voulez comprendre et maîtriser toutes les subtilités de la programmation, alors que certaines personnes pensent et vous demandent : "Vous m'écrivez une fonction. Et ensuite, je trouverai comment cela doit fonctionner...". J'espère que vous comprenez que ces personnes ne se débrouilleront pas, mais qu'elles utiliseront du code tout fait comme des briques de lego... Et parfois, elles ne peuvent pas assembler quelque chose qui fonctionne même avec ces briques. Ils pourraient se tromper dans la séquence...

 

Une question s'est posée. Quel est le sens (sacré) de l'utilisation de l'argument par référence dans l'exemple (manuel de Fedoseyev Dm.) ?

bool hyperbola(double x,double &r){
if(x==0){
return(false);
}
r=1.0/x;
return(true);
}

Il est possible de faire avec un seul argument x en déclarant r dans la portée globale.

double r;
////
bool hyperbola(double x){
if(x==0){
return(false);
}
r=1.0/x;
return(true);
}

Cela est plus nécessaire si l'argument est calculé ou obtient une valeur dans la fonction et est transmis comme résultat.

Par exemple :

int FileOpenF(string File_NameArg,int &HandleArg)
  {
   HandleArg=FileOpen(File_NameArg,FILE_CSV|FILE_WRITE,";");//Открытие файла
   if(HandleArg==-1) // Неудача при открытии файла
     {
      Alert("Ошибка при открытии файла. ",File_NameArg,// Сообщение об ошибке
            "Возможно, файл занят другим приложением Handle= ",HandleArg);
     }
   return(HandleArg);
  }

Quelque chose de confus à propos des significations sacrées))))

 

Veuillez m'aider dans cette tâche. J'ai besoin de savoir combien de barres de minutes il y a dans la journée d'aujourd'hui.

Il s'agit de trouver combien de barres il y a le jour précédent de la semaine - si nous sommes mardi, il faut regarder le mardi dernier.

En même temps, s'il n'y a pas de jour précédent de la semaine, disons qu'il s'agissait d'un week-end, alors nous regardons l'avant-dernier jour.

Comment faire ?

Jusqu'à présent, l'idée de travail est la suivante - nous définissons le jour actuel de la semaine, puis nous recherchons le même jour de la semaine et l'utilisons pour définir le nombre de barres, mais peut-être y a-t-il quelque chose de plus élégant ?

 
Valeriy Yastremskiy #:

Que je suis confus sur les significations sacrées))))

Sans variable globale, une fonction est plus autonome et donc plus polyvalente. Par exemple, une fonction peut effectuer des calculs similaires à 20 endroits indépendants dans le code, et il est compréhensible que le résultat ne soit pas empilé dans une variable globale commune x. Au lieu d'une variable, il peut aussi y avoir une structure ou une classe plus complexe, ou par exemple plusieurs classes et plusieurs structures, ou un tableau, donc il ne faut pas non plus tout affecter à une seule valeur de retour. la valeur de retour est souvent utilisée non pas pour retourner un calcul, mais le succès/l'échec de ce calcul.

 
Nikolay Ivanov #:

Sans variable globale, la fonction est plus autonome et donc plus polyvalente. Par exemple, une fonction peut effectuer des calculs similaires à 20 endroits indépendants dans le code, et bien sûr, le résultat ne doit pas être empilé dans une seule variable globale x. Au lieu d'une variable, il peut aussi y avoir une structure ou une classe plus complexe, ou par exemple, plusieurs classes et plusieurs structures, donc vous ne devez pas non plus tout mettre sur une seule valeur de retour.

Pour le faire sortir (r), il doit encore être déclaré dans la portée ou global.

double r;
if(hyperbola(DBL_MIN,r)){
Alert("1/DBL_MIN=",r);
}
else{
Alert("Неправильный аргумент для функции hyperbola()");
}
 
Valeriy Yastremskiy #:

Pour le sortir (r), vous devez encore le déclarer dans la portée ou le global.

Oui, vous préparez la variable à l'avance, globalement ou localement, et l'utilisez comme argument dans une fonction. Mais la fonction elle-même ne sera pas liée à ces variables créées pour le stockage.

 
Nikolay Ivanov #:

Oui, vous pouvez préparer une variable à l'avance, globalement ou localement, et l'utiliser comme argument dans une fonction. Mais la fonction elle-même ne sera pas liée à ces variables créées pour le stockage.

La question ne portait pas sur ce point. La fonction de Dimitri ne retourne pas un argument par référence. Pourquoi utiliser un argument par référence ? Oui, les zones locales pourront déclarer une variable à leur place et obtenir une réponse à la variable après l'appel de la fonction.

Et c'est tout ? ??