Новая версия платформы MetaTrader 5 build 3180: Векторы и матрицы в MQL5 и повышение удобства работы - страница 21
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да. Такое поведение было изначально, так как мы не предполагали динамическое изменение количества индикаторных буферов.
Похоже, Вам надо самостоятельно вызвать обновление графика при помощи ChartSetSymbolPeriod(0,_Symbol,_Period)
Спасибо за ответ Слава.
Оказывается, это НЕ ошибка, а другое поведение по сравнению с МТ4.
Буфер ДОЛЖЕН быть объявлен как INDICATOR_DATA, в моем коде он был ошибочно объявлен как INDICATOR_CALCULATIONS.
Решено.
Подскажите пожалуйста, верна ли следующая запись для Mql?
В C++ коде используется библиотека <armadillo>, и данное выражение для матриц описано как
Аналогична ли запись на Mql ?
Или в С++ всё таки это поэлементное произведение?
И необходимо записывать так?
Просто под рукой сейчас нет среды разработки C++ ,
чтоб проверить как выполняются матричные операции в С++ при такой записи.
Поэлементно или по правилу матричного произведения.
Подскажите пожалуйста, верна ли следующая запись для Mql?
В C++ коде используется библиотека <armadillo>, и данное выражение для матриц описано как
Аналогична ли запись на Mql ?
Или в С++ всё таки это поэлементное произведение?
И необходимо записывать так?
Просто под рукой сейчас нет среды разработки C++ ,
чтоб проверить как выполняются матричные операции в С++ при такой записи.
Поэлементно или по правилу матричного произведения.
Есть же документация или вопрос про другое?
Есть же документация или вопрос про другое?
Спасибо. Как то не подумал, что оператор * будет описан в доках.
Но и описание там скудное, матричное умножение двух объектов, всё.
А как они выполнятся поэлементно или по правилу, мне не понятно.
Наверно надо будет ставить библу, и проверять для уверенности.
Спасибо. Как то не подумал, что оператор * будет описан в доках.
Но и описание там скудное, матричное умножение двух объектов, всё.
А как они выполнятся поэлементно или по правилу, мне не понятно.
Наверно надо будет ставить библу, и проверять для уверенности.
Поэлементно это % (element-wise)
Спасибо, да точно, там же написано )) Только на * посмотрел.
Значит в armadillo оператор * выполняет произведение по правилу.
А в Mql оператор * выполняет по элементно.
Поэтому подходит MatMul. Спасибо ещё раз, за линк на доки.
Спасибо, да точно, там же написано )) Только на * посмотрел.
Значит в armadillo оператор * выполняет произведение по правилу.
А в Mql оператор * выполняет по элементно.
Поэтому подходит MatMul. Спасибо ещё раз, за линк на доки.
Все таки странный выбор синтаксиса в библиотеках / поэлементное, а * матричное, запутаться
После обновления советник перестал работать в тестере стратегий в обычном режиме - работает только при визуализации.
Код не менял - в чем причина?
А причина в том, что я не получаю информацию с индикатора, даже воткнул в код "#property tester_everytick_calculate", хотя и без этого раньше работало.
Индикатор работает на данных других индикаторов с разных ТФ, раньше была проблема - из за расчета с нижнего бара на верний надо было пропустить пару тиков - четырех хватало при OHLC, сейчас же вообще не считает даже в режиме реальных тиков.
Если требуется предоставить индикатор - готов дать его в личку.Спасибо. Как то не подумал, что оператор * будет описан в доках.
Но и описание там скудное, матричное умножение двух объектов, всё.
А как они выполнятся поэлементно или по правилу, мне не понятно.
Наверно надо будет ставить библу, и проверять для уверенности.
Нет. Документацию не успели поправить.
* - поэлементное перемножение двух матриц (и двух векторов) согласованных размеров
Матричное произведение - это matrix.MatMul(matrix)