Теперь включать ресурсы в свои программы на MQL5 еще проще, для этого в редакторе MetaEditor 5 добавлена специальная штатная команда "Вставить ресурс" :
Вставка ресурсов
Для облегчения использования файлов ресурсов в разрабатываемых приложениях в меню "Сервис" предусмотрена команда " Вставить ресурсы". Данная команда позволяет вставить в текущий файл объявление файлов ресурсов, выбранных из указанной папки, при помощи директивы #resource.
После выполнения данной команды появляется стандартное диалоговое окно операционной системы, в котором необходимо выбрать один или несколько файлов ресурсов, которые должны быть объявлены в файле.
|
После этого в начало текущего файла будут добавлены соответствующие директивы вида:
#resource "\Images\example.bmp" |
Путь к файлам ресурсов может быть указан двумя способами:
- Относительно текущего файла (без символа "\" в начале пути)
Данный способ используется, если файлы ресурсов расположены в той же папке, что и текущий файл, или в одной из ее подпапок. - Относительно каталога /MQL5 клиентского терминала (в начале пути указывается символ "\")
Данный способ используется во всех остальных случаях.
Теперь включать ресурсы в ваши MQL5-программы стало еще проще. Для этого в MetaEditor 5 появилась специальная команда Insert Resources.
Resources Inserting
Для облегчения использования ресурсных файлов в разрабатываемых приложениях в меню "Инструменты" реализована команда " Insert Resources". Эта команда позволяет объявить файлы ресурсов из выбранной папки в текущем файле с помощью директивы #resource.
После выполнения этой команды появляется стандартное диалоговое окно вашей операционной системы. В нем необходимо выбрать один или несколько файлов ресурсов, которые будут объявлены в файле.
|
После выполнения указанных действий в начало файла будут добавлены соответствующие директивы. Например:
#resource "\Images\example.bmp" |
Путь к файлам ресурсов может быть указан двумя способами:
- Относительно текущего файла (без символа "\" в начале пути)
Этот способ используется в том случае, если файлы ресурсов находятся в той же директории, что и текущий файл, или в одной из его подпапок. - Относительно каталога /MQL5 клиентского терминала (в начале пути указан символ "\")
Этот способ используется во всех остальных случаях.
MetaTrader 5 Client Terminal build 730
MQL5: Added support for storing indicators in EX5 resources.
#resource "Examples\Fractals.ex5"
Не мог бы кто-нибудь привести пример использования индикатора.
Когда в качестве ресурса в основной файл можно будет вставлять файлы индикаторов, вызываемые в основном файле через iCustom()? В папках терминала накопилось столько мусора, что уже даже не понятно что и к чему относится. Это небезопасно. Хочется научиться собирать один проект в один ex5 файл.
Это было добавлено в 730 билде еще 24 ноября 2012:
- MQL5: Добавлена поддержка хранения индикаторов в ресурсах EX5. При этом индикаторы в ресурсах не смогут работать со своими собственными ресурсами.
Вот простой пример. Сначала скомпилируйте стандарный индикатор CHO по указанному пути, затем этого эксперта, а потом бросьте его на чарт.
#resource "\\Indicators\\Examples\\CHO.EX5" //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- int handle=iCustom(Symbol(),Period(),"::Indicators\\Examples\\CHO.EX5"); if(handle!=INVALID_HANDLE) { Print("Indicator created!"); IndicatorRelease(handle); } //--- return(0); } void OnDeinit(const int reason) { } void OnTick() { }
Обратите внимание на правильный выбор путей, модификатор области :: и правильное употребление слешей.
Мы специально сделали возможность упаковывать индикаторы в ресурсы, чтобы можно было делать самодостаточные и полноценные продукты.
Это было добавлено в 730 билде еще 24 ноября 2012:
- MQL5: Добавлена поддержка хранения индикаторов в ресурсах EX5. При этом индикаторы в ресурсах не смогут работать со своими собственными ресурсами.
...
Спасибо. Это то, что нужно.
Не мог бы кто-нибудь привести пример использования индикатора.
Пример: https://www.mql5.com/ru/forum/3409#comment_408123
#resource "\\Indicators\\Examples\\CHO.EX5" //+------------------------------------------------------------------+ //| Функция инициализации эксперта| //+------------------------------------------------------------------+ int OnInit() { //--- int handle=iCustom(Symbol(),Period(),"::Indicators\\Examples\\CHO.EX5"); if(handle!=INVALID_HANDLE) { Print("Indicator created!"); IndicatorRelease(handle); } //--- return(0); } void OnDeinit(const int reason) { } void OnTick() { }
- www.mql5.com
можно ли включать ресурсы в продукты ex4 (mt4)? Или эта функция "ресурсы" - исключительно функция ex5 (mt5)?

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Использование ресурсов в MQL5:
Программы на MQL5 позволяют не только автоматизировать рутинные вычисления, но и создавать полноценную графическую оболочку. Возможности по созданию по-настоящему интерактивных элементов управления стали практически такими же широкими, как и в классических языках программирования. Если вы хотите писать полноценные самостоятельные программы на MQL5, используйте в них ресурсы. Такие программы легче поддерживать и распространять.
Автор: MetaQuotes