В последние годы валютный рынок быстро стал одним из самых популярных рынков для торговли. Из-за круглосуточной работы, высокого кредитного плеча и низкого уровня маржи тысячи простых людей смогли стать активными трейдерами. Сегодня мы напишем довольно простой советник, который поможет нам с исследованиями рынка.
- Обычно после головной части следует описание специальных функций.
- Легко увидеть, что структура программы userfunction.mq4
составлена в соответствии с обычным порядком
расположения функциональных блоков.
- Да и желание заставить компьютер зарабатывать для вас деньги, при помощи советников форекс, никто не отменял.
- Обычный порядок расположения функциональных блоков в программе (рекомендуется).
- Тема необычная, сильно расширит ваши навыки как программиста.
Потому что, любая автоматизация – это непосредственно работа самого компьютера, который работает исключительно по прописанным заранее алгоритмам. Чтобы убедиться в том, что у вас не возникнет проблем с прохождением курса, данный учебник MQL4 Нурудин Амеду начнёт с рассказа про основные концепты языка, вроде типов данных, циклов и других компонентов кода. Затем, вы перейдёте к созданию роботов для трейдинга, добавлению различного функционала и применению фильтров для их изменения в соответствии с вашими потребностями. Эти статьи будут полезны как новичкам в автоматическом трейдинге, так и подготовленным трейдерам с опытом программирования и торговли. Библиотеки похожи на включаемые файлы, но вместо включения исходного кода в наш проект, мы выполним другой файл и вызовем функцию из него.
MQL4: Управление компьютером из советника
Одни
пользовательские функции могут вызывать для исполнения другие пользовательские
функции – такой порядок вызова пользовательских функций является позволительным
и широко используется в практике программирования. Кроме того, на MQL5 можно создавать собственные технические индикаторы, скрипты и библиотеки функций. Процесс многократного вызова на исполнение специальной функции start() клиентским терминалом будет продолжаться до тех пор, пока программа прикреплена к окну финансового инструмента, и может продолжаться недели и месяцы.
Окно навигатора предлагает полезные функции просмотра файлов и справочные функции. Советник позволяет MetaTrader постоянно отслеживать значения цены и показания индикаторов, выполняя при этом определенные запрограммированные действия. Исходные файлы индикаторов имеют расширение MQ4, в то время как скомпилированные исполняемые версии для MetaTrader 4 имеют расширение EX4. Популярность MetaTrader обусловлена тем, что он бесплатный, постоянно поддерживается и включает в себя множество полезных инструментов технического анализа. Но, вероятно, главной причиной успеха MetaTrader является мощный язык программирования MQL.
Программа на MQL4
Благодаря расширению числа встроенных основных типов, взаимодействие исполняемых программ на MQL4 с другими приложениями посредством dll максимально облегчено. Синтаксис языка MQL4 подобен синтаксису С++, и это позволяет легко переносить на него программы из современных языков программирования. Вы можете создавать индикаторы, скрипты, библиотеки и включать файлы с помощью мастера. Полученный файл будет сохранен в соответствующем каталоге, в зависимости от его типа. Функции являются строительными блоками современных языков программирования.
Результатом выполнения этой части кода (обращение к пользовательской функции) будет
передача управления в тело (описание) пользовательской функции с последующим возвратом
управления в место вызова. В представленном учебнике будет рассказано, из чего состоит программа, каковы основные правила составления и использования программ. Мы также детально рассмотрим примеры программ и параметры информационной среды клиентского терминала, доступные программе во время её исполнения.
Подробные пошаговые уроки по MQL4
Новый компилятор позволяет обнаружить реальные или потенциальные источники ошибок и повысить качество кода. Самые разнообразные статьи с примерами по созданию индикаторов и торговых роботов для платформы MetaTrader на языке MQL5 ждут вас. К каждой статье приложены исходные коды, которые вы можете открыть в редакторе https://lahore-airport.com/chto-takoe-mql4/ MetaEditor и запустить самостоятельно. Глобальная переменная — это переменная, которая доступна любой функции в программе. Пока программа работает, глобальная переменная и ее значение остаются в памяти, и на них можно ссылаться. В этом примере библиотечный файл, из которого мы импортируем функцию, — это library.ex4.
- В состав этой системы входит также сервер, устанавливаемый в дилинговом
центре.
- С помощью
этой панели трейдер может открывать, закрывать и модифицировать ордера.
- Расположение не имеет значения, если как глобальные, так и внешние переменные находятся вне и перед любыми функциями.
- Пока программа работает, значение глобальной переменной сохраняется.
Популярность MetaTrader обусловлена тем, что эта торговая платформа полностью бесплатная и включает в себя множество полезных инструментов технического анализа. Наверняка многим не очень нравится пользоваться стандартным metaeditor для программирования ваших советников, скриптов и индикаторов. Сегодня мы поговорим о том, как увеличить производительность и удобство при программировании. Допустим, что, действительно, цена больше чем MA — мы должны купить, но, прежде чем открыть какой-либо новый ордер, мы должны посмотреть, есть ли у нас какие-либо старые Sell ордера и если есть, то закрыть их по условиям. В нашем случае условия открытия — Buy, значит перед открытием Buy ордера, мы должны закрыть все Sell ордера. А с другой стороны, так как мы хотим автоматизировать те или иные процессы в трейдинге, то нам в любом случае, необходимо продумать свой алгоритм на языке MQL4.
Последовательность исполнения кода в программе
Мы записали значение нашей скользящей средней в значение переменной MA. После чего, мы сравниваем значение цены BID со значением скользящей средней MA. Если значение цены стало больше, чем значение средней скользящей, тогда по условиям задачи мы должны купить — условие «Да». Все вычислительные операции в советниках или скриптах MQL необходимо делать в функции start. Функция start() содержит основной программный код и требуется в вашем советнике. Каждый раз, когда запускается функция запуска, ваши торговые условия проверяются, а ордера размещаются или закрываются в зависимости от того, как эти условия оцениваются.
MQL позволил трейдерам программировать собственные пользовательские индикаторы и стратегии автоматической торговли, не платя ни копейки за программное обеспечение. Подобные торговые пакеты для акций и фьючерсов могут стоить более 1000 долларов. Появилось всемирное сообщество трейдеров и программистов, которые предлагают сотни бесплатных и коммерческих советников и индикаторов, а также услуги и советы по программированию. Мы рассмотрим отличия серьёзные и не очень между МТ4 (язык программирования MQL4) и МТ5 (язык программирования MQL5) как в общем, так и непосредственно в программировании на этих языках.
Технически внешние переменные также являются глобальными, но глобальные переменные, которые мы обсуждаем в этом разделе, являются внутренними. Это означает, что они не могут быть просмотрены или изменены пользователем. Мы указываем внешнюю переменную, добавляя extern перед переменной.