[Archives] Mathématiques pures, physique, chimie, etc. : problèmes d'entraînement cérébral sans rapport avec le commerce. - page 510
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
Je n'aime pas utiliser les opérateurs continue et break, mais ils peuvent peut-être vous aider, d'autant plus qu'un if de 36 sur mql pourrait ne pas fonctionner.
Et accélérer Mon code peut être décomposé si, consistant en une condition de contrôle complexe de 36 entrées, en 36 ifs avec une condition simple ! :)))
Je pense que le code serait sensiblement plus rapide, bien que pour en être sûr, il faille comprendre les instructions machine, qui sont le résultat de la compilation.
J'ai exécuté votre code dans MT5. Les évaluations courtes des opérateurs logiques sont déjà implémentées (intégrées), il n'est donc pas nécessaire de décomposer le code en de nombreux ifs.
Dans MT4, c'est différent, cette optimisation a un sens dans ce cas. Mais j'ai fait une évaluation du temps dans MT5, par un schéma court.
Accéléré par un facteur de 4. Réécriture de Validate().
Maintenant, c'est comme ça :
WorkTime == 200 msHorrible, mais il est logique d'optimiser le code de la manière suivante. Plusieurs fois plus rapide ! Et là, MT5 ne sera plus d'aucune aide.
Ce n'est pas une idée, bien sûr. Mais je me demande à quelle vitesse cela va fonctionner ! :))
Dans le code, j'ai également réduit la plage des valeurs du diviseur. 654321/2 = 327160,5...
Accéléré par un facteur de 4. Réécriture de Validate().
Maintenant, ça ressemble à ça :
WorkTime == 200 msC'est magnifique ! Pas comme la mienne.
J'ai l'idée d'écrire un algorithme de division de colonnes. Divisez par des chiffres, écrivez le reste de la division et lorsque le résultat est supérieur à 6, faites une opération de continuation. C'est exactement ce que j'ai fait cet après-midi, quand j'ai passé en revue les cinq, j'ai tout divisé en colonnes. Mais ça fait longtemps que ça dure ! :))
C'est dans la représentation numérique hexadécimale qu'il faut faire l'optimisation, comme vous l'avez fait.
J'ai l'idée d'écrire un algorithme de division de colonnes. Divisez par des chiffres, écrivez le reste de la division et s'il correspond ou si le résultat est supérieur à 6, faites l'opération suivante. C'est exactement ce que j'ai fait cet après-midi, quand j'ai passé en revue les cinq, j'ai tout divisé en colonnes. Mais ça fait longtemps que ça dure ! :))
C'est dans la représentation des nombres à six chiffres qu'il faut optimiser, comme vous l'avez fait.
О ! Ce n'est pas une mauvaise idée. Je l'ai encore réécrit. Temps de travail = 125 ms.
О ! Ce n'est pas une mauvaise idée. Je l'ai encore réécrit. Temps de travail = 125 ms
Maintenant, les joueurs de hockey vont certainement rester heureux ! :)))) Mais ce n'est pas ce que je voulais dire ! ;D
Combien le compteur de temps indique-t-il par Mon code ?
Je comprends les changements. Je ne l'ai juste pas encore maîtrisé :
"Est-ce que "|=" est un OU logique ? Le reste est une impasse...
Maintenant, les joueurs de hockey seront heureux, c'est sûr ! :))))
Oui.
Votre nouveau code est encore plus rapide, mais il y a quelques bogues.
Le nombre d'accolades ne correspondait pas. Mais je pense que ce n'est rien, ça peut être réglé en supprimant le dernier.
Expliquez la signification des lignes surlignées. Je ne comprends pas.
Ouais.
Votre nouveau code est encore plus rapide, mais il y a quelques bogues.
Le nombre d'accolades ne correspondait pas. Mais je pense que ce n'est rien, ça peut être réparé en supprimant le dernier.
Expliquez la signification des lignes séparées. Je ne comprends pas.
Exactement... Conneries ! :))) Et les parenthèses semblent être correctes, j'ai copié du code prêt à l'emploi.
C'est comme ça que ça devrait être :
De plus, dans MQL5, il accélère un peu la comparaison :
Mais il est clair que le 125 ms ne rattrape pas son retard.
Ou peut-être que tout est en C++ ?
.
Valider la fonction d'un paramètre.
Et si on utilisait la bonne vieille méthode... allouer de la mémoire et mettre en cache un bool
pour toutes les valeurs valides de l'argument ?