Terminal
MQL5
MetaTester
MetaEditor
Correction des erreurs signalées dans les journaux de plantage.
Terminal
MQL5
double vector.RegressionError(const enum lr_error); double matrix.RegressionError(const enum lr_error); vector matrix.RegressionError(const enum lr_error,const int axis);Les variables suivantes peuvent être utilisées comme métriques :
enum REGRESSION_ERROR { REGRESSION_MAE, // Erreur absolue moyenne REGRESSION_MSE, // Erreur quadratique moyenne REGRESSION_RMSE, // Erreur quadratique racine moyenne REGRESSION_R2, // R au carré REGRESSION_MAPE, // Erreur absolue moyenne en pourcentage REGRESSION_MSPE, // Erreur de pourcentage carré moyen REGRESSION_RMSLE // Erreur logarithmique quadratique moyenne };
MetaEditor
Testeur
Terminal
Terminal
Terminal
MQL5
void OnStart() { int arr[4][5]= { {22, 34, 11, 20, 1}, {10, 36, 2, 12, 5}, {33, 37, 25, 13, 4}, {14, 9, 26, 21, 59} }; ulong indexes[4][5]; //--- Trie le tableau arr.ArgSort(indexes,-1,0); Print("indexes"); ArrayPrint(indexes); } // Résultat : // indexes // [,0][,1][,2][,3][,4] // [0,] 4 2 3 0 1 // [1,] 2 4 0 3 1 // [2,] 4 3 2 0 1 // [3,] 1 0 3 2 4
void OnStart() { string test="some string"; PrintFormat("La longueur de la chaîne est %d",test.Length()); } // Résultat : // La longueur de la chaîne est 11
MQL5
double matrix::Flat(ulong index) const; // getter void matrix::Flat(ulong index,double value); // setter
Pseudocode pour calculer l'adresse d'un élément matriciel :
ulong row=index / mat.Cols(); ulong col=index % mat.Cols(); mat[row,col]
Par exemple, pour 'matrix mat(3,3)', l'accès aux éléments peut s'écrire comme suit :
Testeur
Terminal
Terminal
MQL5
VPS
MetaEditor
Testeur
>
Documentation mise à jour.
struct POINT { int x,y; }; int GetYFunc(y) { return(y * y); } void SomeFunction(int x1,int x2,int y) { POINT pt={ x1+x2, GetYFunc(y) }; ProcessPoint(pt); };
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"); }