Новая версия платформы MetaTrader 5 build 5260: улучшения в Algo Forge, расширение OpenBLAS и новые правила наследования в MQL5
Прошу исправить поведение ChartPeriod()
-
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Vitaly Muzichenko, 2025.09.04 15:34
Есть индикатор, создаю по нему MTF обращаясь через iCustom()

==
Как узнать в индикаторе, когда к нему идёт обращение с MTF, что он установлен на таймфрейме M1
Вроде раньше работала функция ChartPeriod()
но сейчас возвращает также таймфрейм, который запрашивает MTF
==
==
Проверил, в МТ4 работает без проблем,
насколько помню, это также работало и в МТ5, но сейчас не работает
МТ4 ![]()
Print(ChartPeriod(),"=",Period());МТ5
-
Тоже самое касается ChartSymbol()
Print(ChartSymbol(),"=",Symbol());
Индикатор вызывался с графика NZDJPY ![]()
МТ4 ![]()
МТ5 ![]()
Форум по трейдингу, автоматизированным торговым системам и тестированию торговых стратегий
Фернандо Каррейру , 2025.09.04 16:46
«Форкинг» и «клонирование» — это два совершенно разных понятия. Описанная процедура — это «форкинг», а не «клонирование».
«Форк» больше не имеет доступа к обновлениям из исходного репозитория, тогда как «клон» продолжает иметь доступ ко всем текущим изменениям и обновлениям.
Пожалуйста, предоставьте механизм для обоих случаев и не путайте их.
Forum on trading, automated trading systems and testing trading strategies
Fernando Carreiro, 2025.09.04 16:46
"Forking" and "Cloning" are two completely different concepts. The described procedure is "Forking" and not "Cloning".
A "fork" no longer has access to updates from the original repository, while a "clone" continues to have access to any current changes and updates.
Please provide a mechanism for both and please don't mix the two up.
Сортировка векторов и матриц по прежнему не работает.
void OnStart() { vector v = {0, 1}; matrix m = {{0, 1}, {2, 3}}; v.Sort(); m.Sort(0); } //'Sort' is not a member of 'vector' type //'Sort' is not a member of 'matrix' type
- Окно котировок (F10) - не сохраняет размер окна и место установки;
пожалуйста!!! - добавьте в свойства (F10) размер столбцов и цвет для спреда;
- Отчеты (Alt+E) - не сохраняет размер окна и место установки;
- Обзор рынка (Ctrl+M) - не сохраняет размер столбцов (галочка "Авторазмер" снята);
- закладка "Вид -> Стакан цен -> глюк ??? ";
- пожалуйста!!! - сделайте панель "Стандартная" раздельной - на: "Стандартная" и "Графики" как в MT4,
"Стандартная" - для управления счетом, "Графики" - для управления графиками. Интерфейс платформы будет гибче и удобней в управлении!!!
...и кстати - для комментариев нет значка "Добавить картинку" (Alt+I)
У вас рейтинг ноль -

Когда будет больше - сможете добавлять.
А пока - добавляйте картинку как аттачмент (также, как вы в этом посте добавили #4).
- 2025.09.04
- www.mql5.com
b5260, просьба сделать ревизию Include\Trade\*.mqh. В частности, добавить это.
double CDealInfo::TakeProfit( void ) const { return(::HistoryDealGetDouble(this.m_ticket, DEAL_TP)); } double CDealInfo::StopLoss( void ) const { return(::HistoryDealGetDouble(this.m_ticket, DEAL_SL)); }
Четыре года уже этим свойствам, никак не отражены в СБ.
Строка для поиска: Uluchshenie 135.
- 2021.09.24
- www.mql5.com
struct A { int Tmp; void operator =( int ) {} void operator []( int ) {} }; struct B : public A { using A::operator=; using A::operator[]; void operator =( string ) {} void operator []( string ) {} }; void OnStart() { B b; b = 0; // OK b[0]; // function must have a body }Строка для поиска: Oshibka 146.
Полагаю, что operator[] должен возвращать какое-либо значение, т.е. не быть void.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования


В пятницу 5 сентября 2025 года будет выпущена обновленная версия платформы MetaTrader 5.
В этой версии мы продолжили расширение библиотеки линейной алгебры OpenBLAS в MQL5, добавив новый раздел функций. Благодаря этим инструментам разработчики получают полный цикл преобразований ― от предварительной подготовки матрицы до точного и устойчивого вычисления ее спектра.
Помимо этого, в MQL5 усилен контроль за наследованием и перегрузкой методов в классах и структурах. Новое поведение наследования и ограничения в компиляторе позволят избежать потенциальных ошибок в работе приложений.
Также мы улучшили работу с файлами в проектах Algo Forge — ускорили расчеты хешей и исправили ложные показы измений в файлах.
На самом портале алготрейдинга мы опубликовали справку по работе с MQL5 Algo Forge. В ней доступной форме показаны все возможности и преимущества Git-системы для алготрейдеров: поиск и мониторинг проектов, подписки на интересные публикации, групповая работа и клонирование репозиториев.
MetaTrader 5 Client Terminal
Благодаря этим инструментам разработчики получают полный цикл преобразований ― от предварительной подготовки матрицы до точного и устойчивого вычисления ее спектра.
Под капотом используются проверенные алгоритмы LAPACK (GEBAL, GEBAK, GEHRD, ORGHR, HSEQR), гарантирующие высокую производительность и надежность:
Ранее, если в производном классе или структуре определялся метод с тем же именем, что и в базовом классе, происходила перегрузка: все варианты методов (и предка, и потомка) были доступны в наследнике. Теперь, методы с одинаковым именем в потомке скрывают методы предка (method hiding).
Если необходимо вызвать скрытый метод предка, следует явно указать область видимости при вызове: Некоторое время компилятор MQL5 будет выдавать предупреждение, если скрытый метод предка лучше подходит по параметрам вызова, чем доступный метод потомка. Пример для приведенного выше кода d.Print(10):
see declaration of function 'Derived::Print'
see declaration of function 'Base::Print'
implicit conversion from 'number' to 'string'
Чтобы управлять новым поведением, в MQL5 появился оператор using. Он позволяет «подтянуть» в область видимости класса или структуры все перегрузки метода из базового типа:
Если убрать using Base::Print;, то вызовы d.Print(42) и d.Print(3.14) будут недоступны — останется только метод Derived::Print(string)
Дополнительно в приведенном примере можно увидеть, что методы protected предка, стали доступны в потомке (protected сменился на public)
Таким образом, разработчики получают более гибкий и предсказуемый контроль над иерархиями классов и могут точно определять, какие перегрузки методов предка должны оставаться доступными в наследнике.
Клонирование чужого проекта
На forge.mql5.io зайди в проект, который ты хочешь клонировать, и выполни команду Fork. Заполни имя создаваемого форка и описание и сохрани изменения:
Затем перейди в MetaEditor с тем же MQL-аккаунтом и выполни команду обновить (Refresh) в Навигаторе. В папке Shared projects появится твой клонированный проект. Теперь загрузи его с портала Algo Forge командой Git Clone. Ты скачаешь не только все файлы проекта, но и всю историю коммитов и все ветки этого проекта. То есть ты сможешь продолжить работу над форком, имея всю историю клонированного проекта.
Web Terminal
Обновление будет доступно через систему Live Update.