Nuova piattaforma MetaTrader 5 build 3210: algoritmo di calcolo Sharpe Ratio rivisto, nuovi metodi matriciali e controllo sui valori minimo/massimo dell'indicatore

 

L'aggiornamento della piattaforma MetaTrader 5 sarà rilasciato venerdì 11 febbraio 2022.

L'aggiornamento fornisce l'algoritmo di calcolo del rapporto Sharpe rivisto basato su una formula tradizionale, nuovi metodi matriciali, consumo di memoria ottimizzato e funzionamento del sistema di rete migliorato per un migliore trasferimento dei dati.

Abbiamo anche aggiunto due nuove proprietà, INDICATOR_FIXED_MINIMUM e INDICATOR_FIXED_MAXIMUM, nell'enumerazione ENUM_CUSTOMIND_PROPERTY_INTEGER, che correggono/annullano i valori minimi e massimi dell'indicatore utilizzando la funzione IndicatorSetDouble.


Inoltre, abbiamo corretto alcuni errori nella libreria matematica Math\Stat\Math.mqh e corretto il funzionamento delle funzioni CopyTicks e CopyTicksRange, che potevano restituire dati obsoleti quando si superava la mezzanotte.

Queste modifiche, insieme ad altre nuove funzionalità della versione aggiornata della piattaforma MetaTrader 5, sono descritte in dettaglio di seguito:


  1. MQL5: Aggiunte funzioni Min, Max, ArgMin, ArgMax e Sum per vettori e matrici. Utilizza le funzioni per trovare i valori di minimo e massimo, gli indici rilevanti e la somma.
  2. MQL5: Aggiunto supporto per i metodi Flat per la matrice. Con questi metodi, un elemento di matrice può essere indirizzato attraverso un indice invece di due.
    double matrix::Flat(ulong index) const;      // getter
    void matrix::Flat(ulong index,double value); // setter

    Pseudocodice per il calcolo dell'indirizzo di un elemento di matrice:

    ulong row=index / mat.Cols();
    ulong col=index % mat.Cols();
    
    mat[row,col]

    Ad esempio, per 'matrix mat(3,3)', l'accesso agli elementi può essere scritto come segue:

      lettura: 'x=mat.Flat(4)', che equivale alla scrittura 'x=mat[1][1]'
    : 'mat.Flat(5, 42)', equivalente a 'mat[1 ][2]=42'

    Se la funzione viene chiamata con un indice di matrice non valido, verrà generato l'errore critico di esecuzione OutOfRange.

  3. MQL5: Migliorata la formattazione dei numeri in virgola mobile nei parametri di input del programma MQL5. Durante la lettura di alcuni numeri reali, i numeri con molti zeri sono stati sostituiti nei parametri di input, ad esempio 0,4 è stato rappresentato come 0,400000000002.
  4. MQL5: Corretti errori nella libreria matematica di Math\Stat\Math.mqh. La funzione MathSample di questa libreria è stata rivista per adattarsi al comportamento tradizionale di librerie matematiche simili durante il campionamento con il backtracking.
  5. MQL5: Corretto errore CopyTicks/CopyTicksRange che poteva causare la restituzione di dati obsoleti al superamento della mezzanotte, quando non sono previsti tick per lo strumento finanziario.
  6. MQL5: Aggiunti nuovi valori INDICATOR_FIXED_MINIMUM e INDICATOR_FIXED_MAXIMUM nell'enumerazione ENUM_CUSTOMIND_PROPERTY_INTEGER.
    Utilizzando queste proprietà, puoi correggere o annullare la correzione dei valori minimo e massimo dell'indicatore utilizzando la funzione IndicatorSetInteger. Quando si chiama s1>IndicatorSetInteger(INDICATOR_FIXED_MINIMUM/INDICATOR_FIXED_MAXIMUM, true), viene utilizzato il valore minimo o massimo corrente.





  7. Tester: Rivisto l’algoritmo di calcolo dello Sharpe Ratio per abbinare la formula tradizionale, in cui il valore corrisponde a un intervallo di un anno. L'algoritmo precedente si basava sulla variabilità del PnL ottenuto e ignorava le fluttuazioni dell'equity rispetto alle posizioni aperte. Ora il calcolo include i movimenti dell'equity, mentre lo Sharpe ratio è interpretato in modo classico:
    • Sharpe Ratio < 0              La strategia non è redditizia e non è adatta. Male.
    • 0 < Sharpe Ratio  < 1.0    Il rischio non viene ripagato. Tali strategie possono essere prese in considerazione quando non ci sono alternative. Indefinito.
    • Sharpe Ratio ≥ 1.0          Se lo Sharpe ratio è maggiore di uno. Ciò può significare che il rischio viene ripagato e che il portafoglio/la strategia può mostrare risultati. Buono.
    • Sharpe Ratio ≥ 3.0          Un valore alto indica che la probabilità di ottenere una perdita in ogni singola operazione è molto bassa. Molto bene.

  8. Terminale: Ottimizzato il consumo di memoria da parte del terminale.
  9. Terminale: Migliorato il funzionamento della piattaforma con un sottosistema di rete per migliorare le prestazioni e ridurre i ritardi di rete.
  10. Terminale: Rimossa la visualizzazione del livello di griglia zero negli indicatori quando il rendering della griglia è disabilitato.


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

Motivazione: