![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Perché? Abbiamo un argomento separato per questo?
Buona idea ))))
Dovremmo aprire un topicchiamato "Chickenshit... " )))))
Tutti pensavano che l'argomento fosse esaurito, ma poi...
Ho rifatto l'algoritmo di ordinamento QuickSort per una matrice di strutture. La conclusione è che la semplice applicazione di un semplice algoritmo di ordinamento di array per ordinare un array di strutture porta al movimento "fisico" di grandi quantità di dati. Per evitare ciò, ho utilizzato una tabella di indice, in cui vengono eseguite tutte le permutazioni. Allo stesso tempo, ho utilizzato altre ottimizzazioni del codice. Per mantenere l'universalità per diversi tipi, ho usato un macro wrapper di fxsaber.
Di conseguenza, l'ordinamento dell'array MqlRates[30000] in base a 8 campi ha richiesto circa 3600 ms anziché 14900 ms. Questa è un'accelerazione superiore a 4x. Non ho controllato attentamente i risultati dell'ordinamento, l'ho lasciato cadere sui beta tester.
Grazie: ovviamente, fxsaber per il codice universale.
UPD: Se non è ovvio, accedi alla struttura in alto nell'elenco ordinato: MqlRates first = Rates[ RatesIdx[0] ];