Старая ошибка и странное поведение препроцессора MQL, в отличие от препроцессора языка C, который правильно удаляет все комментарии к коду перед расширением макроса.
Я пришел к решению, только когда создал несколько макросов с разным количеством переменных:
Так что если я хочу быстро вывести 5 переменных, я делаю:
Если я хочу вывести 9 переменных, я комбинирую:
Поэтому я не знаю, как создать универсальный макрос для печати любого количества переменных с помощью макроса P(x), чтобы это было похоже на PR5, например.
Кажется, что невозможно создать такой макрос для работы с любым количеством переменных, как это делает функция Print
кажется, что невозможно создать такой макрос для работы с любым количеством переменных, как это делает функция Print
Да, действительно, в отличие от препроцессора C, препроцессор MQL не поддерживает вариативные макросы, принимающие переменное количество аргументов, как #define PRINT(...).
amrali #: Да, действительно, в отличие от препроцессора C, препроцессор MQL не поддерживает вариативные макросы, принимающие переменное количество аргументов, как #define PRINT(...).
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
удивительно, что этот макрос работает
Ааа, это оно, хорошо.
Я пришел к решению, только когда создал несколько макросов с разным количеством переменных:
Так что если я хочу быстро вывести 5 переменных, я делаю:
Если я хочу вывести 9 переменных, я комбинирую:
Поэтому я не знаю, как создать универсальный макрос для печати любого количества переменных с помощью макроса P(x), чтобы это было похоже на PR5, например.
Кажется, что невозможно создать такой макрос для работы с любым количеством переменных, как это делает функция Print
кажется, что невозможно создать такой макрос для работы с любым количеством переменных, как это делает функция Print
Для поддержки нескольких аргументов в функции Print() можно использовать обходные решения, например, ранее опубликованную TOSTR().
Я уже сделал это здесь: https: //www.mql5.com/en/forum/393227/page298#comment_56271584
Да, действительно, в отличие от препроцессора C, препроцессор MQL не поддерживает вариативные макросы, принимающие переменное количество аргументов, как #define PRINT(...).
Оффтопик, но хочу поправить. Выделенное:
лучше писать "Добавлено". Так будет правильнее на русском.
Потому, что "Редактировать" - это не та форма глагола, которую тут верно было бы использовать.
Для общего развития ;)
Хорошо, спасибо, Артём. Теперь я понял, что автоперевод eng->rus может иногда изменять смысл.
Да. Ничто не совершенно)
UPD: Тут смысл не теряется. Всё понятно, но выглядит "коряво". Ближе по смыслу было бы "Отредактировано:"
Недокументированный DEAL_TYPE: so compensation.
Недокументированный DEAL_TYPE: so compensation.
Это тип для того, что бы при сливе выводить счёт в ноль?
У какой-то переменной значение равно -1.
Какая проверка будет выполнена быстрее на проверку этого значения: < 0 или == -1?