Новая версия платформы MetaTrader 5 build 3091: Улучшения в работе - страница 14
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Из описания это не следует, иначе можно требовать NULL и для Str2 (а потом заявить почему Str2 не "")
Сотню раз находили ошибки в документации, какой смысл занудствовать?
Кроме того, функции
изначально (по умолчанию) не симметричные
Для NULL должен быть симметричный. {}-массив - NULL-строка. {0}-массив - пустая строка.
Спорить на данную тему - это страдать ерундой. Высказался и пошел другим заниматься.
ты прочитал, что однажды разработчики сказали, что нужно проверять?
Прочитал.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Почему input string не имеют значение NULL?
Slava, 2016.12.13 15:36
Нормальной практикой проверки строки является сначала проверка на NULL (str==NULL), а потом, если не NULL, на пустую строку (str[0]==0)
Видимо поэтому в документации не написано про это undocumented
Какое отношение эта фраза имеет к поднятой теме?
Сотню раз находили ошибки в документации, какой смысл занудствовать?
Для NULL должен быть симметричный. {}-массив - NULL-строка. {0}-массив - пустая строка.
Спорить на данную тему - это страдать ерундой. Высказался и пошел другим заниматься.
Еще аргумент есть:
Результат: 4009 - Неинициализированная строка
Еще аргумент есть:
тогда и так должна инициализироваться строка:
тогда и так должна инициализироваться строка:
У Вас нет проверки на ошибку GetLastError() после StringToCharArray(NULL,), а она (ошибка) есть в любом случае. Соответственно StringToCharArray не предполагает NULL в качестве аргумента, а значит (симметрично) CharArrayToString не предполагает NULL в качестве результата
Более того:Результат: 4006 - Массив неподходящего типа, неподходящего размера или испорченный объект динамического массива
Соответственно вывод
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 3091: Улучшения в работе
fxsaber, 2021.11.05 19:21
Str1 должен быть равен NULL.
изначально ошибочный
Соответственно вывод
изначально ошибочный
Т.е. в данном конкретном случае он (результат) может (но не обязан) быть равен NULL, но не потому что это валидный результат работы функции CharArrayToString, а лишь только потому что (по общему правилу) в случае ошибки результат неопределен
Работа оптимизации на шести локальных агентах.
Каждый Агент потребляет более 1 Гб памяти. При этом тиков в символе менее двух миллионов - 120 Мб.
Такой перерасход памяти локальными агентами, возможно, случается, когда идет автоматический обрыв (через определенное количество проходов) оптимизации на одном символе и запускается такая же оптимизация на другом символе. Как будто, Агенты хранят в памяти тиковую историю предыдущих символов. Иначе сложно объяснить, куда расходуется память Агентами.
Возможно ли изменить политику работы с памятью Агентов?
ЗЫ Советник работает только с одним символом, режим по пипсам на реальных тиках. Т.е. никакие другие символы ни в каком виде не используются.