Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вы, как взрослый дяденька, умеете "набалтывать логику" себе на пользу. :)))
Старую справку я вам уже не приведу (у меня её нет). Будем отталкиваться от новых правил. В iBarShift() первым параметром нужно передать строку - с этим согласны? Если мы строковой переменной присваиваем значение NULL - это пустая строка (НИЧЕГО).
В том то и дело, что нет. NULL, согласно новой справке, является типом void. В старой он был хрен пойми что, вроде как интовый ноль. Тем не менее, преобразование типов не изменяет внутреннего содержания переменной. Поэтому, если я преобразовал к int и получил ноль, то внутренне представление - либо бинарный ноль, либо что-то, что обрезается и в итоге остается ноль (но этого, естественно, в справке нет).
Поэтому я призываю разработчиков разобраться с неопределенностью относительно константы NULL, а именно, пояснить в справочных файлах следующие моменты:
1) каким образом конкретно происходит преоббразование типов относительно в данном конкретном случае
2) если внутреннее представление NULL - действительно 0, то почему передача 0 и NULL в одну и ту же функцию приводит к разным результатам.
Либо объяснть мне, в чем конкретно я неправ.
--
Игорь, на самом деле, это не такой простой вопрос. Некоторые вещи в MQL обрабатываются достаточно произвольно, и это наглядно демонстрирует мой пример с изменением поведения NULL от билда к билду. Я не стремлюсь к тому, чтобы любыми средствами уличить MQ в ошибке, упаси б-же. Мне просто хочется, чтобы в такой сфере как язык программирования была установлена определенность. В данном частном случае: если некая константа изменила свое значение или поведение, это следует отразить в документации, а желательно - еще и оратить на это внимание пользователей.
Вспомним заповеди питона:
... Встретив двусмысленность, отбрось искушение угадать. Должен существовать один — и, желательно, только один — очевидный способ сделать это...
Мне кажется, иных подходов существовать не должно.
Прайс экшн, несколько самописанных скриптов и опять же несколько самописанных простых до нельзя вспомогательных советников.
Скрипты еще работают в новом бильде, а вот советники - нет.
Хотя компиллируются без ошибок.
Экзешники от старого 509 бильда тоже подвисают.
Вот и дергаешся тут от ваших корявых изделий. Вся стратегия коту под хвост.
Впрочем, от них на всех форумах дергаются, не только здесь.
Вопрос, как в панели "терминал" отключить вкладки "маркет", "сигналы" и "библиотека" ?
Если такой возможности нет, большая просьба к разработчикам сделать соотвествующие опции.
Вопрос, как в панели "терминал" отключить вкладки "маркет", "сигналы" и "библиотека" ?
Если такой возможности нет, большая просьба к разработчикам сделать соотвествующие опции.
Всё это затеялось как раз для Маркета с Сигналами. Вывод - очевиден.
А все эти навороты с Си подобными структурами типа ООП и привязкой к папкам виндоуз только ради этого ?
Их достаточно посмотреть на досуге после дождичка в четверг.
К тому же они, я сильно подозреваю, садят мобильный интернет и общее быстродействие.
А все эти навороты с Си подобными структурами типа ООП и привязкой к папкам виндоуз только ради этого ?
Их достаточно посмотреть на досуге после дождичка в четверг.
К тому же они, я сильно подозреваю, садят мобильный интернет и общее быстродействие.
Как минимум забивают логами и файлами истории системный диск ...
Ну да ... примерно 95%
Ну да. Примерно 95%)
В том то и дело, что нет. NULL, согласно новой справке, является типом void. В старой он был хрен пойми что, вроде как интовый ноль. Тем не менее, преобразование типов не изменяет внутреннего содержания переменной. Поэтому, если я преобразовал к int и получил ноль, то внутренне представление - либо бинарный ноль, либо что-то, что обрезается и в итоге остается ноль (но этого, естественно, в справке нет).
Вспомним заповеди питона:
... Встретив двусмысленность, отбрось искушение угадать. Должен существовать один — и, желательно, только один — очевидный способ сделать это...
Мне кажется, иных подходов существовать не должно.
Что-то мне подсказывает, что простая комбинация из двух операторов поможет:
1. color C=NULL;
2. рисуем что-нибудь с цветом заливки С.
Что-то мне подсказывает, что простая комбинация из двух операторов поможет:
1. color C=NULL;
2. рисуем что-нибудь с цветом заливки С.
Это тольк если NULL 32-битное, как color, и действительно не изменяет внутреннее значение при преобразовании типа... Фишка в том, что этот самый процесс преобразования мог быть написан разработчиками как угодно, причем нам неизвестно, как именно.
Это тольк если NULL 32-битное, как color, и действительно не изменяет внутреннее значение при преобразовании типа... Фишка в том, что этот самый процесс преобразования мог быть написан разработчиками как угодно, причем нам неизвестно, как именно.
Согласен, но - чем мог :)
Я сейчас за Великой китайской стеной, доступа к 600-м версиям нет.