Основы языка
В этой главе конспективно изложено то что нужно знать как таблицу умножения. Это то, что нужно знать не заглядывая в документацию. Знание назубок основ языка обязательно. Хотя бы для того чтобы свободно читать код работ опубликованных в Библиотеке сайта. Там есть много очень даже толковых работ. Умея читать можно выудить из них нужные вам алгоритмы и функции. Или, если работа имеет хорошо проработанную "исполнительную машину", модифицировать чужую работу под вашу идею, добавив свой алгоритм открытия/закрытия сделок.
________________________________ Содержание ________________________________
- Введение
- Первый шаг
- Основы языка
- Переменные
- Функции
- Учимся читать
- Обучение методом "Ломаем/строим". Модификация чужого кода
- Работа над ошибками
- Как найти "иголку" в стоге кода функции которую якобы можно использовать "как есть"?
- Графический интерфейс
- Пишем простой советник с нуля
- Пишем сеточный советник с Мартингейлом
- Перечень вложений
Основы языка
Ранее я писал "не нужно зубрить". Это не совсем так. Кое-что нужно знать не хуже чем таблицу умножения. Ниже я перечислю самое основное из "обязательной программы", остальное найдете в Документации. Где искать - подскажу.
Комментарий:
//
Это однострочный комментарий. Если вам нужно исключить из кода какую-то строку не удаляя ее или написать какую-то памятку для себя -
ставите // в начале строки
/*
А это
блочный комментарий.
Между этими знаками можно роман писать.
Причем на любом
языке - компилятор этот текст игнорирует.
*/
Типы данных:
int
Целое число. Минимальное значение -2 147 483 648, максимальное 2 147 483 647
double Десятичные числа двойной точности.
string Предназначен для хранения текстовых строк.
void Этот тип используется для указания того, что функция не возвращает значения
bool Переключатели (флаги). имеют
значения 0 (false) или 1 (true)
color Цвет
datetime Дата и время
Арифметические операции | |
---|---|
Сумма
величин
|
i = j + 2; |
Вычитание величин |
i = j - 3; |
Изменение
знака
|
x = - x; |
Умножение
величин
|
z = 3 * x; |
Частное от
деления
|
i = j / 5; |
Добавление 1 к значению переменной |
i++; или ++i; |
Вычитание 1 от значения переменной |
k--; или --k; |
Операции присваивания |
|
Присваивание значения x переменной
y
|
у = x; |
Эти операции объединяют арифметические операции с операцией |
присваивания: |
Умножение значения переменной на число или переменную |
a *=10; или a *= c; |
Деление значения переменной на число или переменную | a /=10; или a /= c; |
Прибавление к переменной числа или переменной | a +=10; или a += c; |
Вычитание из переменной числа или переменной | a -=10; или a -= c; |
Операции отношения | |
Истина, если a равно
b
|
a == b; |
Истина, если a не равно
b
|
a != b; |
Истина, если a меньше
b
|
a < b; |
Истина, если a больше
b
|
a > b; |
Истина, если a меньше или равно b |
a <= b; |
Истина, если a больше или равно b |
a >= b; |
Логические операции | |
Логическое отрицание НЕ | ! |
Логическая операция ИЛИ |
|| |
Логическая операция И |
&& |
Другие операции | |
Запятая Выражения, разделенные запятыми, вычисляются слева направо. |
, |
Точка с запятой Обозначает конец оператора |
; |
Вызов функции |
( ) |
Указывает на элемента массива |
[] [0] [1] и т.п. |
Операторы |
|
Составной оператор Один или более операторов любого типа, заключенные в фигурные скобки { c=a+b; a +=10; tikFind=true; break; } |
{ } |
Оператор-выражение Выражение, заканчивающееся точкой с запятой tmDif=(tm-clsTM)/60; |
; |
Оператор прекращает выполнение текущей функции и возвращает управление вызвавшей программе | return |
Условный оператор Используется при необходимости сделать выбор |
if-else |
Оператор цикла Крутит цикл до тех пор, пока проверяемое выражение не станет ложным. |
while |
Оператор цикла Прокручивает цикл до тех пор, пока проверяемое выражение не станет ложным. Проверка выражения производится перед каждой итерацией |
for |
Выше я кратко перечислил самое-самое. Там все то же самое, но не работает поиск, что несколько затрудняет работу, приходится постоянно листать содержание. Более удобоваримое описание всего что вам нужно есть в онлайн-учебнике Сергея Ковалева. Там же найдете множество примеров и функции которые можно использовать убрав из них все что вам не нужно. Несмотря на то что учебник был опубликован в 2008 году, он вам будет полезен. Но кое-что в нем устарело, кое-чего нет - последнее слово за Документацией. Отнеситесь серьезно, не изучив этот материал, вы не сможете понять то о чем я буду писать далее. |
С первого прочтения вы далеко не все поймете как в доке, так и в учебнике. Возвращаться к тем или иным разделам вам придется неоднократно. Несмотря на то что я пишу на MQL4 около 12 лет, периодически приходится заходить в документацию. Причина проста - я никогда ничего не зубрил в школе, не зубрил и здесь. Важно не помнить все от А до Я, а ПОНИМАТЬ язык. Нужное всегда найдете. |
Ранее опубликованные посты (с августа 2014) |