Для удобства разработки программ в MetaEditor предусмотрены различные средства, от автоподстановок названий и подсказок к функциям до закладок и горячих клавиш. Эти средства позволяют ускорить процесс написания кода, удобно перемещаться по нему и предотвратить появление ошибок.
В данном разделе описаны следующие функции:
Любые изменения кода можно откатить, выполнив команду " Отменить" в меню "Правка" или на панели инструментов "Стандартная", либо нажав горячие клавиши "Ctrl+Z". |
Когда вы пишете код программы, MetaEditor автоматически предлагает возможные варианты подстановки для встроенных и пользовательских функций, констант, переменных, членов классов, ключевых слов и т.д. Это ускоряет написание кода. Например, как только вы введете первые буквы названия функции, сразу открывается список функций с подходящими названиями. Выберите стрелками на клавиатуре подходящий вариант и нажмите "Enter":
Если список вариантов слишком большой, наберите еще несколько букв названия функции. Для вызова списка вручную нажмите " Список имен" в меню "Правка" или "Ctrl+Space" после ввода первых символов названия.
Посмотреть сигнатуру функции можно прямо при написании кода, не открывая справочник по языку. Для этого установите курсор после открывающей скобки, с которой начинается описание параметров функции, а затем нажмите " Информация о параметрах" в меню "Правка" или "Ctrl+Shift+Space". Информация о параметрах и типе возвращаемого значения функции будет показана в виде всплывающей подсказки:
На изображении выше для функции показывается следующая информация:
Этот инструмент позволяет быстро перемещаться к определению (реализации) выбранного типа или элемента класса. Установите курсор на его имя и нажмите " Перейти к определению" в контекстном меню или "Alt+G". Если определение находится в другом файле, то он будет открыт, а курсор будет установлен в соответствующую его позицию.
Также функция позволяет переходить к включаемым файлам. Для этого установите курсор в любом месте строки, где он объявлен (директива #include), и выполните вышеуказанную команду.
Этот инструмент позволяет быстро перемещаться к объявлению переменной или члена класса. Установите курсор на имя элемента и нажмите "Перейти к объявлению" в контекстном меню. Если объявление находится в другом файле, то он будет открыт, а курсор будет установлен в соответствующую его позицию.
Этот инструмент позволяет посмотреть список всех объявленных функций в текущем файле. Чтобы открыть список, нажмите " Список функций" в меню "Правка" или "Alt+M".
В скобках справа от названия функции указываются ее параметры. Чтобы перейти к функции, нажмите на ее имя в списке. Каждый тип функций в списке помечен своей иконкой:
Для облегчения работы с комментариями в коде программы в меню "Правка" и на панели инструментов "Стандартная" доступен ряд функций:
Команда " Блочный комментарий" (Ctrl+/) вставляет в текущей позиции курсора символы однострочного комментария:
//--- |
Команда " Заголовок функции" (Ctrl+.) вставляет в текущей позиции курсора заготовку для комментария к функции:
//+------------------------------------------------------------------+
|
Вы можете легко перемещать фрагменты кода из одной части программы в другую. Для этого выделите фрагмент, а затем перетащите его в нужную позицию (Drag'n'Drop").
В подменю "Дополнительно" меню "Правка" доступен ряд команд, упрощающих редактирование исходного кода:
Закладки предназначены для быстрого перехода к различным частям кода. Пометьте закладками нужные строки, а затем перемещайтесь между ними при помощи команд меню "Правка — Закладки" и контекстного меню исходного кода:
В MetaEditor также предусмотрены именованные закладки — закладки, которым присвоен цифровой идентификатор. Чтобы установить такую закладку, нажмите клавишу с цифрой от 0 до 9, удерживая клавишу Ctrl. Чтобы перейти к ранее установленной закладке, нажмите соответствующую цифру, удерживая клавишу Alt.
Для быстрого перехода к любой строке кода в текущем файле нажмите " Перейти к строке" в меню "Поиск" или "Ctrl+G". Будет открыто следующее окно:
В окне указывается диапазон строк с кодом в текущем файле. Для перехода к строке введите ее номер и нажмите "ОК".
Сниппеты — это небольшие шаблонные фрагменты исходного кода, описывающие ту или иную конструкцию языка MQL4/MQL5. Они облегчают и ускоряют написание исходного кода. Например, при помощи них в код программы можно быстро добавить заготовку для описания класса или цикла. Для этого достаточно ввести ключевое слово — class или for. После этого курсор изменится на , означающий возможность вставки сниппета. Нажмите "Tab", и в код программы будет вставлена заготовка для класса или цикла for, соответственно.
Для перехода между активными полями сниппета (в данном случае, это имя, конструктор и деструктор класса) используйте клавиши "Tab" и "Shift+Tab".
Изменение одного активного поля автоматически изменяет и остальные. Например, при изменении имени класса автоматически изменяются имена конструктора и деструктора; при изменении имени переменной в одном из выражений цикла "for" изменяются переменные и в остальных его выражениях.
Система работы со сниппетами также распознает уже описанные структуры, классы, перечисления, методы и функции. Установите курсор в пределах описания соответствующей конструкции и нажмите "Ctrl+Enter". После этого вы сможете перемещаться между членами (для классов, структур и перечислений) и аргументами (для методов и функций) при помощи клавиш "Tab" и "Shift+Tab", а также редактировать их совместно, как это описано выше.
В данный момент поддерживаются следующие сниппеты:
Ключевое слово |
Значение |
---|---|
#import |
Объявление импорта. |
OnBookEvent |
Обработчик OnBookEvent. |
OnCalculate |
Обработчик OnCalculate. |
case |
Селектор case. |
OnChartEvent |
Обработчик OnChartEvent. |
class |
Объявления класса. |
OnDeinit |
Обработчик OnDeinit. |
do |
Объявление цикла do while. |
enum |
Объявление перечисления. |
for |
Объявление цикла for. |
if |
Объявление условия if. |
else |
Объявление условия else. |
OnInit |
Обработчик OnInit. |
OnStart |
Обработчик OnStart. |
struct |
Объявление структуры. |
switch |
Селектор switch. |
OnTester |
Обработчик OnTester. |
OnTesterInit |
Обработчик OnTesterInit. |
OnTesterPass |
Обработчик OnTesterPass. |
OnTesterDeinit |
Обработчик OnTesterDeinit. |
OnTick |
Обработчик OnTick. |
OnTimer |
Обработчик OnTimer. |
OnTrade |
Обработчик OnTrade. |
OnTradeTransation |
Обработчик OnTradeTransation |
while |
Объявление цикла while. |
Для облегчения разработки приложений в меню "Правка — Вставить" доступен ряд команд для быстрой вставки файлов ресурсов.
Вставляет в текущую позицию программы директиву #property и сразу открывает список всех доступных в языке свойств программы.
Чтобы добавить изображение или звуковой файл в ресурсы программы, достаточно выполнить эту команду и выбрать BMP или WAV-файл (должен находиться в пределах каталога \MQL5). В текущую позицию программы будет добавлена директива #resource с правильно указанным путем к выбранному файлу.
#resource "\\Images\\image.bmp" |
Чтобы импортировать функции из внешней DLL-библиотеки или EX5/EX4-файла, достаточно выполнить эту команду и выбрать файл (должен находиться в пределах каталога \MQL5). В текущую позицию программы будет добавлена пара директив #import с правильно указанным путем к выбранному файлу.
#import "..\Experts\SendNotification.ex5"
|
Между директивами добавьте описание импортируемых функций.
Чтобы добавить включаемый файл в код программы, выполните эту команду, а затем выберите MQH-файл (должен находиться в пределах каталога \MQL5). В текущую позицию программы будет добавлена директива #include с правильно указанным путем к выбранному файлу.
#include <Arrays\Array.mqh> |
Чтобы добавить набор параметров для тестирования советника в код программы, выполните эту команду, а затем выберите SET-файл (должен находиться в пределах каталога \MQL5). В текущую позицию программы будет добавлена директива #property с правильно указанным путем к выбранному файлу.
#property tester_set "\\Profiles\\Tester\\Moving Average.set" |
Эта команда позволяет легко вставлять дату и время в код в нужном формате. При ее нажатии появляется интерактивный календарь. Выберите в нем дату и время и оно будет вставлено в текущую позицию программы в выбранном формате.
Эта команда позволяет легко вставлять цвет в код в нужном формате. При ее нажатии появляется интерактивная палитра. Выберите в ней цвет и он будет вставлено в текущую позицию в формате clrColor, используемом в функциях MQL5.
Эта команда позволяет включить в текст программы любой файл в виде бинарного массива. Выполните ее и выберите нужный файл (должен находиться в пределах каталога \MQL5). В текущую позицию программы будет добавлен char-массив.
Используя эту функцию, можно, например, переносить шаблоны графиков вместе с экспертами/индикаторами: включите свой шаблон в код программы в виде массива, затем при помощи функции FileSave сохраните его на диск. После этого шаблон можно применить к графику при помощи функции ChartApplyTemplate.
//+------------------------------------------------------------------+
|
Чтобы добавить данные из текстового файла в код программы, выполните эту команду, а затем выберите TXT или CSV-файл (должен находиться в пределах каталога \MQL5). В текущую позицию программы будет добавлен string-массив нужной размерности с данными из файла:
string data[][3]=
|
MetaEditor позволяет легко преобразовывать формат исходных данных. Для этого откройте нужный файл, выделите в нем текст и выполните одну из команд в меню "Правка — Преобразовать":
Функция слежения за буфером позволяет повысить удобство работы с исходным кодом за счет быстрого доступа к последним использованным данным. Нажмите Alt+V в любой позиции исходного кода, выберите в меню любую из ранее скопированных строк, и она будет вставлена по месту.
Для включения/отключения слежения воспользуйтесь соответствующей командой на панели инструментов или настройками редактора.