ФОРЕКС 21 Пятница, 03.05.2024, 09:50
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
Меню сайта

Главная » 2009 » Декабрь » 27 » Обучение MQL II Урок №2
Обучение MQL II Урок №2
19:14
Обучение MQL II Урок №2 Здравствуйте, дорогие читатели. Сегодня мы детально разберем типы переменных, познакомимся с операторами присваивания и инструкцией if - then. 2.1 Переменные числового типа Переменные, как Вы знаете, нужны для хранения какой-либо информации, с возможностью в любой момент к ней обратиться или изменить ее. Переменные числового типа, по логике хранят числа. var: K(0),N(0); //Внутренние переменные K и N, поумолчанию их значения равно 0. //Это переменные числового типа, т.к. поумолчанию они равны указанному числу //окончание описания переменных, как и любую другую инструкцию MQL // заканчивает <;>. Если Вы заметили перед каждой строчкой стоит двойной слеш //так обозначаются однострочные комментарии /* Это уже обычный, полнострочный комментарий */ { K=1; // присваивание осуществляется обычным знаком равенства <=> N=10*2; //в правой части могут быть записаны математические выражения с четырьмя //основными математическими действиями +, -, *, / K=N+5; N=(bid+ask)/2; K=K+10; /* Математически выражение не верно, т.к. правая часть не равна левой. Практически в любом языке программирования, включая MQL, такая операция присваивания абсолютно нормальна. После этого выражения переменная K увеличится на 10. Для лучшего понимания этого момента, можете считать, что до знака равенства стоит новое значение переменной (которое мы хотим получить), а после старое значение. Т.е. K=K+10, новое значение K равно старое плюс 10. */ }; Вы можете скопировать весь текст в Meta Editor, от слова var до закрывающей фигурной скобки вместе с описаниями, т.к они все закомментированы. 2.2 Переменные строкового типа var: string1("text"), string2("toge text"),string3(" ") ; // переменные строкового типа, т.к. поумолчанию равны текстовой строке //название переменной может содержать в себе цифры, но название переменной не может начинаться с цифры { string3="slovo"; string3=string1+string2; /* Для работы с текстовыми строками имеется всего один строковый оператор, обозначается <+> переменная string3 , будет равна " text toge text " */ }; 2.3 Относительные операторы Используются для сравнения двух значений одинакового типа. Первое значение сравнивается со вторым, в результате чего формируется логическое значение True (истина) или False (ложь). Меньше - '<' , больше - '>', равно - '=' , не равно - '<>', меньше или равно - '<='; больше или равно - '>='. 2.4 Инструкция if-then Наверное, нет ни одного торгующего эксперта, который не имеет этой инструкции. Т.к. ситуация на рынке все время меняется нужно все время что то с чем то сравнивать или проверять. Для этого и используется эта инструкция. If (условие) then (действие происходящее при истинности условия) else (действие происходящее при ложности условия) else - это необязательная часть инструкции Пример: If k>n then k=k+1; //1й If k>b then k=k+1 else k=k-1; //2й Заметьте во втором примере после первого действия (a=a+1) нет точки с запятой, т.е. перед else <;> ставить не надо. Если нужно исполнить несколько действий то можно использовать конструкцию begin:end; или {:.}; Пример: If k>b then {k=k+1; b=b-1;}; If k>b then {a=a+1; b=b-1;} else {k=k-1; b=b+1;}; 2.5 Переменные логического типа Эти переменные могут иметь всего 2 значения True (истина) или False (ложь). Они используются как флаги разрешающие что-то или запрещающие. С переменными логического типа работают логические операторы: and, or, not. Var: k(True),n(false); { k = FreeMargin >= 1000; If not k then exit; }; Происходит принудительный выход из эксперта, если свободная маржа меньше или равна 1000. Мы можем также писать (if k<>True) или (if k=False) и все это будет иметь один смысл. Вместо того, что бы после if писать логическую переменную и проверять ее на равенство true, можно просто написать переменную, а вместо проверки на равенство False, перед переменной ставится логический оператор not, как в нашем случае. If k>0 and b>0 then exit; Оператор and(И) группирует условия, действие после then выполнится только при истинности всех условий. If k>0 or b>0 then exit; Оператор or(или) выбирает хотя бы одно истинное условие. Т.е. если любое из двух переменных больше 0 то действие выполнится. Оператор not(не), применяется для логических переменных. Для переменных числового типа используется относительный оператор не равно (<>) В следующем выпуске мы начнем более специализированное изучение MQL. Мы рассмотрим обращение к массивам котировок и научимся открывать позиции. Обучение MQL II Урок №2
Просмотров: 464 | Добавил: forex21 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Календарь новостей
«  Декабрь 2009  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031

Поиск

Друзья сайта


Статистика

Copyright MyCorp © 2024 Бесплатный конструктор сайтов - uCoz