Господа, всех приветствую. Продолжаем цикл изучения языка mql4.
В прошлом посте мы познакомились со средой разработки MetaEditor, в которой и происходит процесс набора кода программ для терминала MetaTrader. Теперь неплохо было бы разобраться с тем, какого рода программы и вспомогательные файлы можно написать на языке mql4.
В этом нам поможет «Мастер MQL4». Чтобы его запустить, достаточно в MetaEditor’e в меню «Файл» выбрать команду «Создать», либо нажать на соответствующую кнопку на панели инструментов, которая находится прямо под главным меню, либо зажать комбинацию горячих клавиш Ctrl + N. Любое из перечисленных действий запустит «Мастер MQL4». Он хорош не только тем, что помогает создать заготовку будущей программы, но он ещё и размещает её в правильном каталоге для выбранного типа программы или файла.
После этого перед нами предстанет выбор из 6 возможных вариантов:
Про каждый вариант из этого перечня и хотелось бы рассказать в данном посте. Для начала, предлагаю условно поделить эти варианты на 2 категории: программы и вспомогательные файлы. А разница между категориями будет следующая:
Программы могут быть запущены на графике цены выбранного торгового инструмента и выполнять какие-либо действия, в зависимости от типа программы.
Вспомогательные файлы не могут быть запущены на графике цены какого-либо торгового инструмента, но могут быть подключены к программам, чтобы те могли использовать программный код, содержащийся во вспомогательных файлах.
К программам отнесём: советник, индикатор, скрипт.
К вспомогательным файлам: включаемый файл, библиотеку функций, новый класс.
А теперь про каждый вариант подробнее.
Советник – это программа довольно широкого назначения, которая может проводить анализ ценовых данных, искать паттерны, производить какие-либо построения на графике, собирать информацию от технических индикаторов и проверять необходимые условия для поиска сигнала на открытие позиции. После чего советник может открыть и вести сделку (нарастить или сократить объём, обеспечить трейлинг стоп, проверять условия на закрытие и закрыть сделку по рынку, когда соответствующее условие выполнится), если это предусмотрено. Либо сразу установить необходимые тейк и стоп, и ждать когда какой-то из ордеров сработает. Таким образом, советник способен либо выполнять вспомогательные функции, либо полностью автоматизировать торговлю, начиная от поиска сигналов и заканчивая реакцией на них в виде совершения, ведения и закрытия сделок. Таких советников, полностью автоматизирующих процесс трейдинга, ещё называют торговыми роботами.
Пользовательский индикатор – это программа, позволяющая собирать ценовые данные, пропускать их через формулу расчёта индикатора и получать некоторый массив значений, которые затем выводятся на графике цены или в отдельном окне в виде одной или нескольких цветных линий, а иногда и не линий (фракталы, например). В общем-то, это то же самое, что и технические индикаторы, только формулу расчёта пользовательского индикатора и его предназначение Вы придумываете сами.
Скрипт – программа, которая запускается на графике и выполняет любые действия как торговые, так и не торговые, после чего сразу же выгружается с графика. То есть скрип может выполнять те же действия, что и советник, только вот он на графике не задерживается. Если советник после запуска висит на графике и ждёт каждое новое изменение цены, чтобы выполнить свой алгоритм, то скрипт запускается вручную, выполняет всё, что предусмотрено алгоритмом и сразу же выгружается с графика. Поэтому нет никакого смысла вешать на скрипт задачи по поиску сигнала. Он не будет висеть на графике постоянно, чтобы эти условия проверять. Скрипт нужен для того, чтобы выполнить быстро какое-нибудь одно или несколько действий сразу. Например, открыть сеть из 20 отложенных ордеров с некоторой дистанцией друг от друга и от текущей цены. Вручную это делать долго и муторно, скрипт это сделает очень быстро, практически в один клик. Ну ладно ещё открыть, бывает нужно быстро закрыть все сделки, или только соответствующие определённому критерию (покупки, продажи, в прибыли, в убытке и т.д). Скрипт позволяет выполнить такие операции максимально быстро, чтобы цена не успела далеко уйти от текущих значений.
Библиотека функций – это файл, в котором можно хранить все свои написанные функции, которые могут быть применены во многих разработках. В качестве подобных, универсальных функций можно привести следующие: функцию учёта ордеров, функцию трейлинг стоп, функцию расчёта объёма сделки и т.д. То есть то, что можно использовать многократно в нескольких или даже во всех своих советниках. Чтобы не писать каждый раз с нуля одно и то же, функцию можно сохранить в библиотеке и пользоваться при необходимости.
Включаемый файл – файл в который можно вынести любой программный код и подключить его к любой программе (советник, индикатор, скрипт). Во включаемые файлы обычно выносят функции. Если у Вас много включаемых файлов в каждом из которых какая-нибудь из регулярно используемых функций, Вы можете их все подключить к советнику и собирать его код буквально как конструктор из готовых блоков. Крайне удобная штука.
Класс – это, если очень коротко, — сложный тип данных. Учитывая, что мы ещё даже простые не изучали, в подробности вдаваться не буду.
На сегодня всё. Кому лень было читать, надеюсь, посмотрели видео. Спасибо за внимание.
Ведь ясно, что мт4 просто «доживает». Полтора года без обнов.
А насчёт «без обнов полтора года», посмотрите билд своего терминала и дату последнего обновления, актуальный билд 1126 от 20 июня сего года.
последнее обновление — билд 1090 от 19 мая 2017 года.
Ваше обновление с демо-сервера метаквотов для тех, кто согласен считать себя подопытными кроликами. Это не для реальных счетов и говорить об этом здесь… ну… не стоило бы.
Даже в релизах часто бывают серьезные баги, а это…