struct complex { double real; // Partie réelle double imag; // Partie imaginaire };Le type "complex" peut être passé par valeur comme paramètre pour les fonctions MQL5 (contrairement aux structures ordinaires, qui ne sont passées que par référence). Pour les fonctions importées à partir de DLL, le type "complex" doit être passé uniquement par référence.
complex square(complex c) { return(c*c); } void OnStart() { Print(square(1+2i)); // Une constante est passée en paramètre } // "(-3,4)" will be output, which is a string representation of the complex numberSeules les opérations simples sont actuellement disponibles pour les nombres complexes : =, +, -, *, /, +=, -=, *=, /=, ==, !=.
select count(*) as book_count, cast(avg(parent) as integer) as mean, cast(median(parent) as integer) as median, mode(parent) as mode, percentile_90(parent) as p90, percentile_95(parent) as p95, percentile_99(parent) as p99 from moz_bookmarks;
void func(int &arr[ ][ ][ ][ ]) { }
struct MyStruct { string Array[]; }; void OnStart() { MyStruct a1,a2; ArrayResize(a1.Array,3); ArrayResize(a2.Array,1); a1=a2; }Auparavant, la taille du tableau "a1" était égale à 3 après l'appel de la fonction. Maintenant, la taille sera 1.
ENUM_FP_CLASS MathClassify( double value // nombre réel );L'énumération contient les valeurs suivantes :
if(MathClassify(value)>FP_ZERO) { Print("value n'est pas un nombre valide"); }
Nous avons révisé les critères d'optimisation qui incluent deux variables, dont le solde. Maintenant, les critères ne prennent en compte que la deuxième variable et ignorent le solde. Les nouveaux critères d'optimisation sont plus faciles à analyser.
Nous avons recueilli les commentaires des utilisateurs de MetaTrader 5 iOS et repensé considérablement l'application
import sys chart_symbol='unknown' chart_tf=1 if len(sys.argv) == 3: chart_symbol, chart_tf = sys.argv[1:3]; print("Hello world from", chart_symbol, chart_tf) >> Hello world from T.NYSE 15
long DatabaseImport( int database, // descripteur de base de données reçu par DatabaseOpen const string table, // nom de la table dans laquelle insérer les données const string filename, // nom du fichier à partir duquel importer les données uint flags, // combinaison de flags const string separator, // séparateur des données ulong skip_rows, // nombre de 1ères lignes à ignorer const string skip_comments // chaîne de caractères définissant les commentaires );
long DatabaseExport( int database, // descripteur de base de données reçu par DatabaseOpen const string table_or_sql, // nom de la table ou requête SQL const string filename, // nom du fichier CSV pour l'export des données uint flags, // combinaison de flags const string separator // séparateur des données in the CSV file );
long DatabasePrint( int database, // descripteur de base de données reçu par DatabaseOpen const string table_or_sql, // table ou requête SQL uint flags // combinaison de flags );
int FileSelectDialog( string caption, // titre de la fenêtre string initial_dir, // répertoire initial string filter, // filtre d'extensions uint flags, // combinaison de flags string& filenames[], // tableau contenant les noms des fichiers string default_filename // nom de fichier par défaut );La nouvelle fonction permet une interaction efficace de l'utilisateur avec le programme MQL5.
#property optimization_chart_mode "3d,InpX,InpY"La propriété permet de définir le type du graphique ouvert à la fin de l'optimisation, ainsi que les paramètres du programme pour les les axes X et Y.
double MathArctan2( double y // la coordonnée y du point double x // la coordonnée x du point );
Ajout de la traduction de l'interface utilisateur en punjabi (Inde).
La documentation a été mise à jour.
Corrections basées sur les journaux de crash.
La mise à jour sera disponible via le système Live Update.