Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
IncMatrix - библиотека для MetaTrader 5
- Просмотров:
- 2573
- Рейтинг:
- Опубликован:
- 2012.08.03 14:31
- Обновлен:
- 2012.08.09 13:20
- Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Класс для работы с матрицами.
Матрица задается в одномерном массиве, подряд: элементы первой строки, второй и т.д. Последние два элемента массива определяют размер матрицы: число колонок и число строк.
Пример:
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 - это пример использования библиотеки для решения системы линейный уравнений методом Крамера, обратной матрицы и Гаусса.
Скрипт для создания длинных снимков экрана.
Choppy Market IndexИндикатор неустойчивости рынка.
MACD с двумя линиями. По умолчанию стоит во многих торговых платформах. В MetaTrader 5 такой индикатор отсутствует.
ResultRetcodeDescriptionФункция расшифровки кода результата торговой операции для функций OrderSend() и OrderCheck().