Основы MQL5 программирования. Разработка технических индикаторов и торговых советников. Александр Вадимович Нечаев
Чтение книги онлайн.
Читать онлайн книгу Основы MQL5 программирования. Разработка технических индикаторов и торговых советников - Александр Вадимович Нечаев страница 7
ENUM_TIMEFRAMES SignalPeriod = PERIOD_D1;
// – -Пример 2. Если тип позиции определен как длинная позиция, закроем ее.
POSITION_TYPE_BUY – это значение enum POSITION_TYPE для функции PositionGetInteger (…);
// – —
(PositionGetInteger (POSITION_TYPE) == POSITION_TYPE_BUY) {
ClosePosition (PositionTicket);
}
3.2 Область видимости и время жизни переменных
Переменные в рамках MQL5 программ могут быть разделены на три типа
– Локальные переменные – это переменные, которые созданы внутри какой-либо функции. Они будут видимы только внутри этой функции и при ее окончании – они будут уничтожены для повторного создания при следующей итерации. Локальные переменные будут видны только далее по коду после их создания.
Пример 4. Пример локальной переменной
void Function ()
{
int Variable = 12345;
double SecondVariable = 1.23;
bool ThirdVariable = true;
}
– Глобальные переменные – это переменные, которые созданы на одном уровне с функциями, то есть на глобальном уровне. Они будут существовать до момента деинициализации приложения.
– Глобальные переменные терминала – это переменные, которые могут быть созданы в любом приложении, но их время жизни не заканчивается деинициализацией создавшего их приложения. Глобальные переменные терминала используются для общего использования из разных приложений. Базовым примером работы с глобальными переменными терминала может быть использование выгрузки сложных и объемных расчетов из одного продукта, их отправки в глобальные переменные. Далее этими данными смогут пользоваться все остальные продукты. Это хороший инструмент оптимизации работы масштабных проектов, состоящих из нескольких десятков приложений, работающих в одной связке.
3.3 Операции и выражения
– Выражения – Выражения оканчиваются точкой с запятой. Выражения могут быть длинными или короткими и не зависимо от величины выражения, любое будет оканчиваться точкой с запятой. Одно выражение может занимать несколько строк или наоборот в одной строке может быть несколько выражений.
– Операции – Все операции всегда следую друг за другом слева на право. Операции имеют свой уровень приоритета. Операции с более высоки приоритетом, будут выполняются первыми. Приоритет операций умножения и деления выше, чем в операциях сложения и вычитания, как и в стандартных правилах математики. Компилятор использует приоритет операторов для определения порядка обработки выражений.
– Арифметические операции – это любые арифметические операции, связанные с умножением или делением, а также сложением или вычитанием.
Пример 5. Логические операции
Сумма величин a = b + c;
Вычитание величин a = b – 10;
Умножение величин a = b * 2;
Частное от деления a = b / c;
Остаток от деления minutes = time % 60;
– Инкремент (увеличение на единицу)