В MetaTrader 5 build 4755 мы исправили ошибку в расчете тройного свопа в тестере стратегий, происходившую при некоторых сочетаниях условий тестирования. Также мы внесли ряд более мелких улучшений и исправлений, чтобы сделать работу платформы еще более стабильной.
matrix<complex<T>> matrix<complex<T>>::TransposeConjugate(void) const;Метод возвращает новую сопряженно-транспонированную матрицу, в которой элементы исходной матрицы транспонированы и приведены к их комплексно сопряженным значениям.
int matrix<T>::CompareEqual(const matrix<T>& mat) constВозвращаемые значения:
pip install --upgrade MetaTrader5
Функция | Действие |
---|---|
Singular Value Decomposition, алгоритм divide and conquer. Считается наиболее быстрым среди других алгоритмов SVD (lapack-функция GESDD). | |
Singular Value Decomposition, QR-алгоритм. Считается классическим алгоритмом SVD (lapack-функция GESVD). | |
Singular Value Decomposition, алгоритм QR with pivoting (lapack-функция GESVDQ). | |
Singular Value Decomposition, алгоритм bisection (lapack-функция GESVDX). | |
Singular Value Decomposition, алгоритм Jacobi high level (lapack-функция GEJSV). | |
Singular Value Decomposition, алгоритм Jacobi low level (lapack-функция GESVJ). В некоторых случаях вычисляет малые сингулярные значения и их сингулярные векторы гораздо более точно, чем другие подпрограммы SVD. | |
Singular Value Decomposition, алгоритм divide and conquer для бидиагональной матрицы (lapack-функция BDSDC). | |
Singular Value Decomposition, алгоритм bisection для бидиагональных матриц (lapack-функция BDSVDX). | |
Вычисление собственных значений и собственных векторов обычной квадратной матрицы классическим алгоритмом (lapack-функция GEEV). | |
Вычисление собственных значений и собственных векторов симметричной или эрмитовой (комплексно-сопряжённой) матрицы при помощи алгоритма divide and conquer (lapack-функции SYEVD, HEEVD). | |
Функция-метод расчета относительных вкладов спектральных компонент по собственным значениям. | |
Функция-метод расчета реконструированных и прогнозируемых данных с использованием спектральных компонент входного временного ряда. | |
Функция-метод расчета реконструированных компонент входного временного ряда и их вклады. | |
Функция-метод расчета реконструированного временного ряда с использованием первых component_count компонент. |
Мы выпустили новый MetaTrader 5 build 4410, который содержит несколько важных улучшений. Облачный тестер стратегий избавился от ошибки, из-за которой у некоторых пользователей могла завершаться работа терминала после начала тестирования. Веб-терминал стал работать еще стабильнее — мы исправили проверку совместимости браузеров и процедуры открытия демо-счетов.
Terminal
Исправлено падение терминала, происходившее в некоторых случаях при запуске тестирования.
MQL5
Web Terminal
Исправлена проверка совместимости браузера с веб-терминалом. В некоторых случаях пользователи могли получать ошибочное сообщение, что их браузер не поддерживается.
Обновление будет доступно через систему Live Update.
MetaTrader 5 для Android
Обновите ваши мобильные приложения на билд 4360 через Google Play, Huawei AppGallery или скачайте файл APK.
Terminal
MetaTester
Web Terminal
MetaEditor
Terminal
MQL5
MetaTrader 5 Web Terminal
vector<double/complex> operator[](const int i) const; vector<double/complex> operator[](const ulong i) const;Теперь вместо них используется один метод с константным возвращаемым значением:
const vector<double/complex> operator[](const ulong i) const;Внесенная правка позволит отловить некорректное использование результата по месту: в новой версии Alglib код mat[row][col]=x работает не так, как в старой. Ранее это была запись в матрицу, а теперь — запись во временный объект vector<double/complex>, который после записи сразу же уничтожается.
bool ArrayToFP16(ushort &dst_array[],const float &src_array[],ENUM_FLOAT16_FORMAT fmt); bool ArrayToFP16(ushort &dst_array[],const double &src_array[],ENUM_FLOAT16_FORMAT fmt); bool ArrayToFP8(uchar &dst_array[],const float &src_array[],ENUM_FLOAT8_FORMAT fmt); bool ArrayToFP8(uchar &dst_array[],const double &src_array[],ENUM_FLOAT8_FORMAT fmt); bool ArrayFromFP16(float &dst_array[],const ushort &src_array[],ENUM_FLOAT16_FORMAT fmt); bool ArrayFromFP16(double &dst_array[],const ushort &src_array[],ENUM_FLOAT16_FORMAT fmt); bool ArrayFromFP8(float &dst_array[],const uchar &src_array[],ENUM_FLOAT8_FORMAT fmt); bool ArrayFromFP8(double &dst_array[],const uchar &src_array[],ENUM_FLOAT8_FORMAT fmt);Поскольку форматы вещественных чисел для 16 и 8 бит могут отличаться, в параметре fmt в функциях конверсии необходимо указывать, какой именно формат числа требуется обработать. Для 16-битных версий используется новое перечисление NUM_FLOAT16_FORMAT, которое на данный момент имеет следующие значения:
Улучшено отображение маржевых требований в спецификации контракта. Теперь помимо коэффициентов и исходных параметров для расчета отображается итоговое значение маржи. Если сумма залога зависит от объема позиции, в диалоге будут показаны соответствующие уровни.
Мы выпустили книгу «Нейросети в алготрейдинге на MQL5». Это учебное пособие по использованию искусственного интеллекта при создании торговых роботов в платформе MetaTrader 5. Автор книги — Дмитрий Гизлык, профессионал в области нейросетей, написавший около сотни обучающих статей на эту тематику. Теперь при поддержке MetaQuotes все его ценные знания удобно собраны в одну книгу. Вы последовательно познакомитесь с основами нейросетей и возможностями их применения в алготрейдинге. По мере продвижения вы создадите и обучите собственный искусственный интеллект, постепенно дополняя его новыми функциями.
Книга доступна онлайн всем желающим в разделе «Учебник по нейросетям» на сайте MQL5 Algo Trading community. Она состоит из семи частей:
Книга предназначена для продвинутых пользователей, уже знакомых с написанием программ на MQL5 и Python. Если вы только начинаете свой путь в алготрейдинге, прочитайте сначала книгу «Программирование на MQL5 для трейдеров» и ознакомьтесь с документацией языка.
Terminal
MQL5
MetaEditor
Tester
Web Terminal
Мы выпустили наиболее полное учебное пособие по программированию на MQL5. Книга написана опытным алготрейдером Станиславом Коротким при поддержке MetaQuotes.
Учебник подходит программистам любого уровня. Новички познакомятся с основами: изучат инструменты разработки и базовые понятия в программировании. Создадут первую программу, скомпилируют и запустят ее в торговой платформе MetaTrader 5. Пользователи с опытом программирования на других языках могут сразу же перейти к прикладной части: возможностям MQL5 для создания торговых роботов и аналитических приложений.
Книга доступна онлайн всем желающим в разделе «Учебник» на сайте MQL5.community. Она состоит из семи частей:
Книга содержит множество примеров исходного кода. Работая с ними по учебнику в собственном редакторе, вы будете сразу же видеть результаты исполнения программы в платформе. Исходные коды доступны в публичном проекте \MQL5\Shared Projects\MQL5Book, а также в библиотеке исходных кодов.
Начните изучение MQL5 прямо сейчас и откройте для себя мир профессионального алготрейдинга. Полученные знания помогу воплотить ваши идеи в жизнь. Вы также сможете применить их в коммерческой среде — разрабатывая и продавая приложения через Маркет и выполняя заказы через Фриланс.
Мы уже давно подготовили специальные установщики для торговой платформы. Для macOS это полноценный визард, позволяющий установить приложение как нативное. Для Linux это специальный скрипт, которые скачивается и запускается одной командой.
В обоих случаях установщики выполняют все необходимые действия: определяют вашу систему, скачивают и устанавливают последнюю версию Wine для нее, настраивают его, а затем устанавливают внутри него MetaTrader. Все происходит в автоматическом режиме, вам нужно лишь дождаться окончания установки, после чего вы можете сразу же приступать к полноценной работе с платформой.
Ссылки на установщики доступны на сайте https://www.metatrader5.com, а также в меню «Справка» торговой платформы:
Для macOS: проверьте версию Wine
Недавно мы полностью обновили установочный пакет для macOS, внеся в него множество улучшений. Если вы уже используете MetaTrader в этой системе, проверьте текущую версию Wine — она выводится в журнал терминала при запуске:
Если у вас Wine версии ниже 8.0.1, мы настоятельно рекомендуем
удалить старую платформу вместе с префиксом Wine, в котором она
установлена. Саму платформу можно удалить как обычно, перенеся ее из
раздела «Приложения» в корзину. Удалить префикс Wine можно через Finder.
Выберите меню «Переход \ Переход к папке» и введите название каталога —
~/Library/Application Support/. Перейдя в него, удалите следующие
папки, в зависимости от того, какая версия MetaTrader установлена:
После удаления установите терминал заново при помощи наших инсталляторов.
Больше нет необходимости разбираться с установкой вручную или использовать сторонние решения. Установите платформу в пару кликов и приступайте к торговле:
Мы постоянно улучшаем мобильное приложение MetaTrader 5 для iOS, добавляя в него полезные торговые и аналитические функции. За последние полгода в нем появились массовые торговые операции, дополнительные таймфреймы, торговые уведомления и многое другое. Ниже расскажем подробнее обо всех нововведениях.
Установите последнюю версию приложения и расширьте свои торговые возможности:
![]() |
![]() |
За последние полгода в мобильное приложение MetaTrader 5 для Android было добавлено огромное количество новых функций: быстрая торговля с графика, дополнительные таймфреймы, визуальное представление истории сделок и многое другое. Ниже расскажем о них подробнее.
Установите последнюю версию приложения и расширьте свои торговые возможности:
![]() | ![]() |
![]() |
Google Play | Huawei App Gallery | Файл APK |
Terminal
MQL5
MetaTrader 5 Web Terminal
Terminal
MetaTrader 5 Web Terminal
Terminal
MQL5
//+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { complex a=1+1i; complex b=a.Conjugate(); Print(a, " ", b); /* (1,1) (1,-1) */ vectorc va= {0.1+0.1i, 0.2+0.2i, 0.3+0.3i}; vectorc vb=va.Conjugate(); Print(va, " ", vb); /* [(0.1,0.1),(0.2,0.2),(0.3,0.3)] [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)] */ matrixc ma(2, 3); ma.Row(va, 0); ma.Row(vb, 1); matrixc mb=ma.Conjugate(); Print(ma); Print(mb); /* [[(0.1,0.1),(0.2,0.2),(0.3,0.3)] [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]] [[(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)] [(0.1,0.1),(0.2,0.2),(0.3,0.3)]] */ ma=mb.Transpose().Conjugate(); Print(ma); /* [[(0.1,0.1),(0.1,-0.1)] [(0.2,0.2),(0.2,-0.2)] [(0.3,0.3),(0.3,-0.3)]] */ }
from sys import argv data_path=argv[0] last_index=data_path.rfind("\\")+1 data_path=data_path[0:last_index] from sklearn.datasets import load_iris iris_dataset = load_iris() from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(iris_dataset['data'], iris_dataset['target'], random_state=0) from sklearn.neighbors import KNeighborsClassifier knn = KNeighborsClassifier(n_neighbors=1) knn.fit(X_train, y_train) # Convert into ONNX format from skl2onnx import convert_sklearn from skl2onnx.common.data_types import FloatTensorType initial_type = [('float_input', FloatTensorType([None, 4]))] onx = convert_sklearn(knn, initial_types=initial_type) path = data_path+"iris.onnx" with open(path, "wb") as f: f.write(onx.SerializeToString())Откройте созданный onnx-файл в MetaEditor:
struct MyMap { long key[]; float value[]; };Здесь мы использовали динамические массивы с соответствующими типами. В данном случае можно использовать фиксированные массивы, поскольку для данной модели Map всегда содержит 3 пары ключ+значение.
//--- объявим массив для приема данных с выходного слоя output_probability MyMap output_probability[]; ... //--- выполнение модели OnnxRun(model,ONNX_DEBUG_LOGS,float_input,output_label,output_probability);
MetaEditor
MetaTrader 5 Web Terminal build 3980