Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Проясните пожалуйста ситуацию с операторами == и != . Если сравнимые переменные представлены истиной, когда они имеют любое ненулевое значение(в справке так написано). Как тогда представлены массивы? И почему в этом примере идёт сравнение "не равно двум", почему именно двум, если любое ненулевое значение это истина, если нет разницы, если бы там стояла 1, почему там написано именно 2 ? Вот код из официального примера (из советника с терминалом Moving Average 2009-2017 v1.00 строка 132).
1. Верно ли, что любое ненулевое значение представлено истиной , когда сравнивается в операторах "==" , "!=" ?
2. Как представлен массив? как его вообще можно сравнить с числом?
3. Почему в сравнении стоит "2"? Если согласно справке истина это любое ненулевое значение, тогда логично написать "1".
4. сработало ли условие if если CopyRates получила ошибку ?
Прочтите внимательно в документации что возвращает функция CopyRates() и всё поймёте.
Прочтите внимательно в документации что возвращает функция CopyRates() и всё поймёте.
Я специально составил вот список вопросов, чтобы получить развёрнутый ответ, а не односложный и не очередную отсылку. Если хотите помочь, ответьте по порядку на вопросы пожалуйста.
Проясните пожалуйста ситуацию с операторами == и != . Если сравнимые переменные представлены истиной, когда они имеют любое ненулевое значение(в справке так написано). Как тогда представлены массивы? И почему в этом примере идёт сравнение "не равно двум", почему именно двум, если любое ненулевое значение это истина, если нет разницы, если бы там стояла 1, почему там написано именно 2 ? Вот код из официального примера (из советника с терминалом Moving Average 2009-2017 v1.00 строка 132).
1. Верно ли, что любое ненулевое значение представлено истиной , когда сравнивается в операторах "==" , "!=" ?
2. Как представлен массив? как его вообще можно сравнить с числом?
3. Почему в сравнении стоит "2"? Если согласно справке истина это любое ненулевое значение, тогда логично написать "1".
4. сработало ли условие if если CopyRates получила ошибку ?
CopyRates() возвращает не bool, а int. Копируем два бара (4-ый параметр) и проверяем,что их скопировано 2.
Я специально составил вот список вопросов, чтобы получить развёрнутый ответ, а не односложный и не очередную отсылку. Если хотите помочь, ответьте по порядку на вопросы пожалуйста.
Ну раз вы не можете прочесть там прочтите тут:
Возвращаемое значение
Количество скопированных элементов массива либо -1 в случае ошибки.
Возвращает количество скопированных элементов. Запланировано получать 2 элемента и в запросе поставлено 2. Если функция вернула любое число кроме 2 значит что-то не так. И это никакого отношения не имеет к значениям массива.
CopyRates() возвращает не bool, а int. Копируем два бара (4-ый параметр) и проверяем,что их скопировано 2.
Про true и false. Если бы сравнивали так: if(2){} или if(-1){} - то они все true. Но ведь делается сравнение на равенство двух чисел x==2, и вот это выражение может быть true или false. Если x равно 2, то true, в остальных случаях false.
По вашим словам 2==2 это истина и например 1234==2 это ложь. Но в справке написано, что любое ненулевое значение в этом операторе истина, значит 1234==2 это истина.
Палата №6… Извините
Это из справки
Это из справки
Извините ещё раз. Не успел удалить…
Вы можете ответить только «ДА» или «НЕТ»