Урок №11: Пишем индикатор

MQL: Пишем индикатор

На этом уроке мы напишем простой индикатор, который в дальнейшем будем использовать при разработке советника. А использовать для получения сигнала мы будем уже существующие — Moving Average и MACD. Алгоритм следующий: Определять направление сделки (покупка или продажа) мы будем по индикатору Moving Average с периодом 100 на дневном графике(Daily), т.е. если текущая цена выше MA(100), то покупаем, а если ниже — продаём. А для поиска удачных точек входа воспользуемся индикатором MACD.

Урок №10: Наш первый советник

MQL: Наш первый советник

Уважаемые коллеги, на этом уроке мы напишем наш первый советник, познакомимся с некоторыми основными функциями языка MQL4, а также напишем несколько своих. Приступим, и для начала запустим MetaEditor…     и создадим шаблон эксперта, ничего не меняя, просто нажимаем кнопку «Далее»… Обязательно заполняем, как минимум, поле «Имя» — это название нашего будущего советника, поля «Автор» и «Ссылка» не обязательны к заполнению. Добавляем параметры «Lots», «TakeProfit», «StopLoss», обращая внимание тип данных каждого параметра. После заполнения нажимаем кнопку «Далее»:

Урок №9: Перегрузка функций

MQL: Перегрузка функций

MQL4 позволяет определять несколько функций с одинаковым именем. Такие функции называются перегруженными. Их может быть две, три и больше и различаются они порядком следования, количеством, типом. Таким образом перегрузка функций нужна для того, чтобы избежать дублирования имён функций, выполняющих подобные действия, но с различной программной логикой. В конечном счёте перегрузка функций улучшает удобочитаемость программ. Например, предположим, что в вашей программе есть функция с именем day_of_week, которая возвращает текущий день недели (0 для воскресенья, 1 для понедельника, …, 6 для субботы). Читать дальше …

Урок №8: Локальные и глобальные переменные

Локальные и глобальные переменные

На одном из прошлых уроков мы узнали, что функции позволяют разделить программу на небольшие легко управляемые части. Все функции, используемые вами до настоящего момента, были достаточно простые. Как только вашим функциям потребуется выполнить более сложную работу, они должны будут использовать переменные для реализации своих задач. Переменные, которые объявляются внутри функции, называются локальными переменными. Факт того, что локальные переменные существуют, известны только  функции, в которой они объявлены. Наиболее важно понять то, что локальные переменные существуют только в блоке кода, в котором Читать дальше …

Урок №7: Условия и циклы

MQL: Условия и циклы

Условный оператор if Конструкция практически любого алгоритма подразумевает наличие условий, поэтому для организации вычислений в зависимости от какого-либо условия в MQL предусмотрен условный оператор if, который в общем виде записывается следующим образом: if (условие) выражение_1; else выражение_2; Здесь условие — это логическое выражение, переменная или константа. Работает условный оператор следующем образом. Сначала вычисляется значения выражения, записанного в виде условия. Если оно имеет значение истина (true), выполняется выражение_1. В противном случае (значение ложное (false) ) выражение_2. 

Урок №6: Операции и выражения

MQL: Операции и выражения

Виды операций В языке MQL4 различают следующие виды операций: арифметические операции; операции присваивания; операции отношения; логические операции; побитовые операции; операция запятая; вызов функции. Арифметические операции К символам арифметических операций относятся следующие: Символ Операция Пример Аналог + Сумма величин x + 2 — Вычитание величин или изменение знака x — 3, y = — y * Умножение величин 3 * x / Частное от деления x / 5 % Остаток от деления minutes = time % 60 ++ Добавление 1 к Читать дальше …