|
ChartApplyTemplate
Применяет к графику указанный шаблон.
bool ChartApplyTemplate( |
Параметры
chart_id
[in] Идентификатор графика. 0 означает текущий график.
filename
[in] Имя файла, содержащего шаблон.
Возвращаемое значение
При успешном применении шаблона функция возвращает true, в противном случае возвращает false. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Примечание
Если посредством этой функции из эксперта будет загружен новый шаблон на график, к которому он присоединен, то эксперт будет выгружен и не сможет продолжить работу.
Использование шаблонов
Средствами языка MQL5 можно задавать множество свойств графика, в том числе устанавливать цвета с помощью функции ChartSetInteger() :
·Цвет фона графика;
·Цвет осей, шкалы и строки OHLC;
·Цвет сетки;
·Цвет объемов и уровней открытия позиций;
·Цвет бара вверх, тени и окантовки тела бычьей свечи;
·Цвет бара вниз, тени и окантовки тела медвежьей свечи;
·Цвет линии графика и японских свечей "Доджи";
·Цвет тела бычьей свечи;
·Цвет тела медвежьей свечи;
·Цвет линии Bid-цены;
·Цвет линии Ask-цены;
·Цвет линии цены последней совершенной сделки (Last);
·Цвет уровней стоп-ордеров (Stop Loss и Take Profit).
Кроме того, на графике может быть множество графических объектов и индикаторов. Достаточно один раз настроить внешний вид графика со всеми необходимыми индикаторами и сохранить его в виде шаблона, чтобы в последствии можно было применять этот шаблон к любому графику.
Функция ChartApplyTemplate() предназначена для использования ранее сохраненного шаблона и может использоваться в любой mql5-программе. Вторым параметром функции ChartApplyTemplate() передается путь к имени файла, в котором находится шаблон. Поиск файла шаблона осуществляется по следующим правилам:
·если в начале пути стоит разделитель обратная косая черта "\" (пишется "\\"), то шаблон ищется относительно пути каталог_данных_терминала\MQL5,
·если обратной косой черты нет, то шаблон ищется относительно исполняемого EX5-файла, в котором происходит вызов функции ChartApplyTemplate();
·если шаблон не найден в первых двух вариантах, то поиск ведется в папке каталог_терминала\Profiles\Templates\.
Здесь каталог_терминала означает папку, из которой запущен клиентский терминала MetaTrader 5, а каталог_данных_терминала означает папку, в которой хранятся изменяемые файлы и ее расположение может зависеть от типа операционной системы, имени пользователя и настроек безопасности компьютера. В общем случае это разные папки, хотя в некоторых случаях могут и совпадать.
Расположение папок каталог_данных_терминала и каталог_терминала можно узнать с помощью функции TerminalInfoString().
//--- каталог из которой запущен терминал |
Примеры записи:
//--- шаблон ищем в папке каталог_данных_терминала\MQL5\ |
Шаблоны не относятся к ресурсам, их нельзя включать в исполняемый файл EX5.
Пример:
//+------------------------------------------------------------------+ |
Смотри также