Tradersforum - форум трейдеров рынка ФОРЕКС
 
Главная Форум Блоги Статьи Файлы Рабочий кабинет Контакты
 
Календарь экономических событий для рынка Форекс

Календарь Форекс → смотреть

Понятный. Точный. Удобный. Быстрый. Информативный.

Последние дискуссии на форумах
Название темыАвторОтветовПросмотровПоследний ответ
   Подскажите где можно выгодно заказать аренду бытовок
matvey121303.12 16:49Jenya7
   Forex4you
4EL589100016702.12 18:07zukz
   Аналитика от компании ФорексМарт(forexmart)
LenaForexMart132786370902.12 17:12LenaForexMart
   Помогите выбрать удобное кресло в офис
arturov123402.12 13:50Jenya7
   Кого лучше нанять для ремонта в квартире
matvey124402.12 09:38Jenya7
   Best Crypto Drainer
asvirid02601.12 17:22asvirid
   Центовый счет Форекс
snegniy62030.11 12:21Jenya7

3.3.07 20:22 | MetaQuotes Language II - учимся программировать. Урок №2
Раздел: MQL программирование | Автор: admin | Рейтинг: 4.00 (1) Оценить | Хитов 1855
MetaQuotes Language II - учимся программировать. Урок №2

Обучение MQL II Урок №2



Компания "Fxtest"
Халхальян Артур
техническая поддержка трейдеров
artur@fxtest.ru

Здравствуйте, дорогие читатели. Сегодня мы детально разберем типы переменных, познакомимся с операторами присваивания и инструкцией 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. Мы рассмотрим обращение к массивам котировок и научимся открывать позиции.



Материал предоставлен : http://www.forextimes.ru/magazine

 

  1 2 3 4 5 6 7 8 9 10  

Родственные ссылки
» Другие статьи раздела MQL программирование
» Эта статья от пользователя admin

5 cамых читаемых статей из раздела MQL программирование:
» Программирование на MQL II. Сортировка методом пузырька
» MetaQuotes Language II - учимся программировать. Урок №1
» MetaQuotes Language II - учимся программировать. Урок №5
» Программирование на MQL II. Поиск
» MetaQuotes Language II - учимся программировать. Урок №4

5 последних статей раздела MQL программирование:
» Программирование на MQL II. Поиск
» MetaQuotes Language II - учимся программировать. Урок №7
» Программирование на MQL II. Сортировка методом пузырька
» MetaQuotes Language II - учимся программировать. Урок №5
» MetaQuotes Language II - учимся программировать. Урок №4

¤ Перевести статью в страницу для печати
¤ Послать эту cтатью другу

MyArticles 0.6 beta for RUNCMS: by RunCms.ru

Наш форекс форум один из крупнейших форумов для трейдеров в Рунете. На форуме трейдеров мы обсуждаем рынок, стратегии игры трейдеров, прогнозы.
Множество трейдеров рынка Forex делятся своими стратегиями и дают торговые сигналы в реалтайм. Лучший Форекс календарь событий в мире
- Генерация страницы: 0.022991 секунд -