Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Une question a été posée au sujet de FileReadArray, et dans l'explication, j'ai signalé qu'il possède une fonctionnalité qui lit le mauvais type de données.
D'où la question : comment cette fonctionnalité s'inscrit-elle dans la sécurité linguistique ?
Si c'est possible, pourquoi ne pas créer une fonction standard pour convertir un champ de bits au bon type ?
En général, il faut soit mettre de l'ordre et supprimer cette fonctionnalité, soit laisser les gens implémenter l'arithmétique longue.
Voici un exemple de cette fonctionnalité à travers un fichier d'effacement :
Paranoïa détectée.
Vous devriez y réfléchir.
Je suis en fait favorable à ce que l'on considère qu'il est sûr et que l'on fasse sa contrepartie sans utiliser de fichier, mais directement.
Mais si MQ reconnaît qu'il n'est pas sûr, alors il devrait être retiré de la fonction également.
ZZZY D'ailleurs peut-être que je me suis trompé aujourd'hui, je n'ai pas répondu à deux questions, vous m'éclairez, pointez le doigt là où c'est stupide.
Voici un exemple de cette réparation via le fichier avec l'essuyage de la vis :
Lors des tests sur les croisements, il existe une modélisation précise et d'autres taux pour une conversion correcte des bénéfices et des exigences de marge.
Essayez d'exécuter la visualisation et vous comprendrez immédiatement la quantité de calculs basés sur le nombre de caractères d'arrière-plan dans la surveillance du marché.
Développez la pensée.
Je suis en fait favorable à ce que l'on considère qu'il est sûr et que l'on fasse sa contrepartie sans utiliser de fichier, mais directement.
Mais si MQ le reconnaît comme non sûr, il doit être retiré de la fonction également.
ZZZY D'ailleurs peut-être que je radote aujourd'hui quelque chose qui ne va pas, je n'ai pas répondu à deux questions, vous m'éclairez vraiment, pointez le doigt là où c'est bête.
Le fichier lui-même est impersonnel. On ne sait pas au préalable dans quel sens ce fichier a été écrit. En d'autres termes, la fonctionnalité décrite ci-dessus ne peut être interdite. Bien sûr, vous pouvez détecter organoleptiquement un fichier texte pur, et il y a quelques problèmes avec l'Unicode et les encodages Ansi.
Vous pouvez donc lire n'importe quel fichier à volonté. Et cela n'entraînera aucune situation dangereuse, car la taille des lectures (et des écritures aussi) est contrôlée. Vous ne serez pas en mesure de briser la pile. Vous ne pourrez en aucun cas obtenir une adresse dans la mémoire du processus.
Je peux le comprendre, mais une différence de vitesse de 13,7 fois... Eh bien, 2x c'est bon. Et la joie puérile de tester la vitesse aux prix d'ouverture sur les majors a été remplacée par une déprime larmoyante sur les crosses. Et au lieu d'utiliser 30 agents distants natifs, nous devrons à nouveau soudoyer les cludes... Abyss !
Le fichier lui-même est un fichier impersonnel. On ne sait pas à l'avance comment le dossier a été enregistré. En d'autres termes, la fonctionnalité décrite ci-dessus ne peut être interdite. Il est bien sûr possible de détecter de manière organoleptique un fichier texte pur, et il existe des nuances avec les encodages Unicode et Ansi.
Vous pouvez donc lire n'importe quel fichier à volonté. Et cela n'entraînera aucune situation dangereuse, car la taille des lectures (et des écritures aussi) est contrôlée. Vous ne serez pas en mesure de briser la pile. Vous ne pouvez pas obtenir une adresse dans la mémoire du processus de quelque manière que ce soit.
Dans ce cas, je ne vois aucune raison de ne pas introduire une fonction de lecture directe sans conversion de type, comme dans le cas de
Mettez-le dans une fonction et tout sera en sécurité.
Je ne vois donc aucune raison de ne pas introduire une fonction de lecture directe des données sans conversion de type, à l'instar de la méthode suivante
Mettez-le dans une fonction et tout sera en sécurité.
struct __long { long v ; }
__double a ; __long b ;
a.v=123.456 ;
b=a ;
b.v=4638373815016729713;
pas difficile.
+ lire en dehors des liens supérieurs https://www.mql5.com/ru/articles/364
Et la conversion d'un type à l'autre peut se faire à l'aide de macros ou de fonctions.
mais il n'y a rien de vraiment compliqué.