Compilazione di programmi MQL5 con set di istruzioni AVX / AVX2 + FMA3 / AVX512 + FMA3 dalla build 3902

 

Nella prossima beta abbiamo rilasciato la possibilità di compilare programmi MQL5 utilizzando l'insieme esteso di istruzioni AVX / AVX2 + FMA3 / AVX512 + FMA3.

Esse consentono di generare codice più efficiente e veloce.

È possibile configurare sia le impostazioni generali per i singoli programmi sia le impostazioni personali per i progetti:




Si prega di partecipare al test scaricando la versione beta dal server MetaQuotes-Demo o di effettuare l'aggiornamento tramite la sezione del menu "Aiuto".

 

Posso avere qualche spiegazione/commento dagli sviluppatori sul funzionamento di MT5 su processori con core "efficienti dal punto di vista energetico"?

Di solito le persone sono interessate al lavoro dei tester, ma io sono più interessato al lavoro su MT5 con molti EA in esecuzione (e "multi EA" - molti EA indipendenti in uno).

 

Forum sul trading, sui sistemi di trading automatizzati e sulla verifica delle strategie di trading

Processore per MT4/MT5

Stanislav Korotky, 2023.08.26 21:09

Tutto questo è indovinare i fondi di caffè. MQ dovrebbe fornire un proprio benchmark (un programma come PCMark, CineBench, Geekbench, ecc.) - come MetaTraderBench. Le domande sulle prestazioni della CPU/GPU, sulla grafica, sulla gestione dei dischi, ecc. nelle attività applicative verrebbero eliminate. Sarebbe più facile scegliere la configurazione del PC per la MT.

Purtroppo non esiste un Bench.

 
MetaQuotes:

consentono di generare codice più efficiente e veloce.

Quali sono i vostri consigli per scegliere le impostazioni migliori per la macchina locale e per la macchina remota (per Market, Agenti, ecc.)?
 
JRandomTrader #:

Possiamo avere qualche chiarimento/commento dagli sviluppatori sull'esecuzione di MT5 su processori con core "a basso consumo"?

Di solito le persone sono interessate al lavoro dei tester, ma io sono più interessato al lavoro su MT5 con molti EA in esecuzione (e "multi EA" - molti EA indipendenti in uno).

I nostri test hanno dimostrato che:

  1. Passando dal compilatore MSVC a Clang/LLVM si ottiene un aumento complessivo fino al 25% - proprio una crescita mostruosa, Google a proposito delle build di Chrome ha dichiarato in modo simile

    Ecco perché MetaTrader 5 è stata costruita su Clang per molto tempo.

  2. L'utilizzo di AVX nella piattaforma offre un notevole incremento, senza specificare le percentuali

    Ecco perché abbiamo due serie di terminali client: la versione NoAVX, ormai obsoleta, su MSVC per i vecchi processori e AVX su Clang per quelli moderni.

    Installer determina automaticamente quale versione inserire. Anche Livapdate.

  3. Le nostre ultime ricerche mostrano che AVX2 + FMA3 fornisce un miglioramento rispetto ad AVX

    FMA3 aiuta nella matematica vettoriale, che dovrebbe funzionare bene per la nostra classe di problemi.

    Presto rilasceremo la terza serie di programmi con AVX2. Al prossimo aggiornamento il terminale stesso selezionerà in modo trasparente la nuova versione.


Il lavoro con i kernel P/E dipende interamente da Windows Scheduler e anche Intel Thread Director (estensione di Thread Manager) non è del tutto efficiente nell'assegnare i compiti per importanza. Ci sono diversi casi limite in cui il dispatcher è inefficace o discutibile.

Cercare di usare la maschera di affinità nel caso generale non fa che peggiorare le cose. Soprattutto quando l'applicazione è in esecuzione su una macchina virtuale.

È possibile inchiodare la maschera di affinità solo in casi speciali di ottimizzazione rigorosa di una particolare applicazione.



Le raccomandazioni generali sui processori sono semplici: più core, frequenza più alta, più cache L1/L2, abbastanza RAM ad alta velocità e dischi NVME.

Ora i processori consumer hanno superato con sicurezza la soglia dei 5 gigahertz. Ad esempio, Ryzen 7950X a 600 dollari con 32 thread funziona facilmente a pieno carico a 4,5 - 5,0 gigahertz su ciascun core e produce risultati sorprendenti.

 

Renat Fatkhullin #:

Il programma di installazione rileva automaticamente la versione da installare. Anche Livapdate.

Aggiorno tutti i terminali copiando tre file exe (terminale, tester, editor). Le persone conservano le versioni precedenti nella stessa forma - questi tre file.

Ora sostengono che possono essere diversi nella stessa build. E, di conseguenza, hanno prestazioni diverse.

 

Forum sul trading, sui sistemi di trading automatico e sulla verifica delle strategie di trading

Come iniziare con MT5, riassunto!

Fernando Carreiro, 01.09.2023 12:43 pm.

Come influirà questo sui prodotti Market in futuro?

Presumo che il processo di validazione richiederà la compilazione del prodotto senza di esso per garantire il minimo comune denominatore.

 
fxsaber #:

Aggiorno tutti i terminali copiando tre file exe (terminale, tester, editor). Le persone mantengono le versioni precedenti nella stessa forma - questi tre file.

Ora sostengono che possono essere diversi nella stessa build. E, di conseguenza, avere prestazioni diverse.

Esattamente - vedete la presenza di AVX nel banner di descrizione del computer all'avvio del terminale.


Si consiglia di non bloccare gli aggiornamenti, perché presto i terminali si fermeranno con un avviso all'avvio dopo aver rilevato il blocco.

Diverse aziende vengono costantemente bannate a causa di:

  1. bloccano gli aggiornamenti e pompano centinaia di gigabyte di aggiornamenti durante i continui riavvii, appesantendo la nostra infrastruttura
  2. cancellare tutte le cache all'avvio del terminale e creare un carico sui server dei broker
  3. riavviare i terminali in tutti i tipi di docker/container/etd con un ambiente nudo decine di migliaia di volte al giorno.

Invece di lamentarsi, devono accendere la testa e pensare a coloro che li servono. "Ho un disco da 5gb e sto risparmiando e il traffico è gratuito per me" non dà molto fastidio se si traduce nello spreco di risorse di un fornitore di tecnologia o di un broker.

 
Fernando Carreiro #:

Solo i programmi compilati in modalità "x64 Regular" saranno accettati sul mercato.

Molto probabilmente in futuro amplieremo le possibilità del mercato.


Il rilascio della MT5 è previsto per venerdì della prossima settimana. Per questo motivo vi chiediamo di testare più attivamente le nuove modalità.

 
Renat Fatkhullin #:

Si consiglia di non bloccare gli aggiornamenti, poiché i terminali si interromperanno presto con un avviso all'avvio dopo il rilevamento del blocco.

Fate trading su build con bug? Penso che siate lontani dalla pratica dell'algo-trading.
 
fxsaber #:
Fate trading su build con bug? Penso che siate lontani dalla pratica dell'algo-trading.

Quindi non aggiornate le beta in proda.

Le release escono ogni 3 mesi. E quei malvagi agricoltori, che non aggiornano, siedono su versioni obsolete per un anno o più - non si preoccupano del trading. Hanno un approccio puramente utilitaristico: "Ho svolto il mio compito, non mi interessa il resto".

Scrivo specificamente sui casi di malvagità, poiché i loro proprietari leggono sicuramente questo forum: le mie spiegazioni sono per loro.