Файловая система
Клиентский терминал различает виды программ по месту их расположения в подчинённых директориях.
Все прикладные программы сосредоточены в директории Каталог_терминалаexperts. Эксперты, скрипты и пользовательские индикаторы, которые трейдер предполагает использовать в практической работе, должны находиться в своих директориях (см. рис. 24). Эксперты находятся непосредственно в каталоге Каталог_терминалаexperts, а скрипты и индикаторы — в поддиректориях Каталог_терминалаexpertsscripts и Каталог_терминалаexpertsindicators.
Рис. 24. Директории для хранения файлов, созданных пользователем.
Пользователь может по своему усмотрению создавать и другие директории и хранить в них некоторые свои файлы, однако использование готовых программ, находящихся в таких директориях, в клиентском терминале не предусмотрено.
Типы файлов
В языке MQL4 различают 3 типа файлов, несущих программный код: mq4, ex4 и mqh.
Файлы типа mq4 — это исходный код программы. В файлах этого типа содержатся исходные тексты программ всех видов (экспертов, скриптов и индикаторов). Для создания кодов программ используется редактор MetaEditor. После того как код программы составлен полностью или частично, его можно сохранить, а впоследствии — снова открыть в редакторе для доработки.
Компилляция программы MQL4
Файлы типа mq4 не могут быть использованы для исполнения в клиентском терминале. Для того чтобы запустить программу на выполнение, её необходимо предварительно скомпилировать. В результате компиляции исходного кода программы создаётся одноимённый файл с расширением ех4.
Файлы типа ех4 — это скомпилированная программа, готовая для практического использования в клиентском терминале. Для файлов этого типа возможность редактирования не предусмотрена. Если требуется внести изменения в программу, то необходимо обратиться к её исходному коду (файлу типа mq4), отредактировать его, а затем снова скомпилировать. По названию файла ех4 нельзя судить о том, к какому виду программ он относится — является ли он скриптом, экспертом или индикатором. Файлы ex4 могут использоваться как библиотечные.
Файлы типа mqh — включаемые файлы. Это — исходный текст часто используемых блоков пользовательских программ. Такие файлы могут включаться в исходные тексты экспертов, скриптов и пользовательских индикаторов на этапе компиляции. Обычно включаемые файлы содержат описания импортируемых функций (смотрите в качестве примера файлы stdlib. mqh или WinUser32.mqh), либо описания общих констант и переменных (stderror.mqh и WinUser32.mqh). Файлы типа mqh, как правило, хранятся в директории Каталог_терминалаexpertsinclude.
Включаемые файлы называются так потому, что обычно их «подключают» на этапе компиляции к основному исходному файлу при помощи директивы #include. Несмотря на то что файлы типа mqh могут содержать исходный код программы и MetaEditor их компилирует, они не являются самостоятельными и самодостаточными, т.е. не требуют компиляции с целью получения исполняемых файлов типа ех4. В качестве включаемых файлов могут также использоваться файлы mq4, которые также должны храниться в каталоге Каталог_терминалаexpertsinclude .
В навигаторе клиентского терминала в разделах «Советники», «Пользовательские индикаторы» и «Скрипты» высвечиваются только те имена файлов, которые имеют расширения ex4 и при этом находятся в соответствующем каталоге. Файлы, скомпилированные в более старой версии MetaEditor, не запускаются и отображаются серым цветом.
Существуют и другие виды файлов, не образующие законченную программу, но используемые при создании прикладных программ. Например, программу можно составить из нескольких отдельных файлов или использовать для этой цели ранее созданную библиотеку.
Пользователь может создавать библиотеки пользовательских функций, предназначенных для хранения часто используемых блоков пользовательских программ. Библиотеки рекомендуется хранить в директории Каталог_терминалаexpertslibraries. В качестве библиотечных могут быть использованы файлы mq4 и ex4. Библиотеки не могут самостоятельно запускаться на выполнение. Использование включаемых файлов более предпочтительно, чем использование библиотек, из-за дополнительных расходов компьютерных ресурсов при вызове библиотечных функций.
В первой части учебника «Введение в программирование на языке MQL4» нас будут интересовать файлы исходных текстов программ mq4 и скомпилированные файлы программ ех4.
Источник: book.mql4.com
MQL4: основы языка, типы программ и примеры использования
Что такое MQL4? MQL4 означает MetaQuotes Language. Это язык программирования, включенный в торговый терминал MetaTrader 4. Язык программирования — это язык, на котором разработчик пишет программу. Программа в свою очередь позволяет компьютеру выполнять определенную последовательность действий.
MQL4 был выпущен вместе с первой версией MetaTrader 4 в 2005 году. За прошедшие годы он прошел через множество обновлений. В 2014 году он был полностью переработан и был выпущен 600 билд, важное обновление, в котором было представлено больше возможностей, что привело его почти к такому же уровню, как и MQL5.
MQL4 и MQL5 имеют некоторые важные различия, но сейчас мы сосредоточимся только на MQL4 и MetaTrader 4.
Введение в MQL
В последние годы валютный рынок быстро стал одним из самых популярных рынков для торговли. Из-за круглосуточной работы, высокого кредитного плеча и низкого уровня маржи тысячи простых людей смогли стать активными трейдерами.
MetaTrader 4 стал одной из самых популярных торговых платформ для торговли на форекс и предлагается сотнями брокеров по всему миру.
Популярность MetaTrader обусловлена тем, что он бесплатный, постоянно поддерживается и включает в себя множество полезных инструментов технического анализа. Но, вероятно, главной причиной успеха MetaTrader является мощный язык программирования MQL.
MQL позволил трейдерам программировать собственные пользовательские индикаторы и советники для автоматической торговли, не платя за это ни копейки. Подобные торговые пакеты для акций и фьючерсов могут стоить более 1000 долларов. Появилось всемирное сообщество трейдеров и программистов, предлагающее сотни бесплатных и платных советников и индикаторов, а также услуги и советы по программированию.
Сходство MQL с такими языками, как C, позволяет опытным программистам относительно легко разобраться в его коде, а сам язык хорошо документирован. Однако обучение эффективному программированию торговых стратегий на MQL — это постоянный процесс проб и ошибок.
MQL — это язык относительно низкого уровня, и поэтому программисту необходимо создавать собственные процедуры для обработки многих общих торговых функций. Например, написать трейлинг стоп может быть непросто для начинающего программиста на MQL.
При программировании надежной стратегии необходимо учитывать множество факторов, и сам MetaTrader имеет много особенностей, о которых должен знать программист. Обучение может потребовать десятки часов постоянной практики, чтобы изучить методы, необходимые для программирования советников.
На официальном веб-сайте MQL4 по адресу http://www.mql4.com вы сможете найти подробный справочник по MQL, который всегда будет для вас полезным. Также на этом сайте вы найдете множество информационных статей, в которых рассматриваются базовые и продвинутые концепции программирования на MQL, библиотеку кода с дополнительными индикаторами и примерами, а также форум, где вы можете обратиться за помощью по вопросам программирования.
Расширения файлов MQL4
Файлы MQL4 имеют следующие расширения:
.mq4 — исходный, текстовый формат файла, который содержит инструкции, предназначенные для исполнения. Вы можете открыть его с помощью MetaEditor или любого редактора текстовых файлов. Этот файл должен быть скомпилирован для запуска в MetaTrader.
.ex4 — это скомпилированная версия, реальная программа, которая может быть запущена в MetaTrader. Вы не сможете открыть ее с помощью другой программы, кроме MetaTrader. Если вы купите советника или торгового робота для MetaTrader, скорее всего, они будут с расширением .ex4.
.mqh — это библиотеки, содержащие дополнительные функции, которые вы можете включать и использовать в своих программах. Файлы .mq4 можно открыть с помощью MetaEditor или любого редактора текстовых файлов.
MQL4 использует синтаксис, аналогичный С, C++, C Sharp, Java. Если вы уже знаете некоторые из этих языков, вам не понадобится много времени, чтобы изучить MQL4.
Расположение файлов
Все файлы MetaEditor хранятся в папке MQL4. Папка MQL4 находится в каталоге установки MetaTrader.
Внутри папки MQL есть множество подпапок:
- experts — папка для исходных кодов и исполняемых файлов советников.
- indicators — папка для исходных кодов и исполняемых файлов индикаторов.
- scripts — папка для исходных кодов и исполняемых файлов скриптов.
- include — здесь находятся исходные коды включаемых файлов с расширением .mqh.
- libraries — здесь хранятся библиотеки функций и библиотеки DLL.
- logs — журналы активности. Они будут полезны для отладки ваших советников.
- presets — здесь хранятся настройки советников, которые сохраняются или загружаются из диалога свойств.
- files — файлы, используемые для ввода или вывода.
Что вы сможете делать с помощью MQL4?
MQL4 — чрезвычайно мощный инструмент, который при правильном использовании может значительно расширить ваши торговые возможности. С помощью MQL4 вы можете:
- Выполнять различные математические операции. К примеру, рассчитывать размер позиции с учетом заданного риска.
- Рассчитывать стоп-лосс и тейк-профит.
- Открывать и закрывать ордера.
- Отправлять уведомления в торговый терминал или по электронной почте.
- Создавать файлы отчетов.
- Создавать собственные индикаторы.
- Автоматизировать свою торговлю, чтобы ваш торговый терминал мог торговать без вашего взаимодействия.
Как видите, MQL4 предоставляет вам множество дополнительных возможностей и позволяет автоматизировать вашу торговлю.
Типы программ MQL4
С помощью MQL4 можно создавать различные типы программ, каждая из которых будет отличаться от других. Также стоит отметить, что один тип программы может быть включен в другие типы программ. К примеру, индикатор может использоваться в скрипте или в торговом эксперте.
MQL-программы можно разделить на несколько категорий:
- Включаемые файлы.
- Библиотеки.
- Скрипты.
- Индикаторы.
- Советники.
Разберем каждый тип программ более подробно.
Включаемые файлы
Включаемые файлы — это исходные текстовые файлы, содержащие код, который вы можете использовать в других программах. Включаемые файлы имеют расширение MQH и хранятся в папке Include в каталоге MetaTrader или в той же папке, что и исходные файлы. Включаемые файлы не могут быть запущены сами по себе, они могут быть только включены в другие типы программ.
Предположим, что у вас есть строгие правила управления рисками. Все ваши сделки должны иметь размер позиции, рассчитанный в соответствии с вашими правилами управления капиталом. Вы можете создать особую функцию для расчета размера вашей позиции и сохранить ее во включаемом файле, а затем использовать этот файл в скрипте или советнике. Это позволит вам воспользоваться данной функцией без необходимости повторного написания кода.
Библиотеки
Библиотеки имеют ту же функцию, что и включаемые файлы, но имеют расширение MQ4 и сохраняются в папке Libraries. Они также не могут быть использованы отдельно и должны быть включены в другие типы файлов.
Скрипты
Скрипты — это программы, которые после запуска выполняют определенное действие всего лишь один раз. Исходный файл скриптов имеет расширение MQ4, в то время как скомпилированная исполняемая версия имеет расширение EX4. Скрипты сохраняются в папке Scripts.
Скрипты и советники похожи между собой. Оба они могут выполнять определенные действия, однако между ними есть фундаментальное различие: скрипты выполняют задачу только один раз, а затем прекращают свою работу, в то время как советники могут выполнять определенный алгоритм множество раз.
С помощью скриптов вы сможете:
- Открывать ордера.
- Рассчитывать размер позиции, а также размер стоп-лосса или тейк-профита.
- Создавать отчет и сохранять его в файл.
- Отправлять отчет по электронной почте.
- Немедленно закрывать все открытые ордера.
- Рассчитывать некоторые параметры сделки.
Скрипты могут использовать стандартные и пользовательские индикаторы, а также могут включать в себя различные библиотеки и включаемые файлы. Просто помните, что при запуске они выполняются только один раз.
Индикаторы
Индикаторы представляют собой графическое представление движения цены.
Исходные файлы индикаторов имеют расширение MQ4, в то время как скомпилированные исполняемые версии для MetaTrader 4 имеют расширение EX4. Файлы индикаторов сохраняются в папке Indicators.
В MetaTrader 4 уже есть несколько встроенных индикаторов, но иногда их бывает недостаточно. В интернете вы сможете найти множество других индикаторов, которые могут лучше соответствовать вашему стилю торговли. Также с помощью MQL4 вы можете создать свой собственный индикатор.
Когда вы прикрепляете индикатор к графику, он показывает вам информацию, на отображение которой он был запрограммирован.
Некоторые примеры стандартных индикаторов:
Пользовательские индикаторы могут быть улучшенными версиями существующих или совершенно новыми индикаторами.
Советники (эксперты)
Советники или эксперты, пожалуй, это самый мощный инструмент, который вы можете разработать с помощью MQL4. Они представляют собой программы, которые вы запускаете и которые будут работать, пока вы не остановите их вручную. Советник, как правило, запускаются на каждом тике.
Советник позволяет MetaTrader постоянно отслеживать значения цены и показания индикаторов, выполняя при этом определенные запрограммированные действия.
Исходные файлы экспертов имеют расширение MQ4, в то время как исполняемые скомпилированные версии имеют расширение EX4. Папка, в которой хранятся эти файлы называется Experts.
Чаще всего советники относятся к инструментам, которые используются для автоматизации торговой деятельности. Их также называют роботами. В интернете вы можете найти множество советников как бесплатных, так и платных. Однако всегда будьте осторожны, так как вокруг много мошенников. В качестве альтернативы вы можете создать своего собственного робота.
Вот некоторые примеры действий, которые могут выполнять советники:
- Мониторинг значения цены или показаний индикаторов.
- Открытие или закрытие ордеров при определенных значениях цены или показаний индикаторов.
- Отправка уведомлений на экран торгового терминала или по электронной почте при совпадении некоторых торговых условий.
- Автоматический перенос стоп-лосса (трейлинг-стоп) или тейк-профита.
- Отправка отчетов о совершенных сделках.
- Выполнение определенных действий в запланированное время.
Как вы можете видеть, эксперты могут быть очень полезны, и в следующих статьях мы рассмотрим другие примеры их использования.
Источник: traderblog.net
.mq4 Расширение файла
Вы здесь, потому у вас есть файл, который имеет расширение файла, заканчивающийся в .mq4. Файлы с расширением .mq4 может быть запущен только некоторыми программами. Вполне возможно, что .mq4 являются файлами данных, а не документы или средства массовой информации, что означает, что они не предназначены для просмотра на всех.
что такоеnbspфайл?
Расширение MQ4 файл известен как файл MetaTrader Пользовательские индикаторы которая была разработана принадлежат MetaQuotes Software Corp формате MQ4 файла является исходный код программ писал на языке программирования MQL4. Исходный код означает, что они могут быть открыты для просмотра или редактирования в MetaEditor и имеет важное значение для изменения кода индикатора.
Это может быть Пользовательский индикатор, скрипт или Библиотека файл, написанный на языке MetaQuotes Language, который обычно включает в себя переменные, функции и комментарии. Пользовательский индикатор является техническим индикатором, самостоятельно написанный пользователем в дополнение к уже интегрированным в клиентский терминал.
Как встроенных индикаторов, они не могут быть автоматически торговать и предназначены только для реализации только аналитических функций. Пользовательские индикаторы находятся в рабочем столе и хранятся в terminal_ каталоге экспертов показателей. MetaTrader является торговая платформа он-лайн предназначен для финансовых учреждений, занимающихся Forex, CFD и фьючерсных рынках. Файлы в формате MQ4 может быть открыт с MetaQuotes MetaTrader в platofrms Microsoft Windows.
как открыть .mq4 файл?
Запустите .mq4 файл или любой другой файл на своем компьютере, дважды щелкнув его. Если ваши ассоциации файлов настроены правильно, приложение, которое предназначается, чтобы открыть свой .mq4 файл будет открыть его. Возможно, вы, возможно, потребуется загрузить или приобрести правильное применение.
Кроме того, возможно, что у вас есть правильное применение на вашем компьютере, но .mq4 Файлы еще не связанные с ним. В этом случае, при попытке открыть .mq4 файл, вы можете сказать, Окна, какое приложение является правильным для этого файла. С тех пор, открывая .mq4 файл откроется правильное применение. Нажмите здесь, чтобы исправить ошибки ассоциации .mq4 файлов
приложения, которые открываются .mq4 файл
Источник: www.reviversoft.com
Типы программ и вспомогательных файлов на языке MQL4
Господа, всех приветствую. Продолжаем цикл изучения языка mql4.
В прошлом посте мы познакомились со средой разработки MetaEditor, в которой и происходит процесс набора кода программ для терминала MetaTrader. Теперь неплохо было бы разобраться с тем, какого рода программы и вспомогательные файлы можно написать на языке mql4.
В этом нам поможет «Мастер MQL4». Чтобы его запустить, достаточно в MetaEditor’e в меню «Файл» выбрать команду «Создать», либо нажать на соответствующую кнопку на панели инструментов, которая находится прямо под главным меню, либо зажать комбинацию горячих клавиш Ctrl + N. Любое из перечисленных действий запустит «Мастер MQL4». Он хорош не только тем, что помогает создать заготовку будущей программы, но он ещё и размещает её в правильном каталоге для выбранного типа программы или файла.
После этого перед нами предстанет выбор из 6 возможных вариантов:
- Советник (шаблон)
- Пользовательский индикатор
- Скрипт
- Библиотека
- Включаемый файл (*.mqh)
- Новый класс
Про каждый вариант из этого перечня и хотелось бы рассказать в данном посте. Для начала, предлагаю условно поделить эти варианты на 2 категории: программы и вспомогательные файлы. А разница между категориями будет следующая:
Программы могут быть запущены на графике цены выбранного торгового инструмента и выполнять какие-либо действия, в зависимости от типа программы.
Вспомогательные файлы не могут быть запущены на графике цены какого-либо торгового инструмента, но могут быть подключены к программам, чтобы те могли использовать программный код, содержащийся во вспомогательных файлах.
К программам отнесём: советник, индикатор, скрипт.
К вспомогательным файлам: включаемый файл, библиотеку функций, новый класс.
А теперь про каждый вариант подробнее.
Советник – это программа довольно широкого назначения, которая может проводить анализ ценовых данных, искать паттерны, производить какие-либо построения на графике, собирать информацию от технических индикаторов и проверять необходимые условия для поиска сигнала на открытие позиции. После чего советник может открыть и вести сделку (нарастить или сократить объём, обеспечить трейлинг стоп, проверять условия на закрытие и закрыть сделку по рынку, когда соответствующее условие выполнится), если это предусмотрено. Либо сразу установить необходимые тейк и стоп, и ждать когда какой-то из ордеров сработает. Таким образом, советник способен либо выполнять вспомогательные функции, либо полностью автоматизировать торговлю, начиная от поиска сигналов и заканчивая реакцией на них в виде совершения, ведения и закрытия сделок. Таких советников, полностью автоматизирующих процесс трейдинга, ещё называют торговыми роботами.
Пользовательский индикатор – это программа, позволяющая собирать ценовые данные, пропускать их через формулу расчёта индикатора и получать некоторый массив значений, которые затем выводятся на графике цены или в отдельном окне в виде одной или нескольких цветных линий, а иногда и не линий (фракталы, например). В общем-то, это то же самое, что и технические индикаторы, только формулу расчёта пользовательского индикатора и его предназначение Вы придумываете сами.
Скрипт – программа, которая запускается на графике и выполняет любые действия как торговые, так и не торговые, после чего сразу же выгружается с графика. То есть скрип может выполнять те же действия, что и советник, только вот он на графике не задерживается.
Если советник после запуска висит на графике и ждёт каждое новое изменение цены, чтобы выполнить свой алгоритм, то скрипт запускается вручную, выполняет всё, что предусмотрено алгоритмом и сразу же выгружается с графика. Поэтому нет никакого смысла вешать на скрипт задачи по поиску сигнала. Он не будет висеть на графике постоянно, чтобы эти условия проверять.
Скрипт нужен для того, чтобы выполнить быстро какое-нибудь одно или несколько действий сразу. Например, открыть сеть из 20 отложенных ордеров с некоторой дистанцией друг от друга и от текущей цены. Вручную это делать долго и муторно, скрипт это сделает очень быстро, практически в один клик. Ну ладно ещё открыть, бывает нужно быстро закрыть все сделки, или только соответствующие определённому критерию (покупки, продажи, в прибыли, в убытке и т.д). Скрипт позволяет выполнить такие операции максимально быстро, чтобы цена не успела далеко уйти от текущих значений.
Библиотека функций – это файл, в котором можно хранить все свои написанные функции, которые могут быть применены во многих разработках. В качестве подобных, универсальных функций можно привести следующие: функцию учёта ордеров, функцию трейлинг стоп, функцию расчёта объёма сделки и т.д. То есть то, что можно использовать многократно в нескольких или даже во всех своих советниках. Чтобы не писать каждый раз с нуля одно и то же, функцию можно сохранить в библиотеке и пользоваться при необходимости.
Включаемый файл – файл в который можно вынести любой программный код и подключить его к любой программе (советник, индикатор, скрипт). Во включаемые файлы обычно выносят функции. Если у Вас много включаемых файлов в каждом из которых какая-нибудь из регулярно используемых функций, Вы можете их все подключить к советнику и собирать его код буквально как конструктор из готовых блоков. Крайне удобная штука.
Класс – это, если очень коротко, — сложный тип данных. Учитывая, что мы ещё даже простые не изучали, в подробности вдаваться не буду.
На сегодня всё. Кому лень было читать, надеюсь, посмотрели видео. Спасибо за внимание.
- спецраздел:
- торговые роботы
- обсудить на форуме:
- metatrader4
- Ключевые слова:
- Meta Trader 4,
- metaeditor,
- советник,
- индикатор,
- скрипт,
- программирование роботов,
- алготрейдинг,
- MQL4,
- metatrader4
Источник: smart-lab.ru