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

 

Une question sur l'algorithme. Qui ici comprend les statistiques théoriques et mathématiques ? Regardez, il y a une série de prix, des niveaux. Je dois sélectionner des niveaux "forts" parmi eux. Fort signifie la valeur où la fréquence de distribution de ces niveaux est la plus élevée.

Par exemple, les séries 1,8,10,11,13,35,40,60,65. Disons qu'il existe un delta, disons 2, qui désigne la différence maximale entre les valeurs. Il y a donc un niveau fort autour de 8,10,11,13 qui est égal à (8+10+11+13)/4. Peut-être existe-t-il une fonction statistique toute prête pour cela, afin que je n'aie pas à réinventer la roue ? Pouvez-vous me donner un indice, s'il vous plaît ?

 
Dites-moi s'il existe des classes CArray standard pour travailler avec des tableaux. Si j'ai bien compris, ils permettent de travailler exclusivement avec des tableaux unidimensionnels ? Ou aussi avec des tableaux multidimensionnels (bidimensionnels) ? Sinon, existe-t-il une classe permettant de travailler avec des tableaux multidimensionnels?
 
Juer:
Dites-moi s'il existe des classes CArray standard pour travailler avec des tableaux. Si j'ai bien compris, ils permettent de travailler exclusivement avec des tableaux unidimensionnels ? Ou avec le multidimensionnel (bidimensionnel) également ? Sinon, existe-t-il une classe permettant de travailler avec des tableaux multidimensionnels?

https://www.mql5.com/ru/articles/567

Trouvé ici.

Основы программирования на MQL5 - Массивы
Основы программирования на MQL5 - Массивы
  • 2012.11.03
  • Dmitry Fedoseev
  • www.mql5.com
Наряду с переменными и функциями, массивы являются практически неотъемлемой частью любого языка программирования. Замечено, что некоторые начинающие изучать программирование, панически боятся массивов. Удивительно, но факт! Смею заверить вас, что бояться их не нужно. Массивы, по своей сути, это все те же обычные переменные. Если не вдаваться в...
 

Comment retourner un tableau de structures dans une fonction ?

custom_struct values[];
...
custom_struct Func(void)
  {
   return GetPointer(values);
  }

erreurs de type de classe attendu, d'objet requis.

Quelle est la bonne méthode ?

 
Juer:

Comment retourner un tableau de structures dans une fonction ?

erreurs de type de classe attendu, d'objet requis.

Quelle est la bonne méthode ?

Le pointeur peut concerner un objet d'une classe, mais pas une structure.
 
Juer:

Comment retourner un tableau de structures dans une fonction ?

erreurs de type de classe attendu, d'objet requis.

Quelle est la manière correcte de procéder ?

Passer par référence :

struct A
{
...
};

A structA[];

void GetStructA(A &structA[])
{
....
   structA = _structA;
}
C'est le cas si la structure ne contient que des types de données simples (pas de chaînes de caractères ni de tableaux). Si la structure contient des chaînes de caractères et/ou des tableaux, ajoutez une surcharge de l'opérateur d'affectation à la structure.
 
Ihor Herasko:

Transfert par référence :

C'est le cas si la structure ne contient que des types de données simples (pas de chaînes de caractères ni de tableaux). Si la structure contient des chaînes de caractères et/ou des tableaux, ajoutez une surcharge de l'opérateur d'affectation à la structure.

Donc erreur d'accès invalide au tableau.

Il n'y a pas de tableaux ou de chaînes dans la structure. Seulement bool, integer, double et enums.

 
Juer:

Donc l'erreur est un accès invalide au tableau.

Avez-vous simplement une structure, et non un tableau de structures ?

Vous ne montrez pas le code normalement. Devons-nous deviner ?

 
Artyom Trishkin:

Vous avez juste une structure, pas un tableau de structures ?

Vous ne montrez pas le code correctement. Devons-nous deviner ?

Un tableau de structures, je l'ai écrit...

 
class CCandleRule : public CObject
  {
protected:
   input_rule        rules[];
public:
   void              GetRulesArray(input_rule &rules_array[]);
  }

void CCandleRule::GetRulesArray(input_rule &rules_array[])
  {
   rules_array=rules;
  }
La structure input_rule est grande, mais ne comporte que des champs int, double, bool et enum. Il ne contient pas de chaînes de caractères ni de tableaux.
Raison: