Aggiornamento della Piattaforma MetaTrader 5 build 4570: Miglioramenti alla versione Web e integrazione OpenBLAS in MQL5

 

La versione aggiornata della piattaforma MetaTrader 5 verrà rilasciata Venerdì, 27 Settembre, 2024.

L'aggiornamento introduce numerose nuove funzionalità e miglioramenti alla piattaforma web. Abbiamo aggiunto una modalità mirino per accedere a valori precisi e misurare le distanze sul grafico, nonché un nuovo tipo di grafico a linea. La versione mobile offre ora la possibilità di abilitare informazioni aggiuntive nel Market Watch. Inoltre, l'elenco dei tasti di scelta rapida supportati è stato ampliato per operazioni sui grafici più efficienti.

In MQL5 sono ora disponibili nuove funzioni di apprendimento automatico. Tra queste rientrano l'integrazione con la libreria di calcolo delle matrici OpenBLAS e il supporto migliorato di ONNX Runtime per consentire l'esecuzione di modelli neurali più complessi.


Inoltre, la piattaforma offre ora funzionalità migliorate per il download e l'esportazione della cronologia dei tick. Inoltre, abbiamo corretto alcuni bug negli agenti di test che potevano causare un consumo eccessivo di RAM.


Terminale Client MetaTrader 5

  1. Terminale: Accesso limitato alle funzioni MQL5 del trading e della cronologia se l'account è abbonato ad un segnale.

    Quando viene rilevata una sottoscrizione ad un segnale sull'account (indipendentemente dal fatto che la copia sia abilitata nel terminale corrente), tutte le chiamate alle funzioni di trading MQL5 sono vietate, tra cui la ricezione di ordini e posizioni aperte, la ricezione della cronologia e l'esecuzione di operazioni di trading. Un avviso corrispondente viene registrato nel journal:
    'XXX': abbonamento ad un segnale rilevato, le funzioni di accesso al trading e alla cronologia in MQL5 e Python sono disabilitate
    Le restrizioni si applicano anche alle funzioni di trading Python: position_total, position_get, orders_total, orders_get, history_orders_total, history_orders_get, history_deals_total, history_deals_get, order_check e order_send.

    Se un abbonamento ad un segnale viene annullato sull'account o ci si connette a un altro account senza un abbonamento ad un segnale, la restrizione viene revocata e viene registrato il seguente messaggio:
    'XXX': nessun abbonamento ad un segnale rilevato, le funzioni di accesso al trading e alla cronologia in MQL5 e Python sono abilitate
    Se la restrizione è attiva sull'account, le funzioni MQL5 restituiranno i seguenti codici di risposta:

    • OrderSend e OrderSendAsync restituiscono RET_REQUEST_AT_DISABLED_CLIENT
    • OrdersTotal and PositionsTotal restituiscono 0
    • PositionGetSymbol, PositionSelect, PositionSelectByTicket e PositionGetTicket restituiscono ERR_MQLAPI_TRADE_POSITION_NOT_FOUND
    • OrderGetTicket e OrderSelect restituiscono ERR_MQLAPI_TRADE_POSITION_NOT_FOUND
    • HistorySelect restituisce ERR_MQLAPI_TRADE_DEAL_NOT_FOUND

  2. Terminale: Corretta, ottimizzata e accelerata la richiesta della cronologia dei tick e l’esportazione in file CSV\HTML.
  3. Terminale: Aggiunto il supporto Microsoft Edge WebView2 per la visualizzazione di contenuti HTML nella piattaforma di trading su macOS. Rispetto all'obsoleto MSHTML, il nuovo componente espande notevolmente le capacità di visualizzazione dei contenuti fornendo l'accesso alle moderne tecnologie. Il passaggio a WebView2 migliora l'aspetto del Market, Segnali, VPS e altre sezioni, incrementandone le prestazioni e creando interfacce più reattive.

  4. Terminale: Corretto il menu contestuale nella finestra di invio della posta interna.
  5. Terminale: Corretto il filtraggio nella finestra di dialogo di selezione degli strumenti di trading. Non è più necessario immettere prima i nomi degli strumenti per nascondere gli strumenti scaduti.
  6. Terminale: Corretto il calcolo dei requisiti di margine nella finestra delle specifiche del contratto. L'errore accadeva per gli strumenti Azionari e Obbligazionari di Borsa.
  7. Terminale: Funzione di chiusura delle posizioni in blocco migliorata per i conti FIFO . Per questi conti non vengono più visualizzati tipi di operazioni incompatibili, tra cui la chiusura di tutte le posizioni profittevoli/perdenti, posizioni con la stessa direzione e posizioni opposte.
  8. Terminale: Corretto il problema che impediva agli utenti di inserire ordini pendenti opposti su conti in cui la chiusura delle posizioni segue la regola FIFO.
  9. Terminale: Corretto il calcolo del valore di liquidazione per i conti con posizioni su strumenti del Mercato dei Futures .
  10. Terminale: Corretti i calcoli dei profitti flottanti per posizioni su strumenti Exchange Bonds e Exchange MOEX Bonds.
  11. Terminale: Disattivata la creazione automatica di un account demo quando la piattaforma viene lanciata senza account aggiunti in precedenza.
  12. Terminale: Migliorata la convalida del nome e dell'indirizzo e-mail durante la registrazione degli account.
  13. Terminale: Corretto il calcolo del margine per le posizioni hedged. L'errore poteva verificarsi in alcuni casi quando si utilizza un margine variabile sul conto (calcolato in base al volume/valore delle posizioni correnti).
  14. Terminale: Corretto il problema dell'aggiornamento dello stato del pulsante "Avanti" nella finestra di dialogo di apertura del conto demo. Dopo aver inserito il codice di conferma telefonico o e-mail, in determinate condizioni il pulsante poteva rimanere inattivo.
  15. Terminale: Traduzioni dell'interfaccia utente aggiornate.
  16. MQL5: Aggiunta integrazione nativa con la libreria di calcolo delle matrici OpenBLAS .

    OpenBLAS è una libreria di algebra lineare open source ad alte prestazioni che implementa BLAS (Basic Linear Algebra Subprograms) e alcune funzioni LAPACK. OpenBLAS è progettata per migliorare le prestazioni computazionali, in particolare nelle operazioni su matrici e vettori, spesso utilizzate in attività scientifiche e ingegneristiche quali apprendimento automatico, metodi numerici e simulazioni.

    Caratteristiche principali di OpenBLAS:

    • Supporto multithreading: OpenBLAS può utilizzare in modo efficiente più core del processore per calcoli paralleli, accelerando notevolmente le operazioni sui sistemi multiprocessore.
    • Ottimizzazione per le architetture dei processori: OpenBLAS include build ottimizzate per vari processori come Intel, AMD, ARM e altri. La libreria rileva automaticamente le caratteristiche del processore (set di istruzioni supportati come AVX/AVX2/AVX512) e seleziona le implementazioni delle funzioni più adatte.
    • Ampio supporto operativo BLAS: OpenBLAS implementa le funzioni principali di BLAS, tra cui operazioni vettoriali (ad esempio, addizione vettoriale e prodotto scalare), operazioni matriciali (moltiplicazione) e operazioni vettore-matrice.
    • Compatibilità LAPACK: La libreria supporta le funzioni LAPACK (Linear Algebra PACKage) per operazioni di algebra lineare più complesse, come la risoluzione di sistemi di equazioni lineari, il calcolo degli autovalori di matrici e altro ancora.
    • Prestazioni Elevate: Rispetto ad altre librerie BLAS, OpenBLAS spesso offre risultati migliori grazie a ottimizzazioni personalizzate per specifiche architetture di processori.

    OpenBLAS è ampiamente utilizzato nelle applicazioni che coinvolgono calcoli numerici:

    • Addestramento di reti neurali e altre attività di apprendimento automatico.
    • Calcolo scientifico (ad esempio modellazione di processi fisici).
    • Elaborazione e analisi di grandi quantità di dati.

    I seguenti metodi sono attualmente disponibili in MQL5:

    Decomposizione ai Valori Singolari:

    • SingularValueDecompositionDC – algoritmo dividi et impera; considerato il più veloce tra gli altri algoritmi SVD (funzione lapack GESDD).
    • SingularValueDecompositionQR – Algoritmo QR; considerato un algoritmo SVD classico (funzione lapack GESVD).
    • SingularValueDecompositionQRPivot – QR con algoritmo pivot (funzione lapack GESVDQ).
    • SingularValueDecompositionBisect – algoritmo di bisezione (funzione lapack GESVDX).
    • SingularValueDecompositionJacobiHigh – Algoritmo di alto livello di Jacobi (funzione lapack GEJSV).
    • SingularValueDecompositionJacobiLow – Algoritmo di basso livello di Jacobi (funzione lapack GESVJ). In alcuni casi il metodo calcola piccoli valori singolari e i loro vettori singolari con una precisione maggiore rispetto ad altre routine SVD.
    • SingularValueDecompositionBidiagDC – algoritmo dividi et impera per matrici bidiagonali (funzione lapack BDSVDX).
    • SingularValueDecompositionBidiagBisect – algoritmo di bisezione per matrici bidiagonali (funzione lapack BDSVDX).
    • EigenSolver – calcola autovalori e autovettori di una matrice quadrata regolare utilizzando l'algoritmo classico (funzione di Lapack GEEV).
    • EigenSymmetricDC – calcola autovalori e autovettori di una matrice simmetrica o Hermitiana (complessa coniugata) utilizzando l'algoritmo dividi et impera (funzioni lapack SYEVD, HEEVD).

    La documentazione dettagliata sarà fornita a breve.

  17. MQL5: Aggiunto il valore SYMBOL_SWAP_MODE_CURRENCY_PROFIT nell'enumerazione ENUM_SYMBOL_SWAP_MODE . Se la funzione SymbolInfoInteger restituisce questo valore, gli swap sul conto vengono addebitati nella valuta di calcolo del profitto.
  18. MQL5: Supporto ampliato per ONNX Runtime. Aggiunti nuovi tipi di operazioni di apprendimento automatico, che consentono di eseguire modelli neurali più avanzati.
  19. MQL5: Continuiamo la transizione verso un compilatore MQL5 più efficiente, già utilizzato per alcune funzioni. La transizione consentirà ulteriori ottimizzazioni e un'esecuzione più rapida del programma.
  20. MQL5: Aggiunti nuovi tipi di dati per supportare la libreria OpenBLAS:

    • complexf – numero complesso rappresentato da dati float
    • vectorcf – vettore contenente elementi di tipo complexf
    • matrixcf – matrice contenente elementi di tipo complexf

  21. MQL5: Migliorate le operazioni WebRequest quando si lavora con siti web che violano le regole di formattazione degli URL, contengono errori di reindirizzamento o hanno lunghi elenchi di nomi DNS alternativi.
  22. MQL5: Corretta l’assegnazione simultanea di tipi di matrice o vettore a più variabili.
  23. MetaEditor: Modelli disponibili aggiornati per l'Assistente IA. Il GPT-4o mini più avanzato sostituisce ora il GPT-3.5 Turbo. Aggiunto anche il modello 01-mini.
  24. MetaEditor: Corretto errore del debugger a causa del quale i valori delle variabili potevano non essere aggiornati nella finestra di controllo.
  25. MetaEditor: Traduzioni dell'interfaccia utente aggiornate.
  26. MetaTester: Corretto il salvataggio dei coefficienti di margine nelle impostazioni dei simboli personalizzati.
  27. MetaTester: Risolti i problemi di memoria che potevano verificarsi tra i passaggi del test in determinate condizioni.

Terminale Web MetaTrader 5

  1. Aggiunta la modalità Mirino per visualizzare valori precisi e misurare le distanze sui grafici.

    Abilitare la modalità cliccando sul pulsante corrispondente nel pannello di sinistra. Sposta il mirino su un punto qualsiasi del grafico per visualizzare la data e il prezzo sui rispettivi assi. Per misurare la distanza, fare clic su un punto qualsiasi del grafico e trascinare il cursore su un altro punto tenendo premuto il pulsante del mouse.




    Puoi anche usare le scorciatoie: premi il tasto centrale del mouse per abilitare il mirino e usa Esc o clicca con il tasto destro per disattivarlo.

  2. Aggiunto un semplice grafico a linea costruito sui prezzi di chiusura delle barre:




  3. Nella visualizzazione mobile, è stata aggiunta la possibilità di visualizzare colonne aggiuntive nella sezione Market Watch. Per configurare, passare alla modalità tabella e fare clic su "...":




  4. Aggiunti tasti di scelta rapida:

    • Home — scorri fino all'inizio del grafico (data più vecchia)
    • End — scorri fino alla fine del grafico (data più recente)
    • Page Up — scorri il grafico di una schermata indietro
    • Page Down — scorri il grafico di una schermata in avanti

  5. Maggiore sicurezza dei dati per l'archiviazione delle connessioni agli account.
  6. Funzionalità di scorrimento, trascinamento e ridimensionamento dei grafici migliorate.
  7. Caricamento iniziale accelerato della piattaforma web sulla pagina.
  8. Caricamento ottimizzato delle barre.
  9. Corretti i calcoli dei profitti flottanti per posizioni su strumenti Exchange Bonds e Exchange MOEX Bonds.
  10. Corretto l’Inserimento del volume sul pannello di trading con un clic sui grafici.
  11. Risolto l'errore nell'aggiornamento dei volumi degli ordini nel Depth of Market. In determinate condizioni, l'aggiornamento dei valori poteva essere ritardato.
  12. Corretto il controllo del volume minimo di trading consentito al momento dell'inserimento degli ordini.
  13. Corretto il calcolo del margine per le posizioni hedged. L'errore poteva verificarsi in alcuni casi quando si utilizza un margine variabile sul conto (calcolato in base al volume/valore delle posizioni correnti).
  14. Risolto l'errore per cui i pulsanti Buy e Sell sul pannello di trading con un clic potevano diventare inattivi finché non veniva modificato il volume.

L'aggiornamento sarà disponibile attraverso il sistema Live Update.