ObjectSetInteger (0,«Chart», OBJPROP_XDISTANCE,10);
ObjectSetInteger (0,«Chart», OBJPROP_YDISTANCE,20);
ObjectSetInteger (0,«Chart», OBJPROP_XSIZE,300);
ObjectSetInteger (0,«Chart», OBJPROP_YSIZE,200);
ObjectSetString (0,«Chart», OBJPROP_SYMBOL, InpSymbol);
ObjectSetInteger (0,«Chart», OBJPROP_PERIOD, InpPeriod);
ObjectSetInteger (0,«Chart», OBJPROP_DATE_SCALE, true);
ObjectSetInteger (0,«Chart», OBJPROP_WIDTH,1);
ObjectSetInteger (0,«Chart», OBJPROP_PRICE_SCALE, true);
ObjectSetInteger (0,«Chart», OBJPROP_SELECTABLE, true);
ObjectSetInteger (0,«Chart», OBJPROP_SELECTED, true);
ObjectSetInteger (0,«Chart», OBJPROP_COLOR, clrBlue);
С помощью свойства объектов OBJPROP_CHART_ID функции ObjectGetInteger получим идентификатор графика, используя который мы теперь можем применять функции работы с графиками (https://www.mql5.com/ru/docs/chart_operations) и свойства графиков (https://www.mql5.com/ru/docs/constants/chartconstants/enum_chart_property):
long chartId=ObjectGetInteger (0,«Chart», OBJPROP_CHART_ID);
Откроем наш график символа, к которому мы хотим присоединить индикатор, и нажав правой кнопкой мышки, выберем пункт в контекстном меню Шаблоны и Сохранить шаблон.
Теперь мы можем перенести на наш графический объект все настройки и индикаторы графика символа:
ChartApplyTemplate(chartId,"my.tpl»);
ChartRedraw (chartId);
// – —
return (INIT_SUCCEEDED);
}
Присоединив индикатор к графику символа, мы можем нажать на нем правой кнопкой мышки и изменить его свойства, включая его период, размеры и др.
Функция PlaySound воспроизводит звуковой файл. Например, это можно делать при появлении сигнала индикатора для напоминания:
bool PlaySound (
string filename // имя WAV-файла
);
В качестве примера добавим звуковой сигнал в наш индикатор Impulse keeper при появлении первого сигнала на покупку или продажу.
Скачаем какой-нибудь WAV-сигнал из Интернета и поместим его файл в папку Sounds терминала.
Добавим код в индикатор Impulse keeper:
#property indicator_chart_window
#property indicator_buffers 4
double EMA34HBuffer [];
double EMA34LBuffer [];
double EMA125Buffer [];
double PSARBuffer [];
int EMA34HHandle;
int EMA34LHandle;
int EMA125Handle;
int PSARHandle;
int bars_calculated=0;
int countBuy=0
int countSell=0;
//+ – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – — – +