Дилинговый центр Forex Euroclub • Программа для Forex | Форекс - TradingDesk Pro 5

Условный оператор IF - THEN Содержание  Предыдущая  Следующая


Условный оператор IF - THEN

 

Оператор IF-THEN позволяет Вам определять операции, которые будут выполнены только при выполнении некоторого условия.

 

Синтаксис:

If Условие Then

Действие;

 

Здесь Условие – это некоторое логическое выражение. Оно должно быть верным для того чтобы было выполнено Действие. Обычно эта часть синтаксиса используется совместно с другими операторами и командами. Например:

 

Variable: HighValue(0);

 

If High > High[1] Then

       HighValue = (High + High[1])/2;

 

Plot1(HighValue, "High Values");

 

Мы сначала объявляем переменную HighValue, затем проверяем условие с помощью оператора IF-THEN, после чего определяем новое значение для объявленной переменной. После этого рисуем график полученных значений (оператор Plot1).

 

Немного изменим пример:

 

Variable: HighValue(0), Compare(False);

 

Compare = High > High[1];

 

If Compare = True Then

       HighValue = (High + High[1])/2;

 

Plot1(HighValue, "High Values");

 

Здесь наряду с числовой переменной HighValue объявляется логическая переменная Compare. Затем этой переменной присваивается результат сравнения High > High[1] (верно или неверно). И если это выражение верно, строится график полученных значений.  В выражении

 

If Compare = True Then

 

можно опустить часть «=True», т.к. это подразумевается. Т.е. можно записать If Compare Then.

 

В операторе IF-THEN в качестве условий могут использоваться более сложные логические выражения, соединенные словами OR и AND.

 

Блок команд в операторе IF-THEN.

Для того, чтобы при выполнении условия в операторе IF-THEN выполнялось несколько команд, необходимо использовать специальные слова Begin и End, между которыми и находятся все необходимые команды. Например:

 

If High > High[1] AND Low < Low[1] Then Begin

       Plot1(High, "High Values");

       Plot2(low, "Low Values");

End;

 

Здесь при выполнении условия High > High[1] AND Low < Low[1] происходит построение графиков значений High и Low. После слова Begin точка с запятой не ставится, она ставится только после слова End, а также после каждой команды в блоке.

 

Конструкция оператора IF-THEN-ELSE.

Существует конструкция, которая позволяет выполнять некоторые действия не только если исходное условие верно, но и если оно неверно. Для этого используется оператор IF-THEN-ELSE. Например:

 

Variable: HighValue(0), Compare(False);

 

Compare = High > High[1];

HighValue = (High + High[1])/2;

If Compare Then

       Plot1(HighValue, "High Values")

Else

       Plot2(Low, "Low Values");

 

Если условие Compare верно, то происходит построение графика значений переменной HighValues. Если это условие не выполняется, то происходит построение графика значений Low.

 

Конструкция оператора IF-THEN-ELSE IF.

Подобная конструкция позволяет проверять несколько условий и в зависимости от них выполнять некоторые действия. Рассмотрим пример:

 

Variable: Var1(0), Var2(0), Var3(0);

 

Var1 = (Open + Open[1])/2;

Var2 = (Open + Open[1])*1.5/2;

Var3 = (Open + Open[1])*0.5/2;

 

If Open > Open[1] Then

       Plot1(Var1, "Values for Open")  

Else If Open < Open[1] Then                              

       Plot1(Var2, "Values for Open")  

Else

       Plot1(Var1, "Values for Open");

 

Здесь мы сначала объявляем и присваиваем значения трем переменным. Затем, если верно первое условие, то строим график первой переменной. Если верно второе условие, то строим график второй переменной. Если первое и второе условия неверны, то строим график третьей переменной.

 

Вложенный условный оператор.

Если в качестве одной из команд внутри блока в операторе IF-THEN используется другой оператор IF-THEN, то такая конструкция называется вложенным условным оператором. Например:

 

Variable: Var1(0);

 

If Open > Open[1] Then Begin

       If Close > Open Then

               Var1 = Close - Open

       Else

               Var1 = Open - Close

End;

 

Здесь если текущая цена открытия больше предыдущей, то проводим дополнительную проверку условия Close > Open, в зависимости от которой присваиваем значение переменной.