- •Внешние переменные
- •Глобальные переменные
- •Формальные параметры функций
- •Операции отношения
- •Логическая операция и (&&)
- •Побитовые операции
- •Объединение арифметических и побитовых операций с операцией присваивания
- •Формат оператора цикла while:
- •Формат оператора цикла for:
- •Оператор досрочного завершения цикла break
- •Формат оператора switch:
- •Формат функции OrderSelect():
- •IsStopped(): как проверить, что эксперт был остановлен
- •Выдерживаем паузу между торговыми операциями
- •Index - индекс элемента
- •Реализация трейлинг стопа в эксперте
- •Функция iAlligator() - Аллигатор Билла Вильямса (Alligator)
- •IGator() - определение периодов сна и бодроствования Аллигатора с помощью Gator Oscillator
- •Функция iGator()
- •IFractals(): фракталы б.Вильямса - первое измерение рынка
- •IAo(): Волшебный Осциллятор Билла Вильямса (Awesome Oscillator - ao) - второе измерение рынка
- •Сигналы Волшебного осциллятора (Awesome Oscillator)
Операции отношения
Операция |
Результат |
a == b |
Истина, если a равно b Ложь, если a не равно b |
a != b |
Истина, если a не равно b Ложь, если a равно b |
a < b |
Истина, если a меньше b Ложь, если a больше или равно b |
a <= b |
Истина, если a меньше или равно b Ложь, если a больше b |
a > b |
Истина, если a больше b Ложь, если a меньше или равно b |
a >= b |
Истина, если a больше или равно b Ложь, если a меньше b |
Примечание: в связи с тем, что числа с плавающей точкой (тип double) не могут быть представлены точно в связи с ограниченным количеством значащих цифр после запятой (в MetaQuotes Language 4 точность - 15 значащих цифр), нельзя производить сравнение таких чисел на равенство (==) или неравенство (!=) без предварительной нормализации (о нормализации вещественных чисел я расскажу в следующих выпусках).
В следующем выпуске я расскажу о логических операциях.
Логические операции
В прошлом выпуске я рассказал об операциях отношения, с помощью которых можно сравнить две переменные. Результатом выступало значение типа bool.
Напомню, что значение ЛОЖЬ (false) представляется в виде нулевого значения, а ИСТИНА (true) - ненулевого.
В этом выпуске я рассмотрю логические операции НЕ (!), ИЛИ (||) и И (&&).
Логическое отрицание НЕ (!)
Операнд A |
Значение выражения !A |
ИСТИНА (true) |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ИСТИНА (true) |
Пример:
bool b;
b = false; // переменная b равна false (ЛОЖЬ)
b = !b; // переменная b равна true (ИСТИНА)
b = !b; // переменная b равна false (ЛОЖЬ)
Логическая операция ИЛИ (||)
Результат логической операции ИЛИ равен true, если хотя бы один из операндов равен true. Если оба операнда равны false, то и результат логического ИЛИ также будет равен false.
Операнд A |
Операнд B |
Значение выражения A || B |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ИСТИНА (true) |
ИСТИНА (true) |
ИСТИНА (true) |
ЛОЖЬ (false) |
ИСТИНА (true) |
ИСТИНА (true) |
ИСТИНА (true) |
ИСТИНА (true) |
Пример:
bool a = true; // a равно true
bool b = false; // b равно false
b = b || a; // b равно true
Логическая операция и (&&)
Результат операции логического И будет равен true только в случае, если оба операнда равны true. Во всех иных случаях результат операции будет равен false.
Операнд A |
Операнд B |
Значение выражения A && B |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ИСТИНА (true) |
ЛОЖЬ (false) |
ИСТИНА (true) |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ИСТИНА (true) |
ИСТИНА (true) |
ИСТИНА (true) |
Пример:
bool a = true; // a равно true
bool b = false; // b равно false
b = b && a; // b равно false
Побитовые операции
В прошлом выпуске я рассказал о логических операциях, а этот выпуск будет посвящен побитовым операциям.
Для начала необходимо рассказать о формате представления чисел в компьютере.
Мы в нашей жизни привыкли к десятичному представлению чисел: 56, 777, 10957 и т.д. Десятичное представление числа 10957 означает, что 10957 = 1*104 +0*103+9*102+5*101+7*100. Иными словами десятичное число - это a0*100+a1*101+a2*102+...+an*10n. Т.е. сумма произведений соответствующей цифры (ai) на соответствующую степень числа 10 (10i).
В компьютере внутренний формат представления чисел - двоичный. В двоичном формате все числа состоят из нулей и единиц, а в качестве множителя используется не число 10, возведенное в степень, а соответствующая степень числа 2. Например, двоичное число 10001101 равно десятичному (обычному) числу 1*27+0*26+0*25+0*24+1*23+1*22+0*21+1*20 = 128+0+0+0+8+4+0+1 = 141.
Каждая такая двоичная цифра (1 или 0) называется битом.
Теперь мы знаем достаточно, чтобы рассмотрить побитовые операции.
