![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
Pourquoi ? Avons-nous un sujet séparé pour cela ?
Bonne idée ))))
Nous devrions commencer un sujetappelé "Chickenshit... " )))))
Tout le monde pensait que le sujet était épuisé, mais bon...
J'ai refait l'algorithme de tri QuickSort pour un tableau de structures. L'essentiel est que l'application directe d'un algorithme de tri de tableau simple pour trier un tableau de structures conduit au mouvement "physique" de grandes quantités de données. Pour éviter cela, j'ai utilisé une table d'index, dans laquelle toutes les permutations sont faites. En parallèle, j'ai utilisé d'autres optimisations de code. Pour conserver l'universalité des différents types, j'ai utilisé un macro wrapper de fxsaber.
Par conséquent, le tri du tableau MqlRates[30000] par 8 champs a pris environ 3600 ms au lieu de 14900 ms. C'est une accélération de plus de 4x. Je n'ai pas vérifié attentivement les résultats du tri, je l'ai laissé tomber sur les bêta-testeurs.
Merci : bien sûr, fxsaber pour le code universel.
UPD : Si ce n'est pas évident, accédez à la structure supérieure dans la liste triée : MqlRates first = Rates[ RatesIdx[0] ] ;