- ChartApplyTemplate
- ChartSaveTemplate
- ChartWindowFind
- ChartTimePriceToXY
- ChartXYToTimePrice
- ChartOpen
- ChartFirst
- ChartNext
- ChartClose
- ChartSymbol
- ChartPeriod
- ChartRedraw
- ChartSetDouble
- ChartSetInteger
- ChartSetString
- ChartGetDouble
- ChartGetInteger
- ChartGetString
- ChartNavigate
- ChartID
- ChartIndicatorAdd
- ChartIndicatorDelete
- ChartIndicatorGet
- ChartIndicatorName
- ChartIndicatorsTotal
- ChartWindowOnDropped
- ChartPriceOnDropped
- ChartTimeOnDropped
- ChartXOnDropped
- ChartYOnDropped
- ChartSetSymbolPeriod
- ChartScreenShot
ChartApplyTemplate
Применяет к графику указанный шаблон. Отданная команда поступает в очередь сообщений графика и выполняется только после обработки всех предыдущих команд.
bool ChartApplyTemplate(
|
Параметры
chart_id
[in] Идентификатор графика. 0 означает текущий график.
filename
[in] Имя файла, содержащего шаблон.
Возвращаемое значение
Возвращает true в случае удачного помещения команды в очередь графика, иначе false. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Примечание
Если посредством этой функции из эксперта будет загружен новый шаблон на график, к которому он присоединен, то эксперт будет выгружен и не сможет продолжить работу.
В целях безопасности права на торговлю при применении шаблона к графику могут ограничиваться:
Права на торговлю не могут быть повышены при запуске советника путем применения шаблона с помощью функции ChartApplyTemplate(). |
Если у mql5-программы, которая вызывает функцию ChartApplyTemplate(), отсутствуют права на торговлю, то эксперт, загруженный при помощи шаблона, также не будет иметь прав на торговлю вне зависимости от настроек шаблона.
Если у mql5-программы, которая вызывает функцию ChartApplyTemplate(), есть права на торговлю, а в настройках шаблона права отсутствуют, то советник, загруженный при помощи шаблона, не будет иметь прав на торговлю.
Использование шаблонов
Средствами языка MQL5 можно задавать множество свойств графика, в том числе устанавливать цвета с помощью функции ChartSetInteger() :
- Цвет фона графика;
- Цвет осей, шкалы и строки OHLC;
- Цвет сетки;
- Цвет объемов и уровней открытия позиций;
- Цвет бара вверх, тени и окантовки тела бычьей свечи;
- Цвет бара вниз, тени и окантовки тела медвежьей свечи;
- Цвет линии графика и японских свечей "Доджи";
- Цвет тела бычьей свечи;
- Цвет тела медвежьей свечи;
- Цвет линии Bid-цены;
- Цвет линии Ask-цены;
- Цвет линии цены последней совершенной сделки (Last);
- Цвет уровней стоп-ордеров (Stop Loss и Take Profit).
Кроме того, на графике может быть множество графических объектов и индикаторов. Достаточно один раз настроить внешний вид графика со всеми необходимыми индикаторами и сохранить его в виде шаблона, чтобы в последствии можно было применять этот шаблон к любому графику.
Функция ChartApplyTemplate() предназначена для использования ранее сохраненного шаблона и может использоваться в любой mql5-программе. Вторым параметром функции ChartApplyTemplate() передается путь к имени файла, в котором находится шаблон. Поиск файла шаблона осуществляется по следующим правилам:
- если в начале пути стоит разделитель обратная косая черта "\" (пишется "\\"), то шаблон ищется относительно пути каталог_данных_терминала\MQL5,
- если обратной косой черты нет, то шаблон ищется относительно исполняемого EX5-файла, в котором происходит вызов функции ChartApplyTemplate();
- если шаблон не найден в первых двух вариантах, то поиск ведется в папке каталог_терминала\Profiles\Templates\.
Здесь каталог_терминала означает папку, из которой запущен клиентский терминала MetaTrader 5, а каталог_данных_терминала означает папку, в которой хранятся изменяемые файлы и ее расположение может зависеть от типа операционной системы, имени пользователя и настроек безопасности компьютера. В общем случае это разные папки, хотя в некоторых случаях могут и совпадать.
Расположение папок каталог_данных_терминала и каталог_терминала можно узнать с помощью функции TerminalInfoString().
//--- каталог из которой запущен терминал
|
Примеры записи:
//--- шаблон ищем в папке каталог_данных_терминала\MQL5\
|
Шаблоны не относятся к ресурсам, их нельзя включать в исполняемый файл EX5.
Пример:
//+------------------------------------------------------------------+
|
Смотри также