Программирование на MQL4: основы языка и введение в синтаксис
В этом примере мы присваиваем возвращаемое значение OpenBuyOrder() переменной GetTicket, в которой указан номер заявки только что размещенного нами ордера. Это необходимо только в том случае, если вы планируете проводить дальнейшую обработку с использованием номера тикета размещенного ордера. Чтобы объявить переменную, вы указываете ее тип данных, идентификатор и, опционально, значение по умолчанию.
Разработка и написание скриптов
Мне он понравился тем, что можно одновременно получать данные из нескольких источников. Кроме того, в рамках написания этой статьи я немного протестировал визуально этот индикатор, и результат показался мне многообещающим. И сегодня мы поработаем с этим индикатором, чтобы использовать его данные в своем советнике. Сегодня будет наш вводный урок по платформе Metatrader 5.
То, что мы делали тогда на уроке, можно сделать еще одним способом, не используя dll, следовательно, без зависимости от операционной системы. Теперь синтаксис mql файлов будет пониматься программой phpstorm. Жмем Новый проект и открываем папку mql4 вашего терминала.
В широком смысле дивергенция – это расхождение линии индикатора с графиком цены. В сегодняшнем уроке мы разберем, как можно автоматизировать средствами MQL4 один из самых сильных и надежных паттернов – дивергенцию. Для этого будем писать скрипт, fortreider а из технических индикаторов нам поможет индекс относительной силы (RSI). Также разберем работу с анализом баров и напишем скрипты для разметки фракталов на истории.
Доступ к элементам структуры
- MetaQuotes Language 4 основан на концепции широко распространенного языка программирования С++.
- Заодно вспомнили и закрепили основные сведения о самих массивах и циклах, изучили особенности их реализации в языке MQL4, разобрали типичные примеры и приёмы программирования массивов и циклов.
- Пустые функции не требуют оператора возврата в теле функции.
- Например, PERIOD_H1 является константой для таймфрейма графика H1, OP_BUY относится к рыночному ордеру на покупку, а Red — это цветовая константа для красного цвета.
- Шаблоны используются для создания новых файлов с помощью MetaEditor.
Заодно вспомнили и закрепили основные сведения о самих массивах и циклах, изучили особенности их реализации в языке MQL4, разобрали типичные примеры и приёмы программирования массивов и циклов. У данной функции есть третий необязательный параметр reserve_size. Например, первый вызов функции в виде ArrayResize(Array, 10, 1000) увеличит размер массива до 10 элементов, но физически память под массив будет выделена, как если бы он содержал 1010 элементов. Теперь при увеличении или уменьшении размера массива в пределах 1010 элементов физического распределения памяти не будет.
Функции советника
Просмотрев видеокурс, Вы научитесь самостоятельно создавать практически любой советник, скрипт или индикатор, за который раньше приходилось платить. Глобальная переменная — это переменная, которая доступна любой функции в программе. Пока программа работает, глобальная переменная и ее значение остаются в памяти, и на них можно ссылаться. Библиотеки похожи на включаемые файлы, но вместо включения исходного кода в наш проект, мы выполним другой файл и вызовем функцию из него. Файл stdlib.mqh в нашем примере на странице 19 является стандартным включаемым файлом, который поставляется с MetaTrader.
MQL4: Пишем советник по индикатору открытых позиций трейдеров
При наличии сильного устойчивого тренда допустимо использовать и более агрессивную методику, когда объем каждой новой позиции будет больше предыдущего. В этом случае важно вовремя зафиксировать прибыль, иначе если последняя позиция закроется по Stop Loss, образовавшийся убыток может перекрыть всю накопленную до этого прибыль. Наиболее консервативным и самым распространённым способом наращивания совокупного объёма является открытие каждой новой позиции фиксированным лотом. Сегодняшний урок по MQL4 мы посвятим созданию торгового эксперта, в котором реализуем построение пирамиды отложенных ордеров и последующее её сопровождение. Давайте сначала разберёмся, что представляет собой стратегия «Пирамидинг», насколько она эффективна и какие подводные камни таит в себе. А затем перейдем к написанию советника с пирамидингом в основе.
За последние годы рынок форекс стал одним из самых популярных финансовых рынков для торговли. Из-за круглосуточной работы, высокого кредитного плеча и низкого уровня маржи тысячи простых людей стали активными трейдерами. MetaTrader 4 (MT4) — это одна из самых популярных торговых платформ для торговли на форекс. MetaTrader, разработанный MetaQuotes Software Corporation, предлагается сотнями форекс-брокеров по всему миру, в том числе такими громкими именами, как GAIN Capital, FXCM, Alpari и Interbank FX. Основным достоинством прикладных программ является возможность совершать торговые операции в соответствии с алгоритмом, заданным трейдером по своему усмотрению. Не так давно на сайте появился индикатор открытых позиций трейдеров.
Мы также детально рассмотрим примеры программ и параметры информационной среды клиентского терминала, доступные программе во время её исполнения. Как и переменные, объявления функций имеют тип данных и идентификатор. Функции используют такие же типы данных, что и переменные. Тип данных зависит от типа данных, которые возвращает функция. Поскольку эта функция возвращает дробное число, мы используем тип данных double. В ходе данного занятия мы познакомились со структурным типом данных и его реализацией на языке MQL4.
Функции
Существует специальный тип данных для функций, которые не возвращают значение. Тип данных void используется для функций, которые выполняют определенную задачу, но не должны возвращать никакое значение. Пустые функции не требуют оператора возврата в теле функции. Одна из самых полезных функций редактирования — Помощник. Просто введите первые несколько символов функции MQL, оператора или другого элемента языка, и появится раскрывающийся список.
Содержимое поля «Автор» будет отображаться рядом с именем советника в тестере стратегий и в виде всплывающей подсказки при наведении указателя мыши на имя советника в окне навигатора. Поле «Ссылка» — это URL-адрес вашего веб-сайта, но он не появится нигде за пределами файла исходного кода. Статические переменные остаются в памяти даже после выхода из функции.
Например, написание кода чего-то такого простого, как трейлинг-стоп, может быть пугающим для начинающего MQL-программиста. В нашем советнике пирамида будет строиться в виде сетки отложенных ордеров, которая представляет собой установленные на определённом расстоянии друг от друга ордера Buy Stop или Sell Stop. Отложенные ордера такого типа активируются в направлении движения цены, а значит, именно они подходят для трендовой торговли. В данной секции устанавливаются параметры ордеров и всей сетки в целом. В приведённом примере мы передаём инициализированную переменную-структуру P и смещения координат по горизонтали и вертикали в функцию MovePoint(). В результате функция изменила оба элемента структуры, что можно увидеть, распечатав в журнал эти значения до и после вызова функции.