Obtenir le nombre de décimales de n'importe quel nombre (pas seulement les guillemets) en contournant Digits() dans MQL4 et MQL5 - page 17

 
Dmitry Fedoseev:

Alors il a écrit.

Il a répondu qu'il ne comprenait pas.

Dmitry Fedoseev:

Qui va contrôler cette multiplicité ?

Quelqu'un qui veut écrire une conversion universelle.

L'universel est posé, il reste donc à passer à une tâche plus pratique.

 
Dmitry Fedoseev:

Qui va contrôler cette multiplicité ?

Je pense qu'après avoir défini les détails de la mise en oeuvre, il y aura un suivi où l'auteur réfléchira à tous les détails et nuances... Et maintenant, nous ne faisons que tester différentes variantes. Plus précisément, la même variante, car il semble qu'il n'y ait pas de variantes spéciales.

 
Ilya Malev:

Voici une autre tâche intéressante : réaliser une fonction de tri de tableaux plus rapide que la fonction intégrée ArraySort.

P.S. J'ai cherché parmi les algorithmes de tri et je n'ai rien trouvé d'aussi rapide que l'ArraySort intégré. )))) La chose la plus proche était un arbre binaire...

 
fxsaber:

Il a répondu qu'il ne comprenait pas.

...

Voici un modèle d'union qui comprend une structure et un tableau.

template <typename S>
union UX{
   S s;
   char a[sizeof(S)];
};

Si vous remplissez la structure qui fait partie de l'union, le tableau est tout de suite prêt. Vous pouvez déjà l'envoyer quelque part, le passer en paramètre, vous n'avez pas besoin d'un tableau supplémentaire.

La conversion inverse est ArrayCopy(). Copiez un tableau dans le tableau inclus dans l'union et la structure est prête, vous pouvez l'utiliser directement depuis l'union, vous pouvez la copier dans une autre structure, il suffit de signer =.

 
fxsaber:
dll est possible ?
 
Dmitry Fedoseev:

Voici un modèle d'union qui comprend une structure et un tableau.

Si vous remplissez la structure qui fait partie de l'association, le tableau est prêt. Vous pouvez déjà l'envoyer quelque part, le passer en paramètre, vous n'avez pas besoin d'un tableau supplémentaire.

La conversion inverse est ArrayCopy(). Vous pouvez copier un tableau vers un tableau de l'union, et la structure est prête.

Apparemment, je suis stupide, mais je ne comprends toujours pas. Si vous le voulez bien, pouvez-vous formaliser votre idée en code ?

Le script permettant de mesurer chaque variante se trouve dans la branche, il vous suffit donc d'y insérer le code approprié.

 
TheXpert:
dll est possible ?

Avec un morceau de mémoire, bien sûr, c'est facile, mais tout doit fonctionner à l'intérieur du MT. Par conséquent, une DLL n'est pas possible.

 
fxsaber:

Avec un morceau de mémoire, bien sûr, c'est facile, mais tout doit fonctionner à l'intérieur du MT.

c'est ainsi que tout fonctionnera à l'intérieur de la MT.

 
TheXpert:

c'est ainsi que les choses fonctionneront à l'intérieur de la MT.

Sans sortir du MQL.

 
fxsaber:

Apparemment, je suis stupide, mais je ne comprends toujours pas. Si cela ne vous dérange pas, pourriez-vous mettre votre idée en code ?

Le script permettant de mesurer chaque option se trouve dans la branche, il vous suffit donc d'y insérer le code approprié.

Apparemment, mais ne désespérez pas, tout n'est pas encore perdu, je crois en vous.