![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Chers développeurs. Que pensez-vous de l'introduction du type de données "long double" en C/C++ ? Ce serait très utile. À vrai dire, j'ai constaté que la précision du type "double" est insuffisante pour les calculs. Ou encore, créez une classe spéciale pour les opérations dont la précision est définie de manière arbitraire. Qu'en pensez-vous ?
Désolé de vous interrompre, mais lancez-vous une fusée dans l'espace ? Ne serait-il pas préférable de penser à optimiser l'algorithme ou autre ?
Pouvez-vous donner un exemple où une telle précision est nécessaire ?
Il y a un autre problème avec le manque de précision. La situation est la suivante. Nous construisons une fonction de distribution pour 10 000 valeurs par prix. Sur certains intervalles, la valeur de la fonction est petite et divisée par 10000. On obtient des valeurs de l'ordre de 1*10e-6 ; il faut alors définir le carré de la différence entre ces valeurs et on obtient la valeur de l'ordre de 1*10e-13 (il faut alors additionner plusieurs milliers de ces valeurs) ; les données sont catastrophiquement perdues. Et 10000, ce n'est pas beaucoup, à vrai dire - pas beaucoup. C'est pourquoi je demande une fois de plus aux développeurs d'introduire le "double long". D'après ce que je sais, le travail statistique sur de grands échantillons dans le domaine financier est une tâche fréquemment demandée. Sinon, il s'avère que nous venons de nous enthousiasmer pour MQL5 et que nous devons maintenant passer au C++.
Letype double dans mql5 fonctionne avec des nombres compris entre +-10e-307 et +-10e307, avec une mantisse de 16 chiffres. Il n'y a donc pas de problèmes décrits par vous.
Si la mantisse déclarée n'est pas suffisante, développez une classe de précision supérieure, par exemple, avec une mantisse de 32 chiffres. C'est votre droit.
Mais pour la masse principale des développeurs, 16 chiffres de mantisse suffisent, pourquoi s'embêter avec un tel fouillis ?
Letype double dans mql5 fonctionne avec des nombres compris entre +-10e-307 et +-10e307, avec une mantisse de 16 chiffres. Il n'y a donc pas de problèmes décrits par vous.
Si la mantisse déclarée n'est pas suffisante, développez une classe de précision supérieure, par exemple, avec une mantisse de 32 chiffres. C'est votre droit.
Pour la plupart des développeurs, une mantisse de 16 caractères est suffisante, alors pourquoi s'en soucier ?
double x1=0.0011 ;
double y1=x1/10000 ;
double x2=0.0012 ;
double y2=x2/10000 ;
double c=y1-y2 ;
double d=MathPow(c,2) ;
printf(string(d)) ;
результат: 9.999999999999968e-017
Alors, que dois-je faire avec ce résultat ? Comment puis-je le comparer à d'autres résultats ? DBL_EPSILON=2.2204460492503131e-016. A part les deux derniers chiffres - tu vois ? Et ce, pour seulement deux opérations. Et j'ai d'autres de ces opérations. Et ces informations doivent être utilisées pour restaurer les données plus tard avec d'autres opérations. Plus de pertes. Je suis en train d'apprendre à programmer dans un langage de type C et une telle classe est difficile à construire pour moi (ou plutôt, je n'ai aucune idée de comment). C'est un travail sérieux. D'ailleurs, par hasard, avez-vous un tel cours ? Et les développeurs peuvent améliorer les choses pour tout le monde à la fois. Il serait possible de réaliser des grilles de 100 000x100 000. Des échantillons plus ou moins représentatifs seraient déjà disponibles, bien que cela ne suffise pas toujours. Et s'ils faisaient une classe pour la précision arbitraire, ce serait encore mieux :) C'est juste un type de données. Si elle existe, c'est qu'elle est là pour une raison, parce qu'elle répond à un besoin. Le fait est que je ne sais pas si c'est difficile ou non pour les développeurs. Si c'est difficile et coûteux - je suis d'accord avec vous - pourquoi leur refiler mon problème. Mais si ce n'est pas difficile, pourquoi ne pas le faire ? Encore une fois, un environnement de développement puissant pour des calculs commerciaux de haute précision - un avantage concurrentiel ici :). C'est pourquoi je demande ce qu'ils en pensent.
Encore une fois, un environnement de développement puissant pour des calculs commerciaux de haute précision - un avantage concurrentiel ici :).
C'est seulement de votre point de vue... 99,9999% n'en ont pas besoin
Utilisez un logiciel spécialisé à cette fin....
C'est seulement de votre point de vue... 99,9999% n'en ont pas besoin
Utilisez un logiciel spécialisé à cette fin....
Justement, MT est un produit spécialisé pour les calculs financiers. Et les calculs financiers sont étroitement liés à l'utilisation de méthodes statistiques. Et il n'y a pas besoin de maîtriser de nouveaux produits - je veux développer l'AT dans un seul environnement commercial, plutôt que de m'occuper de cela et de me battre avec des types. De plus, il semble que MQL5 soit vraiment rapide.
Vous comprenez que tout développeur manque toujours quelque chose....
Si 500 programmeurs écrivent 10 souhaits chacun, il faudrait un bureau comme celui de Bill.....
pour réaliser des fantasmes....
Vous comprenez que tout développeur manque toujours quelque chose....
Si 500 programmeurs écrivaient 10 souhaits chacun, il faudrait un bureau comme celui de Bill.....
pour que les fantasmes deviennent réalité....