Erreurs, bugs, questions - page 1409
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
Que signifie TM=30M ici ?
D'après notre expérience, le jeu du "faisons un octet ou deux" conduit à d'horribles problèmes à l'avenir. On ne s'en rend compte que lorsqu'on écrit un logiciel 10 ans à l'avance.
Il ne s'agit donc pas d'aller jusqu'à la limite. Bien sûr, il faut laisser une certaine marge pour l'avenir, mais dans des limites raisonnables. Par exemple, dans le cas qui nous occupe, le champ flags ne stocke des informations que sur six autres champs. Si vous le faites de type ushort, vous aurez 10 champs supplémentaires à votre disposition. Combien de champs supplémentaires pouvez-vous lui ajouter ?
Si vous envisagez de sauvegarder un verre entier, par exemple, 32 bits ne suffisent pas. Pourquoi ne pas en faire 64 bits d'un coup ? Même si, évidemment, pour un verre, vous aurez besoin d'une structure très différente.
Bien sûr, je comprends que 2 octets supplémentaires ne sont pas très importants, mais il s'avère que 2 octets ici, 2 octets là... et ça fait beaucoup.
4 octets de date en secondes se terminent en 2038 (22 ans de plus), pas en 90 ans.
Je vous le dis - vous souffrirez de structures économiques non extensibles, commencez à penser en termes de décennies, de nécessité d'un soutien à long terme et tout deviendra clair.
Avec des dates de 4 octets, les masses de logiciels auront de gros problèmes de débordements en 2038, ce qui entraînera une réécriture frénétique du vieux code. Et les débordements seront détectés encore plus tôt sur les opérations de mat et les deltas.
Je programme depuis 25 ans et je sais de quoi je parle. J'ai écrit des programmes rentables toute ma vie. Regardez nos terminaux - ils sont de véritables chefs-d'œuvre par la quantité de fonctionnalités contenues dans des fichiers exe uniques de petite taille. Exécutez un seul terminal.exe nu sur un ordinateur propre et voyez ce qui se passe.
Mais les choses ont changé maintenant - soit vous écrivez du code 64 bits avec une marge presque partout, soit vous restez en dehors de l'avenir. C'est particulièrement important pour nous, car nous ne publions pas des boîtes fermées, mais des plateformes de développement avec une exigence de compatibilité.
Nous nous en voudrons dans quelques années, car nous nous retrouverons à nouveau en situation de sous-investissement. Et tout autour, des ordinateurs avec des dizaines de gigaoctets en équipement de base.
Que signifie TM=30M ici ?
Avec des dates à 4 octets, la plupart des logiciels auront de gros problèmes de débordements en 2038, ce qui entraînera une réécriture frénétique de l'ancien code. Et les débordements seront détectés encore plus tôt sur les opérations de mat et les deltas.
Vous voulez parler des codes MQL4 (où la date est basée à l'origine sur les int). Puis, bien sûr, une autre conversation liée aux problèmes de compatibilité. Mais à l'origine, je parlais de rationalité. Donc, dans ce cas, la rationalité souffre.
Quoi qu'il en soit, je pense que vous conviendrez qu'un nouveau type de temps contenant des millisecondes est nécessaire et qu'il ne devrait pas commencer en 1970, mais bien avant, par exemple en 1900. Il ne s'agit plus seulement de forex, les échanges existent depuis très longtemps.
...
Quoi qu'il en soit, je pense que vous serez d'accord pour dire qu'un nouveau type de temps est nécessaire, un temps qui contient des millisecondes. Et il ne devrait pas commencer en 1970, mais bien avant, par exemple en 1900. Nous ne parlons pas seulement du forex maintenant, mais les échanges existent depuis très longtemps.
Le seul problème est qu'il n'était pas à la mode d'utiliser des ordinateurs sous le tsar Gorokh et que l'histoire des tics n'a pas été préservée pour les générations futures...
Il ne s'agit pas nécessairement de ticks. Par exemple, les bougies du jour sont toujours intactes.
Je suis gêné de demander, pourquoi avez-vous besoin des prix des chandeliers quotidiens pour 1900... années ? Pour faire de l'analyse technique ? Pour tester les conseillers sur l'histoire ?
La vitesse d'exécution sera multipliée par 2 à 10 pour les versions x64 du terminal MetaTrader 5.
Le résultat en vaut la peine. Mais nous allons encore travailler sur la vitesse de compilation.
Vous vous êtes récemment vanté que la vitesse de MQL était proche de celle de C++. Et maintenant, il s'avère que vous allez dépasser C++ de plusieurs fois...)).
Si vous parvenez à obtenir cette vitesse lors de certains tests spécialement préparés, cela ne signifie pas que vous l'obtiendrez également dans d'autres cas. En même temps, la vitesse de compilation ralentit dans tous les cas.
Je suis embarrassé de demander, pourquoi avez-vous besoin des prix des chandeliers quotidiens pour 1900... années ? Pour faire de l'analyse technique ? Voulez-vous tester les conseillers sur l'histoire ?