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]; //--- Отсортируем массив arr.ArgSort(indexes,-1,0); Print("indexes"); ArrayPrint(indexes); } // Результат в журнале: // 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("String length is %d",test.Length()); } // Результат в журнале: // String length is 11
MQL5
double matrix::Flat(ulong index) const; // getter void matrix::Flat(ulong index,double value); // setter
Псевдокод вычисления адреса элемента матрицы:
ulong row=index / mat.Cols(); ulong col=index % mat.Cols(); mat[row,col]
Например, для матрицы matrix mat(3,3) доступы можно записать так:
Tester
Terminal
Terminal
MQL5
VPS
MetaEditor
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; // вещественная часть double imag; // мнимая часть };Тип "complex" может передаваться по значению в качестве параметра для MQL5-функций (в отличие от обычных структур, которые передаются только по ссылке). Для функций, импортируемых из DLL, тип "complex" должен передаваться только по ссылке.
complex square(complex c) { return(c*c); } void OnStart() { Print(square(1+2i)); // в качестве параметра передается константа } // будет выведено "(-3,4)" - это строковое представление комплексного числаДля комплексных чисел на данный момент доступны только простые операции: =, +, -, *, /, +=, -=, *=, /=, ==, !=.
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; }Ранее в результате вызова такой функции массив "а1" имел размер 3. Теперь он будет иметь размер 1.
ENUM_FP_CLASS MathClassify( double value // вещественное число );Перечисление содержит следующие значения:
if(MathClassify(value)>FP_ZERO) { Print("value is not a valid number"); }
Изменены критерии оптимизации,
в которых учитывалось два показателя — баланс и некий второй фактор.
Теперь в них учитывается только второй фактор, без баланса. Такие
критерии являются более простыми и понятными для анализа.
Мы собрали пожелания пользователей iOS-версии MetaTrader 5 и сделали масштабный редизайн приложения