Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Стоит задача в классе вывести значение переменной, если она существует. И вывести нуль, если переменная вобще не объявлена.
Для определенности - берем стандартный пример Moving Average.mq5
Там есть входной параметр, он объявлен на глобальном уровне:
input double MaximumRisk = 0.02; // Maximum Risk in percentage
Добавляем в инициализацию:
int OnInit(void)
{
#ifdef MaximumRisk //Если идентификатор определен
Print("MaximumRisk найден !"); // Выводим сообщение
#endif
.....
<дальнейший код>
....
Как я понимаю, в момент компиляции функции OnInit() компилятор уже определил переменную MaximumRisk. Однако, выполнение программы идет, минуя код вывода на печать.
Что я делаю не так ?
Ну и если так нельзя - то как можно внутри класса на этапе компиляции определить, что та или иная переменная существует ?