Большое спасибо, lea. Очень полезная библиотека. Пока не смотрел, но напишу, если что накопаю нехорошее.
Присоединяюсь.
Замечания по стилю: не жалейте пробелов в тексте программ, коллега.
Названия функций слегка заумные.
Мне интересно было бы сравнить скорость обработки матриц … у меня машины тоже winxpsp2 …
Могу предоставить вам доступ к самой слабой машине на моем сервисе, бесплатно для теста … результаты выложите на форуме …
Если интересно обращайтесь на мыло … предварительно напишите ваш емейл мне в личку на форуме …
Интересно … у меня есть клиент, который по его словам, использует матрицы в торговле … пришел ко мне с аренды выделенного сервера …
Мне интересно было бы сравнить скорость обработки матриц … у меня машины тоже winxpsp2 …
Могу предоставить вам доступ к самой слабой машине на моем сервисе, бесплатно для теста … результаты выложите на форуме …
Если интересно обращайтесь на мыло … предварительно напишите ваш емейл мне в личку на форуме …
Смотря что. Если он просто ваяет линейную регрессию с МНК (метод наименьших квадратов), то ему достаточно перемножения матриц и решения системы линейных уравнений.
Если ваять более серьёзные вещи, там нужно вычислять детерминанты, миноры и другое - а это в десятки и сотни раз медленнее.
Так что смотря что, смотря что.
Что и как считает клиент, что у меня сидит, я естественно точно не знаю … но вижу, что он периодически умудряется подгрузить 12-ти ядерную машину на 12-14% от мощности всех процов … хорошо хоть что всего на 2-3 секунды … хотя в основном его машина сидит как и остальные около 1% …видимо у него срабатывают какие то условия и запускается расчет …
Что касается библиотеки, что представил lea, то я увидел что он выложил время расчета и мне просто стало интересно погонять именно тоже самое только на моей самой слабой машине … чтобы сравнить мощность машин а не то что он и как считает
>> AlexEro
Что и как считает клиент, что у меня сидит, я естественно точно не знаю … но вижу, что он периодически умудряется подгрузить 12-ти ядерную машину на 12-14% от мощности всех процов … хорошо хоть что всего на 2-3 секунды … хотя в основном его машина сидит как и остальные около 1% …видимо у него срабатывают какие то условия и запускается расчет …
Что касается библиотеки, что представил lea, то я увидел что он выложил время расчета и мне просто стало интересно погонять именно тоже самое только на моей самой слабой машине … чтобы сравнить мощность машин а не то что он и как считает
Для подргузки многоядерного проца матричной библиотекой - её надо компилить Intel компилятором со специальными опциями, и в самой программе это надо СЛЕГКА учитывать, например как параметрами ROLL UNROLL в библиотеке Linpack. Иначе на один поток (одну программу EXE) всегда работает ОДИН процессор - на расчёт, а второй - на обработку графики GUI (всего два).
Скорее всего у него внешняя длл для метатрейдера где он всё и считает … как он там собрал эту длл неизвестно … у меня впс и независимо от того что крутится внутри машины, вся машина всё равно обрабатывается определенным кол-вом потоков … у меня мысли про оптимизацию а не подгрузку … спасиб
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Последнее время тема работы с матрицами стала весьма актуальной. Чтобы не засорять ветку "Гипотеза на базе Фурье", по предложению из которой Urain написал свою библиотеку Matrix_solve_lib, я решил создать отдельную ветку.
У меня уже была написана подобная библиотека (на C++; широкое использование объектов мало способствует возможности создания dll), поэтому я решил её частично перенести на mql4. За два дня перевёл примерно 1.5к строк.
Реализованы операции:
Точность операций иногда контролируется :)
Я уже выкладывал (ветка "Гипотеза на базе Фурье", стр. 9) заголовочный файл своей библиотеки. Сейчас он значительно пополнился и первая тестовая версия библиотеки уже в принципе готова к использованию. В прилагаемом архиве находятся: тестовый скрипт (\experts\scripts\LibMatrixTest.mq4), заголовочный файл библиотеки (\experts\include\LibMatrix.mqh) и исходный код самой библиотеки (\experts\library\LibMatrix.mq4).
Целью библиотеки ставилась не краткость и оптимальность кода, а эффективность и точность работы алгоритмов. При необходимости вы можете самостоятельно оптимизировать код.
Были проведены тесты скорости (тестовые условия: матрица заполнялась случайными числами в диапазоне [-1;1], mt4 build 216, winxpsp2, amd6000+, 3 gb ram; точность вычислений (по умолчанию) - 0.000000001) обращения матриц при помощи метода Жордана-Гаусса.
Т.е. библиотека работает достаточно быстро.
В этой теме я предлагаю обсудить возможности предложенной библиотеки с целью дальнейшего развития и доработки.
Внимательно будут выслушаны предложения по существу: необходимые функции, возможные ошибки (оригинальный код тщательно отлажен и работает; в случае обнаружения явных вычислительных ошибок либо ошибок типа деления на ноль и нарушений диапазонов - обязательно сообщайте тестовый случай, иначе я не смогу вам помочь и исправить библиотеку).
Замечания к стилю написания кода будут выслушаны и возможно приняты во внимание. Комментарии в коде будут написаны позднее, если в них будет необходимость (оригинальный код на C++ я легко читал без комментариев спустя 4 месяца после его написания). Документация частично есть (смотрите файл LibMatrix.mqh и начало файла LibMatrix.mq4).
В ближайшем будущем я планирую написать статью (уже пишу ;-)) с примерами использования библиотеки и некоторыми замечаниями.