Выпущена бета-версия MetaTrader 4 Build 582 с обновленным языком MQL4 и Маркетом приложений - страница 9
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ничего не понял. Если это какой-то ботанический стёб, то представим, что я оценил.
Я хочу попробовать изучить мкл4, но мне надо знать за какой учебник браться, что бы потом не получилось, что учил то, что уже нафиг не надо и некуда вставить.
Если Вы хотите попробовать, тогда не стоит искать учебник, не поможет ... А если хотите изучить, то быстрее качайте тот учебник который тут есть в нем все просто и доступно и к счастью для Вас все что описано в учебнике работает и будет работать ....
Сегодня после перезагрузки терминала (574) пропали данные о открытых счетах и в проводнике терминала пропали все загруженные советники и индикаторы.
Счета восстановил повторным вводом данных, а советники стали доступны после перенесения их в папку D:\Терминалы\Alpari\MQL4\Experts.
Вопрос: теперь храним экспертов в этой папке? Как в 509-м билде?
Или это временно?
MQ у вас полный бардак со строками (sting), который тянется со старого MT4:
Такой код
FileWriteInteger в if'е не меняет результат FileSize, даже после FileFlush. Следующая операция правильно увеличивает размер файла.
Кстати, а насколько вообще нормально, что FileSize без FileFlush игнорирует дописывание файла? Казалось бы, хэндл всё-таки относится не к файлу на диске, а к объекту в памяти.
MQ у вас полный бардак со строками (sting), который тянется со старого MT4:
Скажите, где по-вашему полный бардак? Конкретно
Я здесь вижу только одну возможную ошибку
Несмотря на явное указание размерности 3, массив после инициализации содержит всего 1 элемент (тут мы будем разбираться, почему такое поведение)
Скажите, C++ для вас эталон? Если да, то процитирую C++ стандарт:
Скажите, C++ для вас эталон? Если да, то процитирую C++ стандарт:
C++ для меня не является эталоном.
Тут есть один нюанс. В MQL4 тип данных string является базовым и не имеет аналога в C/C++.
Тем не менее по аналогии с C/C++ переменная типа string инициализируется нулями. Но эти нули не означают строку нулевой длины ("") и никогда не означали. Это означает совершенно определённую non-initialized string (в терминах MQL II, MQL4 и MQL5).
Между прочим, в MQL5 и новом MQL4 можно явно проинициализировать переменную типа string значением non-initialized string (в старом MQL4 это делалось только неявно, при отсутствии инициализатора)
Вряд ли у меня есть шанс что-то доказать, если у вас уникальные правила. Но по правилам C++ даже у базовых типов есть initializer list конструктор: int {} == 0 ... . Какое значение должно быть у string {} ? По-моему очевидно == "".
Нет. Это не очевидно.
В документации описано внутреннее представление строки
Внутреннее представление - структура размером 8 байт. Первый элемент структуры - длинное целое, содержит размер распределенного для строки буфера. Второй элемент структуры - 32-разрядный адрес буфера, содержащего строку.
Обнулите структуру, получите размер буфера строки 0, адрес буфера строки NULL (это прямо соотносится с утверждением "даже у базовых типов есть initializer list конструктор: int {} == 0")