Особенности языка mql5, тонкости и приёмы работы - страница 167
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
не думал, что у Вас будут сложности в чтении короткого кода, тогда читайте справку https://www.mql5.com/ru/docs/trading/ordercalcmargin
Спасибо, уже разобралась )
Я только начала изучать MQL5. Наверное не в ту ветку вопрос задала
Кроссплатформенная разница ArrayCopy.
Очевидно, чтобы не было разницы, нужно писать
или
или всё по умолчанию в данном контексте
Очевидно, чтобы не было разницы, нужно писать
или
или всё по умолчанию в данном контексте
Здесь проблема.
Если функция вернет ноль, то MQL4 и MQL5 будут с разным результатом.
Здесь проблема.
Если функция вернет ноль, то MQL4 и MQL5 будут с разным результатом.
Значит в GetAmountToCopy() эту проблему и решать в случае, если функция должна вернуть ноль.
Например:
Здесь проблема.
Если функция вернет ноль, то MQL4 и MQL5 будут с разным результатом.
Тут не очень понятно что вы там рассчитываете. Вариантов возврата из GetAmountToCopy() может быть несколько.
Если 0 - ничего не копировать (именно это условие создаёт проблему как я понял), а -1 - копировать весь массив, то очевидно, нужно задать возвращаемые величины, отличные от 0 и -1 в случае, если нужно ничего не копировать. Например, возвращать EMPTY_VALUE. В этом случае нужно сделать наверное перегруженную функцию ArrayCopy(), которая сначала проверит что передано в неё из GetAmountToCopy(). Если EMPTY_VALUE, то выходить из функции. В остальном, при использовании константы WHOLE_ARRAY, будет правильно выбран размер копируемых данных и в MQL5, и в MQL4.
Тут не очень понятно что вы там рассчитываете.
Мне не совсем понятно, для чего Вы пишите о возможных реализациях обхода различия MQL4/5. Я только отметил эти отличия для тех, кто пишет кроссплатформенный код.
Отличий уже на статью накопилось... Написал бы кто-нибудь.
Мне не совсем понятно, для чего Вы пишите о возможных реализациях обхода различия MQL4/5. Я только отметил эти отличия для тех, кто пишет кроссплатформенный код.
Отличий уже на статью накопилось... Написал бы кто-нибудь.
Мне показалось, что это был вопрос. Добро. Могу удалить свои сообщения.
Раньше только подозревал, теперь подтвердилось. При работе с ресурсами легко получить утечку памяти.
Пример.
Скрипт через СБ выводит график числового массива на чарт. Вы можете потом руками удалить этот график (объект), но ресурс, закрепленный за этим графиком, останется висеть навсегда в памяти в режиме read-only. Его нельзя будет удалить, т.к. удалять его может (см. выделенную строку) только скрипт-хозяин.
В MQL отсутствует функционал для высвобождения так занятой памяти. Будьте с этим особенно аккуратны на VPS.
Раньше только подозревал, теперь подтвердилось. При работе с ресурсами легко получить утечку памяти.
Пример.
Скрипт через СБ выводит график числового массива на чарт. Вы можете потом руками удалить этот график (объект), но ресурс, закрепленный за этим графиком останется висеть навсегда в памяти в режиме read-only. Его нельзя будет удалить, т.к. удалять его может (см. выделенную строку) только скрипт-хозяин.
В MQL отсутствует функционал для высвобождения так занятой памяти. Будьте особенно аккуратны на VPS.
Когда Вы получаете сообщение об утечке памяти, это означает, что не было явной команды освобождения этой памяти.
Когда программа завершает работу (а именно на завершении работы Вы получаете такие сообщения), то она в любом случае освобождает всю память, в том числе утёкшую.