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

 
Roman Sharanov:

J'ai créé une variable en privé

J'essaie de travailler avec cette méthode dans une classe.

il dit que la variable n'est pas déclarée

? ??

Où est le code ?

 
Artyom Trishkin:

Où est le code ?

la fonction ne doit pas être accessible depuis un code externe

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class newC
  {
private:
   int var;
public:
                     newC(int var);
                    ~newC();
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
newC::newC(int var)
  {
      this.var = var;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
newC::~newC()
  {
  }
//+------------------------------------------------------------------+
double varSqrt(){
   return MathSqrt(var);
}
 
Roman Sharanov:

J'ai créé une variable en privé

J'essaie de travailler avec cette méthode dans une classe.

il dit que la variable n'est pas déclarée

? ??

Artyom Trishkin:

Mais ce n'est pas juste.

Qui empêche d'utiliser un tableau dynamique dans les calculs ? La taille d'un tableau dynamique (s'il ne s'agit PAS d'un tampon indicateur, qui est surveillé par un sous-système), vous devez la surveiller vous-même et, si nécessaire, modifier sa taille. Un tableau statique a toujours une taille fixe - tout dépend de la tâche à accomplir.

Qu'est-ce que c'est que cette absurdité injustifiée ? Les indicateurs, dans leur grande majorité, ne font que calculer et afficher la quantité requise et suffisante de données calculées. Tout le temps, sur chaque tic.

De quoi parlez-vous ? L'ignorance ? Alors il vaut mieux garder le silence. Les gens diront alors qu'ils l'ont lu sur le forum officiel de MK. Est-ce que vous créez délibérément un mensonge ?

Artem ! Ne m'ennuie pas.

Personne ne vous empêche d'utiliser un tableau dynamique dans vos calculs.

Mais ! !! Pendant les calculs, le processeur est occupé, et il n'y aura pas d'écriture dans le tableau dynamique.

Ainsi, toute donnée qui arrive dans un tableau dynamique pendant les calculs est automatiquement ignorée. (Parfois, ils mettent des protections, et les écrivent dans un tampon).

J'espère que c'est clair ?

C'est pourquoi toutes les données des tableaux dynamiques sont réparties sur des tableaux statiques, afin qu'aucune donnée ne soit perdue pendant que le processeur travaille.

Et c'est pourquoi tous les calculs doivent être effectués dans des tableaux statiques !

Bien entendu, la taille des tableaux statiques doit être définie "en réserve". C'est évident.

Mais vous pouvez les calculer aussi longtemps que vous le souhaitez. Rien ne se perdra dans le processus.

J'espère que c'est clair pour vous ?

 
Roman Sharanov:

la fonction doit être inaccessible depuis un code externe

Où se trouve la méthode publique pour accéder à var ?

Ça donne quelque chose comme ça :

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class newC
  {
private:
   int var;
public:
   int               Var(void)      const { return this.var; }
                     newC(int var);
                    ~newC();
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
newC::newC(int var)
  {
      this.var = var;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
newC::~newC()
  {
  }
//+------------------------------------------------------------------+
double varSqrt(){
   return MathSqrt(var);
}
//+------------------------------------------------------------------+

Vous utilisez la méthode Var() pour obtenir var ;

 
neverness:

Artem ! Ne m'ennuie pas.

Personne ne vous empêche d'utiliser un tableau dynamique dans vos calculs.

Mais ! !! Le processeur est occupé pendant les calculs et il n'y aura pas d'écriture dans le tableau dynamique.

Ainsi, toute donnée qui arrive dans un tableau dynamique pendant les calculs est automatiquement ignorée. (Parfois, ils mettent des protections, et les écrivent dans un tampon).

J'espère que c'est clair ?

C'est pourquoi toutes les données des tableaux dynamiques sont réparties sur des tableaux statiques, afin qu'aucune donnée ne soit perdue pendant que le processeur travaille.

Et c'est pourquoi tous les calculs doivent être effectués dans des tableaux statiques !

Bien entendu, la taille des tableaux statiques doit être définie "en réserve". C'est évident.

Mais vous pouvez les calculer aussi longtemps que vous le souhaitez. Rien ne se perdra dans le processus.

J'espère que c'est clair.

Conneries.

 
Artyom Trishkin:

Où se trouve la méthode publique d'accès à var ?

C'est comme ça :

Utilisez la méthode Var() pour obtenir var ;

il sera alors accessible à partir d'un code externe ? j'ai besoin que ces variables soient uniquement brassées à l'intérieur de la classe.

 
Roman Sharanov:

pour qu'il soit ensuite accessible depuis un code externe ? J'ai seulement besoin que ces variables soient brassées à l'intérieur de la classe.

Où cette méthode est-elle définie ?

//+------------------------------------------------------------------+
double varSqrt(){
   return MathSqrt(var);
}
//+------------------------------------------------------------------+
 
Artyom Trishkin:

Où cette méthode est-elle définie ?

ci-dessous dans le fichier de classe

 

Если говорить об индикаторах, то индикаторы (вообще говоря!) следует вычислять. Но в МТ4/МТ5 мы этого не наблюдаем!

Quelle est cette absurdité sans fondement ? Les indicateurs, dans leur grande majorité, ne font que calculer et afficher la quantité nécessaire et suffisante de données calculées. Tout le temps, sur chaque tic.

C'est quoi toutes ces bêtises ? Par ignorance ? Alors il vaut mieux garder le silence. Les gens diront alors qu'ils l'ont lu sur le forum officiel de MK. Est-ce que vous créez délibérément un mensonge ?

Artem !

Existe-t-il des tableaux statiques dans les indicateurs MT4/MT5 ? ? ????????????????????

Dans lequel, j'aimerais bien le savoir ?

Quel genre de défaut ? - Je vous l'ai dit tout de suite - s'il y en a un, dites-moi où ?

Tous les indicateurs de MT4/MT5 que je connais sont dynamiques.

Oui, le suivi tout le temps. Oui, à chaque tique.

Mais il s'agit de tableaux dynamiques, pas statiques.

Et il n'y a pas de "perturbation" ici.

 
Artyom Trishkin:

Conneries.

Eh bien, si c'est un non-sens, c'est un test d'expérience.

Pas seulement une "absurdité théorique" ! !!

- Si les calculs sont assez longs, les ticks ne sont pas écrits dans le tableau de données concerné.

C'EST UN FAIT ! !!