Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 2928
- Рейтинг:
- Опубликован:
- Обновлен:
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Класс для работы с матрицами.
Матрица задается в одномерном массиве, подряд: элементы первой строки, второй и т.д. Последние два элемента массива определяют размер матрицы: число колонок и число строк.
Пример:
double m[]={1,2,3, 4,5,6, 2,3}; // Матрица из двух строк и трех колонок.
Методы класса:
| Метод | Назначение метода и параметров |
|---|---|
void SetSize( | Устанавливает размер матрицы aA. aRows - количество строк, aCols - количество колонок. |
void SetValue( | Устанавливает значение (Value) элемента матрицы aA, расположенного в строке aRow и колонке aCol. |
int GetSize( | Возвращает количество элементов матрицы aA. По ссылке возвращает: aRows - количество строк, aCols - количество колонок. |
int GetRows( | Возвращает количество строк матрицы aA. |
int GetCols( | Возвращает количество колонок матрицы aA. |
double GetValue( | Получает значение элемента матрицы aA, расположенного в строке aRow и колонке aCol. |
void Copy( | Копирует матрицу из массива aFrom в масив aTo. |
bool CheckForAdd( | Поверка подходимости двух матриц по размерам для сложения (полная эквивалентность по высоте и ширине). |
bool CheckForMult( | Поверка подходимости двух матриц по размерам для умножения (к-во столбцов матрицы aA равно ко-ву строк матрицы aB). |
bool CheckIsSq( | Поверяет, является ли матрица квадратной. |
void AddNum( | Прибавляет число aNum к матрице aA. Результат (матрица) возвращается по ссылке в маcсиве aR. |
void MultNum( | Умножает матрицу aA на число aNum. Результат (матрица) возвращается по ссылке в маcсиве aR. |
void AddMx( | Складывает матрицы aA и aB. Результат (матрица) возвращается по ссылке в маcсиве aAB. |
void MultMx( | Умножает матрицу aA на матрицу aB. Результат (матрица) возвращается по ссылке в маcсиве aAB. |
void Transpose( | Транспонирует матрицу aA. Транспонированная матрица возвращается по ссылке в маcсиве aT. |
void AlgAdd( | Получает матрицу алгебраического дополнения. aA - исходная матрица, aAA - алгебраическое дополнение (возвращается по ссылке). |
bool Invert( | Возвращает обратную матрицу aR от матрицы aA по ссылке. Сам метод возвращает true при существовании обратной матрицы или false, если обратной матрицы не существует. |
void Triangle( | Возвращает треугольную матрицу aT от матрицы aA по ссылке. |
void Minor( | Получает минор от матрицы aA по строке aRow и колонке aCol. Минор возвращается по ссылке в массиве aM. |
double MinorDef( | Возвращает значение определителя минора матрицы aA по строке aRow и колонке aCol. |
void MinorDefMx( | Получает матрицу миноров (матрица со значениями определителей миноров). aA - исходная матрица, aM - матрица с определителями миноров (возвращается по ссылке). |
double Def( | Возвращает значение определителя матрицы aA. |
int Rank( | Возвращает ранг матрицы aA. |
int RankDRC( | Возвращает ранг матрицы aA и по ссылкам возвращает:
|
void CopyCol( | Копирует колонку с индексом aFromCol из матрицы aFom в матрицу aTo в колонку с индексом aToCol. Результат возвращается по ссылке в массив aR. |
void CopyRow( | Копирует строку с индексом aFromRow из матрицы aFrom в матрицу aTo в строку с индексом aToRow. Результат возвращается по ссылке в массив aR. |
void AppendCol( | Расширяет матрицу aA путем добавления к ней колонки aC. Результат возвращается по ссылке в маcсиве aF. |
void AppendRow( | Расширяет матрицу aA путем добавления к ней строки aR. Результат возвращается по ссылке в маcсиве aF. |
bool SystemKramer( | Решает систему уравнений методом Крамера.
|
bool SystemInverse( | Решает систему уравнений через обратную матрицу.
|
bool SystemGauss( | Решает систему уравнений методом Гаусса.
|
int SystemCheck( | Проверяет систему уравнений.
Возвращаемое значение:
|
void Alert( | Отображает всю матрицу в одном алерте.
|
void Alert2( | Отображает матрицу в алерт построчно, сроки выводятся снизу вверх, затем, заголовок, т.е. в окне алерта матрица нормально ориентирована: заголовок сверху, затем строки по порядку. |
void Alert1Str( | Отображает массив матрицы строкой в алерт. |
Скрипт sMatrix.mq4 - это пример использования библиотеки для решения системы линейный уравнений методом Крамера, обратной матрицы и Гаусса.
Widescreenshooter
Скрипт для создания длинных снимков экрана.
Choppy Market Index
Индикатор неустойчивости рынка.
GMACD
MACD с двумя линиями. По умолчанию стоит во многих торговых платформах. В MetaTrader 5 такой индикатор отсутствует.
ResultRetcodeDescription
Функция расшифровки кода результата торговой операции для функций OrderSend() и OrderCheck().