Erreurs, bugs, questions - page 1409

 

Que signifie TM=30M ici ?

  • Terminal de trading :MetaTrader 4.0.
  • Instrument de trading : n'importe lequel (les principales paires de devises FX, de préférence avec un spread minimal).
  • TM =30M.
  • Levier de négociation : à partir de1:100 et plus.
  • Type de compte : compte micro, mini ou standard.
  • Lot initial minimum =0,01.
  • Dépôt minimum : à partir de 300 USD/Cent (avec 0,01 lot minimum).
 
Renat Fatkhullin:

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.

Vous êtes confus. Nous parlons de uint. Il vous permet de stocker 136 années, c'est-à-dire jusqu'en 2106. Il semble que vous ayez fait cette erreur à l'origine lors du développement de MQL5.
 

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.

 
Yousufkhodja Sultonov:

Que signifie TM=30M ici ?

  • Terminal de trading :MetaTrader 4.0.
  • Instrument de trading : n'importe lequel (paires de devises FX majeures, de préférence avec un spread minimum).
  • TM =30M.
  • Effet de levier : à partir de1:100 et plus.
  • Type de compte : micro compte, mini compte ou compte standard.
  • Lot minimum de départ =0,01.
  • Dépôt minimum : à partir de 300 USD/Cent (avec un lot minimum de 0,01).
"TM=30M" - cadre temporel 30 minutes (période du graphique 30 minutes).
 
Renat Fatkhullin:
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.

 
Alexey Navoykov:

...

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...
 
Joo Zepper:
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 tics. Les bougies de jour, par exemple, ont été préservées.
 
Alexey Navoykov:
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 ?

 
Renat Fatkhullin:

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.

 
Joo Zepper:

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 ?

Ok, qu'est-ce qui est étrange ici ? Pourquoi cela vous surprend-il ? Ou bien est-il normal de faire l'analyse/les tests à partir de 1970 et non de 1969 ?