[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 610

 
ruslanchik:
Quel est le calcul en amont de a=5 ou a=10 ?
Eh bien le programme est exécuté de haut en bas) D'abord 5, puis 10.
 
Solree:
Le programme est présenté de haut en bas) D'abord 5, puis 10.
Je vois... il mettra à jour les paramètres "évidents" avec ceux donnés.
 
ruslanchik:
OK, merci... en bref, il met à jour les paramètres "explicites" avec ceux donnés

Lorsque des paramètres sont transmis à une fonction par référence, ce sont les variables transmises à la fonction qui sont modifiées.

Supposons que vous deviez renvoyer plus d'un paramètre à partir d'une fonction. Passez-les à la fonction par référence. Les variables qui sont définies en dehors de la fonction - les variables que vous avez passées dans la fonction par référence - seront modifiées dans la fonction.

Si vous avez trois variables e, f et g, si l'appersand dans la description de la fonction précède le nom de la variable dans ses paramètres, les variables seront modifiées que vous avez mises dans les paramètres lors de l'appel de la fonction.


int func (int a , int &b , int &c ) {

a=10 ;
b=20 ;
c=30 ;
return(a) ;

}


Lors de l'appel d'une fonction :

int e=40 , f=50, g=60 ;

int d=func (e, f, g) ;

d sera égal à 10 (la fonction retournera e modifié)

f sera égal à 20

g sera égal à 30

f et g sont passés ici par référence

 
artmedia70:

Lorsque des paramètres sont transmis à une fonction par référence, ce sont les variables transmises à la fonction qui sont modifiées.

Supposons que vous deviez renvoyer plus d'un paramètre à partir d'une fonction. Passez-les à la fonction par référence. Les variables qui sont définies en dehors de la fonction - les variables que vous avez passées dans la fonction par référence - seront modifiées dans la fonction.

Si vous avez trois variables e, f et g, si l'appersand dans la description de la fonction précède le nom de la variable dans ses paramètres, les variables seront modifiées que vous avez mises dans les paramètres lors de l'appel de la fonction.


int func (int a , int &b , int &c ) {

a=10 ;
b=20 ;
c=30 ;
return(a) ;

}


Lors de l'appel d'une fonction :

int e=40 , f=50, g=60 ;

int d=func (e, f, g) ;

d sera égal à 10 (la fonction retournera le e modifié)

f sera égal à 20

g sera égal à 30

f et g ont été passés par référence ici

Où puis-je trouver une aide sur un sujet similaire ? avec des exemples .... Je me suis assis pour faire quelque chose, mais j'ai réalisé que je ne peux pas construire un système sans références ..... Au fait, l'aide de S.K. (Sergei Kovalev) n'est pas non plus très intéressante.
 
ruslanchik:
Où puis-je trouver une aide sur un sujet similaire ? avec des exemples .... Je me suis assis pour faire quelque chose, mais j'ai réalisé que je ne peux pas construire un système sans références ..... À propos, le livre d'auto-assistance de S.K. ne contient pas non plus beaucoup d'informations
.

Regardez attentivement dans le DOCUMENT - il y a TOUT, vous devez juste être capable de lirehttps://docs.mql4.com/ru/basis/variables/formal.
 
FAQ:

Regardez attentivement le DOCUMENT - Il y a TOUT dedans, il faut juste savoir lirehttps://docs.mql4.com/ru/basis/variables/formal.
et sur quoi exactement poser mon regard si vous ne l'avez pas remarqué vous-même..... "Veuillez expliquer comment "passer des paramètres par référence". L'aide en ligne ne donne que des indications sur la façon de l'utiliser, mais ce n'est pas très facile à comprendre... de la page 609 "
 

Il est possible de passer des paramètres par référence. Dans ce cas, la modification de ces paramètres affectera les variables correspondantes dans la fonction appelée passée par référence. Vous ne pouvez pas transmettre des éléments de tableaux par référence. Les paramètres peuvent être passés par référence uniquement dans les limites d'un seul module, cette possibilité n'est pas offerte aux fonctions de bibliothèque. Pour spécifier qu'un paramètre est transmis par référence, le modificateur & doit être placé après le type de données.

Exemple :

void func(int& x, double& y, double& z[]) { double calculated_tp ; ... for(int i=0 ; i<OrdersTotal() ; i++) { if(i==ArraySize(z)) break ; if(OrderSelect(i)==false) break ; z[i]=OrderOpenPrice() ; } x=i ; y=calculated_tp ; }

Les tableaux peuvent également être transmis par référence, toutes les modifications seront reflétées dans le tableau d'origine. Contrairement aux paramètres simples, les tableaux peuvent également être transmis par référence dans les fonctions de bibliothèque.

Les paramètres passés par référence ne peuvent pas être initialisés avec des valeurs par défaut.

 
Bonsoir. J'essaie de comprendre les barres. Je veux écrire un script pour analyser les barres quotidiennes. J'essaie d'analyser l'historique des barres et le pourcentage de leur apparition. Je souhaite recueillir des statistiques non seulement pour l'ensemble de l'historique, mais aussi pour une période sélectionnée. J'ai essayé de chercher un script mais il y en a trop. Je demande un lien vers un tel script ou des conseils sur la façon de traiter les barres, car je n'ai aucune expérience en la matière.
 
ChAnton:
Bonsoir. J'essaie de comprendre les barres. Je veux écrire un script pour analyser les barres quotidiennes. J'essaie d'analyser l'historique des barres et le pourcentage de leur apparition. Je veux collecter des statistiques non seulement pour l'ensemble de l'historique mais aussi pour une période sélectionnée. J'ai essayé de chercher un script mais il y en a trop. Je voudrais demander un lien vers un tel script ou donner des conseils sur la façon de traiter les barres, car je n'ai aucune expérience.
Avez-vous de l'expérience en programmation ? Si vous ne le savez pas, vous devriez lire le manuel et la documentation (les liens sont en haut de la page) et apprendre les bases... Plus d'informations sur les bars ici https://docs.mql4.com/ru/predefined/variables
 
Bonjour, Je comprends que OrderOpenTime() renvoie le nombre de secondes écoulées depuis 00:00 le 1er janvier 1970. Comment la convertir en heure normale ?
Raison: