Alexey Volchanskiy:
А так все просто, я набросал впопыхах простенькую DLL с двумя функциями:
% файл SumDouble.m
И как ее вызвать из MQL5:
Так что жду отзывов. Можно ругаться, мне давно все фиолетово )). Но лично для себя я вижу:
1. Обкатка идей на Матлабе ускорит проверку идей.
1. Публикации на форуме помогут бороться с ленью.
Добрый день, Алексей!
Когда-то много писал на МатЛаб. Где-то на винчестере сохранилась старая версия 15-20 лет давности. Пойдет?
Добрый день, Алексей!
Когда-то много писал на МатЛаб. Где-то на винчестере сохранилась старая версия 15-20 лет давности. Пойдет?
Приветствую! Последние 5-6 лет Матлаб выпускается только в 64-разрядном варианте, до этого дистрибутив включал 32 и 64-разрядные версии. А 15-20 лет назад он точно был только 32-разрядный. Я бы не поленился и скачал, сам знаешь откуда, последний дистрибутив Matlab R2023b. Для тех, кто живет на западе, можно скачать 30-дневный триал .
Кстати, я пока не знаю, как прикрутить 64-разрядную DLL к МТ4. Идеи есть, через 32-битный переходничок, но надо пробовать. Если не выйдет, есть в запасе еще 3-4 варианта.
- nl.mathworks.com
Приветствую! Последние 5-6 лет Матлаб выпускается только в 64-разрядном варианте, до этого дистрибутив включал 32 и 64-разрядные версии. А 15-20 лет назад он точно был только 32-разрядный. Я бы не поленился и скачал, сам знаешь откуда, последний дистрибутив Matlab R2023b. Для тех, кто живет на западе, можно скачать 30-дневный триал .
Кстати, я пока не знаю, как прикрутить 64-разрядную DLL к МТ4. Идеи есть, через 32-битный переходничок, но надо пробовать. Если не выйдет, есть в запасе еще 3-4 варианта.
можно на scilab (https://www.scilab.org/) портировать, они близки с MatLab
и его уже невозбранно дёргать. У него довольно простой, разумный DLL API
можно на scilab (https://www.scilab.org/) портировать, они близки с MatLab
и его уже невозбранно дёргать. У него довольно простой, разумный DLL API
У меня стоит древняя версия 6.02 аж с 2019 г., так я на нее и не перешел, слабовата, как и все опенсорсное. Как и пресловутый R, тоже давно пытался освоить. Но спасибо за напоминание, сейчас поставлю версию Scilab 2024.0.0, поковыряюсь в свободное время.
У меня простая и конкретная задача, н вижу смысла уходить с хорошо известной мне платформы. Что касается «невозбранно дёргать», то у нас и до санкций с этим было спокойно. А Д.Медведев еще год-два назад высказался, что раз нам закрыли доступ к западному ПО, то он одобряет пиратство. Эти слова легко найти в инете. По любому, не вижу смысла ради постов на любом форуме менять привычную платформу.
И так проблем хватает. Мне хочется прикрутить Матлаб робота и к МТ4, так как есть реальные счета для тестирования. Но МТ4 32-разрядный, значит надо изучать Thunking SDK от Microsoft или его аналоги. Посмотрим... пока делаю для МТ5. Надеюсь на неделе что-то выложить.
Дела по EA на Matlab медленно, но двигаются. Я планировал выложить хоть какие-то результаты на этой неделе, так как ветку открыл во вторник, 2024.02.06, а сегодня вечер субботы. Надеюсь успеть.
А пока, может кому-то будет интересно про векторные и матричные операции. Тем более, на форуме есть интересная ветка про векторные и матричные операции в mql5: Сравнение скорости Resize матриц и динамических массивов структур с динамическим массивом
Как всегда, спрашиваем ChatGPT? меня интересовало, использует ли Матлаб расширенные инструкции CPU. Он может использовать и GPU, но только с CUDA, а у меня такой карты нет.
--------------
Я:
Расскажи мне про векторизацию операций в matlab. Используют ли при этом matlab расширенные инструкции avx, avx2 и другие?
ChatGPT:
Векторизация в MATLAB относится к практике использования векторных и матричных операций вместо циклов **for**, **while** или других циклических конструкций. Это один из ключевых способов улучшения производительности кода в MATLAB, так как MATLAB оптимизирован для работы с массивами и матрицами.
Пример векторизации:
```matlab
% Невекторизованный код
n = 10000;
a = zeros(1, n);
for i = 1:n
a(i) = i^2;
end
% Векторизованный код
a = (1:n).^2;
```
Векторизованный код обычно выполняется быстрее за счет того, что операции над массивами MATLAB оптимизированы для проведения одной операции над множеством элементов одновременно.
Что касается использования расширенных инструкций, таких как AVX, AVX2 и других наборов SIMD (Single Instruction, Multiple Data) инструкций, MATLAB, как правило, оптимизируется при компиляции для использования наилучших доступных инструкций, поддерживаемых на целевой платформе. MATLAB использует библиотеку Intel Math Kernel Library (MKL), которая включает оптимизированные математические функции для процессоров с поддержкой инструкций AVX, AVX2 и других.
При этом, когда вы пишете код в MATLAB, вы в основном не должны беспокоиться о том, используются ли эти расширения напрямую — MATLAB и его функции обычно берут на себя задачу оптимизации на низком уровне. Однако MATLAB позволяет настраивать некоторые аспекты внутренней обработки через функции, такие как `feature` или `maxNumCompThreads`, которые позволяют пользователю влиять на использование многопоточности и, возможно, некоторые аспекты использования SIMD инструкций.
Для получения наибольшей отдачи от этих инструкций, важно, чтобы ваша версия MATLAB была актуальной и ваш код правильно векторизован, чтобы в полной мере использовать встроенные возможности оптимизации производительности MATLAB.

- 2024.02.08
- www.mql5.com
Что мешает освоить R? Та же вектортзация, опенсорс, развиваеться как дурной, прекрасное комюнити, все есть, все из коробки, за частую задача решаеться в три строчки кода уже с визуализацией)
Я в курсе R. Вопрос один — а зачем? На матлабе я бацаю больше 20 лет. Хотя пишу немного, в основном прототипы стратегий, но более-менее язык и пакеты по DSP изучил, сейчас за ИИ берусь. Зачем изучать еще и R?
Вопрос в вам по R: я недавно поискал посты по нему, в 2019 г. Метаквоты писали, что скоро выпустят API для коннекта с R. В папке include ничего по теме не нашел. Да и ветка по R тут совсем заглохла. Даже Сан Саныч, котрый яро за него агитировал, опустил руки.
Какая сейчас ситуация с API для MQL5, вы в курсе?
Я в курсе R. Вопрос один — а зачем? На матлабе я бацаю больше 20 лет. Хотя пишу немного, в основном прототипы стратегий, но более-менее язык и пакеты по DSP изучил, сейчас за ИИ берусь. Зачем изучать еще и R?
Вопрос в вам по R: я недавно поискал посты по нему, в 2019 г. Метаквоты писали, что скоро выпустят API для коннекта с R. В папке include ничего по теме не нашел. Да и ветка по R тут совсем заглохла. Даже Сан Саныч, котрый яро за него агитировал, опустил руки.
Какая сейчас ситуация с API для MQL5, вы в курсе?
Я в курсе R. Вопрос один — а зачем? На матлабе я бацаю больше 20 лет. Хотя пишу немного, в основном прототипы стратегий, но более-менее язык и пакеты по DSP изучил, сейчас за ИИ берусь. Зачем изучать еще и R?
Вопрос в вам по R: я недавно поискал посты по нему, в 2019 г. Метаквоты писали, что скоро выпустят API для коннекта с R. В папке include ничего по теме не нашел. Да и ветка по R тут совсем заглохла. Даже Сан Саныч, котрый яро за него агитировал, опустил руки.
Какая сейчас ситуация с API для MQL5, вы в курсе?
https://www.mql5.com/ru/code/17468
Мной опубликован: 2017.02.03 12:20А это для МТ4
https://www.mql5.com/ru/code/10684
Мной опубликован: 2012.04.09 07:36Выложено мною, причем не я автор, а другой человек, который сделал это API за несколько лет до 2012 года.
Это не единственная связка МТ4 с R
Никаких проблем с R нет при использовании из терминалов МТ4/5 , есть проблемы с желанием.

https://www.mql5.com/ru/code/17468
Мной опубликован: 2017.02.03 12:20А это для МТ4
https://www.mql5.com/ru/code/10684
Мной опубликован: 2012.04.09 07:36Выложено мною, причем не я автор, а другой человек, который сделал это API за несколько лет до 2012 года.
Это не единственная связка МТ4 с R
Никаких проблем с R нет при использовании из терминалов МТ4/5 , есть проблемы с желанием.
на 4рку ссылка живая, а на 5рку - битая
dll-ка с закрытым кодом,
это не интересно, т.к. не известно что она там делает помимо заявленных функций

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем приветов с тавы светов!
На эти выхи, мирно попивая красное полусладкое, я осознал, что до начала лета осталось менее 4-х месяцев. Внезапно так. И что для проверки всех своих идей-нетленок надо ускоряться. А так, как я ленив, надо забацать тестового робота на любимом Матлабчике в формате DLL. То есть сделать такой джентльменский наборчик:
1. Простейший мультиплатформенный советник для МТ4/5, к которому подключается Matlab-dll, в которой будут все расчеты. Можно даже попробовать прикрутить Simulink для беспартийных, но сочувствующих. Это я про визуальное программирование и не умеющих писать зловредный код.
2. Matlab-dll с расчетами. Почему Матлаб? Да потому, что там куча готовых мат. фунций, для использования которых достаточно почитать хелп и написать 1-2 строки. А на MQL это займет не менее дня.
Главное, что такой гибрид сможет реально торговать. Вот насчет работы в тестере и, тем более, оптимизации не уверен. Но это ведь система для чисто грубой оценки идей, так что с пивком потянет ).
Собственно, я сегодня выпроводил воскресную помеху творчеству и кое-что потестировал. Как всегда, в Матлабе куча ограничений, но жить можно.
Вопрос такой: будет ли вам интересно, если я буду тут кратко описывать свои эксперименты на Матлабе? Могу выкладывать матлабовский код или готовые варианты DLL. Но надо понимать, что матлабовские DLL не работают в гордом одиночестве, как, например, MS C++ DLL, им нужен Matlab Runtime. Раньше он занимал в дистрибутиве пол-гига и раздавался Matworks бесплатно. Однако, за время пути собачка могла подрасти ). Я про размер, фришность должна остаться.
----------------
А так все просто, я набросал впопыхах простенькую DLL с двумя функциями:
% файл SumDouble.m
И как ее вызвать из MQL5:
Так что жду отзывов. Можно ругаться, мне давно все фиолетово )). Но лично для себя я вижу:
1. Обкатка идей на Матлабе ускорит проверку идей.
1. Публикации на форуме помогут бороться с ленью.