ООП, шаблоны и макросы в mql5, тонкости и приёмы использования - страница 19
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Этот макрос будет void, для того чтобы вернуть из него результат нужно выражение которое будет рассчитано, другими словами нужно вызвать внутри него функцию, я пришёл к такому выводу.
Да сначала откомпилировать попробуйте этот "волшебно-чудесный" код. Тут некоторые ребята очень буйно фантазируют, оторвавшись от реальности.
Не знаю что там за задача и туда ли копаете, но так навскидку - ещё один подход:
Так можете заменить любой кусок функции (необязательно заполнение массива как это у меня) и инстанцировать в нужном виде.
Понтовня какая-то. Кидаешь первый взгляд на код и думаешь: ну наверно массив будет заполняться теми числами, которые переданы в функции, или масшатабироваться до этой величины... а оказывается то...
Понтовня какая-то. Кидаешь первый взгляд на код и думаешь: ну наверно массив будет заполняться теми числами, которые переданы в функции, или масшатабироваться до этой величины... а оказывается то...
Я не впечатлил, ну ладно, мне п****.
У вас есть некоторый алгоритм, внутрь которого можно всунуть подалгоритм, так сказать "заточить" под решение частной задачи. По сути - аналог виртуальных функций. Главное сами просили, а теперь не знаете зачем )), у вас ведь был каркас, внутрь которого подсовывали loop.
Я хотел к этому каркасу дописать код и чтобы это всё дело возвращало результат а мой каркас работает как void и я пытаюсь с этим разобраться. Мне это нужно для работы с массивами разной размеренности.
Вызывайте функцию, в которую передаёте указатель на другую функцию (тело цикла, например)
mql4 не работает с указателями на функцию даже это разработчики не сделали.
Вот кое что нашёл
Значит не из каждого макроса можно вернуть значение, кто знает?
Из макроса вообще нельзя вернуть значение. Макрос - это замена одного куска кода другим куском кода.
Из макроса вообще нельзя вернуть значение. Макрос - это замена одного куска кода другим куском кода.
Понятно спасибо за чёткий корректный ответ.
Ну как бы не совсем верно, макрос можно развернуть в тернарный оператор ?: или оператор запятая (в мкл нет) из которых можно вернуть значение.
В с++ тернарные операторы более развиты, если условие истинно можно выполнить несколько действий а mql4 по прежнему как закрыли доступ к памяти так хоть ты и убей за 10 лет разработчики не внесли значимых изменений и не создали достойных внимания функций (есть только функции которые работа. с цветами и текстом и больше ничего нормально тупизм да и только).