#mtf trend bias lines buttons alerts offline charts v1.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «#mtf trend bias lines buttons alerts offline charts v1.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Этот индикатор для MetaTrader 5 отображает на графике до трёх линий смещения (bias lines), рассчитанных по выбранным таймфреймам. Каждая линия строится по цене (Open, High, Low, Close или Pivot Point) выбранного таймфрейма и сдвигу бара. Линии показывают направление тренда: цвет линии меняется в зависимости от того, находится ли текущая цена выше или ниже уровня смещения.
Индикатор добавляет на график шесть кнопок: три для показа/скрытия каждой линии и три для включения/выключения всплывающих оповещений. Состояния кнопок сохраняются между перезапусками терминала и при смене таймфрейма. При наведении курсора на кнопку отображается подсказка с описанием.
При пересечении ценой линии смещения индикатор может отправлять оповещения: всплывающее окно, email, push-уведомление или звуковой сигнал. Также на кнопках отображается расстояние от текущей цены до линии смещения и направление тренда в виде стрелки.
Индикатор поддерживает работу с офлайн-графиками, позволяя задавать номер и префикс офлайн-графика для каждого таймфрейма. Можно запускать несколько экземпляров индикатора на одном графике, используя уникальный идентификатор.
Настройки программы
| Настройка | Описание |
|---|---|
| _00 | Разделитель для группировки настроек таймфрейма A. |
| _01 | Заголовок группы настроек таймфрейма A. |
| T1 | Выбор таймфрейма для линии смещения A: MN1, W1, D1, H4, H1, M30 или офлайн-график. |
| ofan | Номер офлайн-графика для таймфрейма A. |
| ofap | Префикс офлайн-графика для таймфрейма A (например, M, H, D, W). |
| ABP | Выбор цены для расчёта линии смещения таймфрейма A: Open, High, Low, Close или Pivot Point. |
| i1 | Сдвиг бара для линии смещения таймфрейма A. |
| t1buc | Цвет линии смещения таймфрейма A при бычьем тренде. |
| t1bec | Цвет линии смещения таймфрейма A при медвежьем тренде. |
| t1ls | Стиль линии смещения таймфрейма A. |
| t1lw | Толщина линии смещения таймфрейма A. |
| _02 | Разделитель для группировки настроек таймфрейма B. |
| _03 | Заголовок группы настроек таймфрейма B. |
| T2 | Выбор таймфрейма для линии смещения B: MN1, W1, D1, H4, H1, M30 или офлайн-график. |
| ofbn | Номер офлайн-графика для таймфрейма B. |
| ofbp | Префикс офлайн-графика для таймфрейма B (например, M, H, D, W). |
| BBP | Выбор цены для расчёта линии смещения таймфрейма B: Open, High, Low, Close или Pivot Point. |
| i2 | Сдвиг бара для линии смещения таймфрейма B. |
| t2buc | Цвет линии смещения таймфрейма B при бычьем тренде. |
| t2bec | Цвет линии смещения таймфрейма B при медвежьем тренде. |
| t2ls | Стиль линии смещения таймфрейма B. |
| t2lw | Толщина линии смещения таймфрейма B. |
| _4 | Разделитель для группировки настроек таймфрейма C. |
| _5 | Заголовок группы настроек таймфрейма C. |
| T3 | Выбор таймфрейма для линии смещения C: MN1, W1, D1, H4, H1, M30 или офлайн-график. |
| ofcn | Номер офлайн-графика для таймфрейма C. |
| ofcp | Префикс офлайн-графика для таймфрейма C (например, M, H, D, W). |
| CBP | Выбор цены для расчёта линии смещения таймфрейма C: Open, High, Low, Close или Pivot Point. |
| i3 | Сдвиг бара для линии смещения таймфрейма C. |
| t3buc | Цвет линии смещения таймфрейма C при бычьем тренде. |
| t3bec | Цвет линии смещения таймфрейма C при медвежьем тренде. |
| t3ls | Стиль линии смещения таймфрейма C. |
| t3lw | Толщина линии смещения таймфрейма C. |
| _06 | Разделитель для группировки настроек кнопок переключения. |
| _07 | Заголовок группы настроек кнопок переключения. |
| SBW | Номер окна графика, в котором размещаются кнопки переключения. |
| SBC | Выбор угла графика для размещения кнопок переключения: по центру сверху/снизу, слева сверху/снизу, справа сверху/снизу. |
| sbf | Имя шрифта для текста на кнопках переключения. |
| sbfs | Размер шрифта для текста на кнопках переключения. |
| tbfs | Размер шрифта для стрелок тренда на кнопках оповещений. |
| sbbgc | Цвет фона кнопок переключения. |
| sbbc | Цвет границы кнопок переключения в обычном состоянии. |
| sbbch | Цвет границы кнопок переключения при скрытой линии смещения. |
| sbbca | Цвет границы кнопок оповещений при выключенном оповещении. |
| sb2acbu | Цвет стрелки бычьего тренда на кнопке оповещения таймфрейма A. |
| sb2acbe | Цвет стрелки медвежьего тренда на кнопке оповещения таймфрейма A. |
| sb4acbu | Цвет стрелки бычьего тренда на кнопке оповещения таймфрейма B. |
| sb4acbe | Цвет стрелки медвежьего тренда на кнопке оповещения таймфрейма B. |
| sb6acbu | Цвет стрелки бычьего тренда на кнопке оповещения таймфрейма C. |
| sb6acbe | Цвет стрелки медвежьего тренда на кнопке оповещения таймфрейма C. |
| x0 | Горизонтальное смещение кнопок переключения от края графика. |
| y0 | Вертикальное смещение кнопок переключения от края графика. |
| sbw1 | Ширина кнопок показа/скрытия линий в пикселях. |
| sbw2 | Ширина кнопок оповещений в пикселях. |
| sbh | Высота кнопок переключения в пикселях. |
| sbm | Отступ между кнопками переключения в пикселях. |
| _08 | Разделитель для группировки настроек описаний линий. |
| _09 | Заголовок группы настроек описаний линий. |
| vldt | Включение или выключение отображения описаний линий смещения. |
| ldfn | Имя шрифта для текста описаний линий. |
| ldfs | Размер шрифта для текста описаний линий. |
| _10 | Разделитель для группировки прочих настроек. |
| _11 | Заголовок группы прочих настроек. |
| UID | Уникальный идентификатор индикатора, позволяющий запускать несколько экземпляров на одном графике. |
| ucw | Обновлять график при нажатии кнопок переключения. |
| PAM | Текст сообщения для всплывающего оповещения, отображаемого при нажатии кнопок оповещений. |
| SE | Включение или выключение отправки email-оповещения при пересечении ценой линии смещения. |
| PN | Включение или выключение push-уведомлений при пересечении ценой линии смещения. |
| AS | Включение или выключение звукового оповещения при пересечении ценой линии смещения. |
| SF | Имя звукового файла, воспроизводимого при звуковом оповещении. |
| abs | Сдвиг бара для проверки пересечения ценой линии смещения при оповещениях (значение >= 0). |
Поиск по коду файла
#property description "--------------------------------------------------"
#property description "> features 3 time frames, from which bias lines are drawn."
#property description "> 6fully customizable switch buttons, 3 to hide/show lines, 3 to toggle alert popup."
#property description "> buttons states memorized upon time frame change or mt4 restart."
#property description "> buttons/lines identified through tooltip by mouse hovering."
#property description "> distance(in pip) from current price to bias lines and trend direction shown on buttons."
#property description "> several instances at same chart by unique ID."
#property description "--------------------------------------------------"
#property strict
#property indicator_chart_window
#import "user32.dll"
int RegisterWindowMessageW(string lpString);
int PostMessageW(int hWnd,int Msg,int wParam,int lParam);
#import
#define cmd_update_window 0x822c
#define wm_command 0x0111
enum tfa // Time Frame A
{
pa0, // MN1
pa1, // W1
pa2, // D1
pa3, // H4
pa4, // H1
pa5, // M30
pa6, // Offline
};
enum tfb // Time Frame B
{
pb0, // MN1
pb1, // W1
pb2, // D1
pb3, // H4
pb4, // H1
pb5, // M30
pb6, // Offline
};
enum tfc // Time Frame C
{
pc0, // MN1
pc1, // W1
pc2, // D1
pc3, // H4
pc4, // H1
pc5, // M30
pc6, // Offline
};
enum sbc // Switch Buttons Corner
{
sb0, // Centered Upper
sb1, // Centered Lower
sb2, // Left Upper
sb3, // Left Lower
sb4, // Right Upper
sb5, // Right Lower
};
enum abp // Bias Price
{
ap0, // Open
ap1, // High
ap2, // Low
ap3, // Close
ap4, // Pivot Point
};
enum bbp // Bias Price
{
bp0, // Open
bp1, // High
bp2, // Low
bp3, // Close
bp4, // Pivot Point
};
enum cbp // Bias Price
{
cp0, // Open
cp1, // High
cp2, // Low
cp3, // Close
cp4, // Pivot Point
};
extern string _00 = "____________________________________________________"; //________________________________________________
extern string _01 = "______________________ Values ______________________";//_________________ Time Frame A _________________
extern tfa T1 = pa0; // Period
extern int ofan = 2; // Offline Chart Number
extern string ofap = "M"; // Offline Chart Prefix (e.g. M,H,D,W)
extern abp ABP = ap0; // Bias Price
extern int i1 = 0; // Bar Shift
extern color t1buc = clrSlateBlue; // Bias Line Bull Color
extern color t1bec = clrMaroon; // Bias Line Bear Color
extern ENUM_LINE_STYLE t1ls = STYLE_DASH; // Bias Line Style
extern int t1lw = 0; // Bias Line Width
extern string _02 = "____________________________________________________"; //________________________________________________
extern string _03 = "______________________ Values ______________________";//_________________ Time Frame B _________________
extern tfb T2 = pb1; // Period
extern int ofbn = 2; // Offline Chart Number
extern string ofbp = "M"; // Offline Chart Prefix (e.g. M,H,D,W)
extern bbp BBP = bp0; // Bias Price
extern int i2 = 0; // Bar Shift
extern color t2buc = C'104,104,0'; // Bias Line Bull Color
extern color t2bec = C'213,0,213'; // Bias Line Bear Color
extern ENUM_LINE_STYLE t2ls = STYLE_DASHDOTDOT; // Bias Line Style
extern int t2lw = 0; // Bias Line Width
extern string _4 = "____________________________________________________"; //________________________________________________
extern string _5 = "______________________ Values ______________________";//_________________ Time Frame C _________________
extern tfc T3 = pc2; // Period
extern int ofcn = 2; // Offline Chart Number
extern string ofcp = "M"; // Offline Chart Prefix (e.g. M,H,D,W)
extern cbp CBP = cp0; // Bias Price
extern int i3 = 0; // Bar Shift
extern color t3buc = C'0,89,179'; // Bias Line Bull Color
extern color t3bec = clrSienna; // Bias Line Bear Color
extern ENUM_LINE_STYLE t3ls = STYLE_DOT; // Bias Line Style
extern int t3lw = 0; // Bias Line Width
extern string _06 = "____________________________________________________"; //________________________________________________
extern string _07 = "______________________ Values ______________________";//_________________ Switch Buttons _________________
extern int SBW = 0; // Window
extern sbc SBC = sb5; // Corner
extern string sbf = "Tahoma"; // Font Name
extern int sbfs = 9; // Font Size (Pip Value)
extern int tbfs = 9; // Font Size (Trend Arrow)
extern color sbbgc = clrBlack; // Background Color
extern color sbbc = C'50,50,50'; // Border Color
extern color sbbch = clrSlateGray; // Border Color (Bias Line Hidden)
extern color sbbca = clrSteelBlue; // Border Color (Alert OFF)
extern color sb2acbu = clrLimeGreen; // Time Frame A: Bull Arrow Color
extern color sb2acbe = clrRed; // Time Frame A: Bear Arrow Color
extern color sb4acbu = clrLimeGreen; // Time Frame B: Bull Arrow Color
extern color sb4acbe = clrRed; // Time Frame B: Bear Arrow Color
extern color sb6acbu = clrLimeGreen; // Time Frame C: Bull Arrow Color
extern color sb6acbe = clrRed; // Time Frame C: Bear Arrow Color
extern int x0 = 0; // Marginal XDistance
extern int y0 = 0; // Marginal YDistance
extern int sbw1 = 64; // Width (Line Buttons)
extern int sbw2 = 24; // Width (Alert Buttons)
extern int sbh = 24; // Height
extern int sbm = 4; // Step Margin
extern string _08 = "____________________________________________________"; //________________________________________________
extern string _09 = "______________________ Values ______________________";//________________ Line Describtions ________________
extern bool vldt = true; // Line Descriptions Visibility?
extern string ldfn = "Consolas"; // Font Name
extern int ldfs = 7; // Font Size
extern string _10 = "____________________________________________________"; //________________________________________________
extern string _11 = "______________________ Values ______________________";//_________________ Other Settings _________________
extern string UID = "MTFTBLBA0"; // Indicator Unique ID
extern bool ucw = false; // Update Chart @ Button Clicks?
extern string PAM = "Popup Alert Message ON/OFF"; // Popup Alert Message Buttons: (2, 4, 6)
extern bool SE = false; // Email Alert?
extern bool PN = false; // Push Norification Alert?
extern bool AS = false; // Alert Sound?
extern string SF = "alert2.wav"; // Name of Sound File
extern int abs = 0; // Alert Bar Shift(>=0)
int cheight,cwidth,sbcx,bx0,by0,w=ChartWindowFind();
string tfatt,tfbtt,tfctt,a1txt,a2txt,a3txt,sbtf1lt,sbtf2lt,sbtf3lt,sbtf1at,sbtf2at,sbtf3at,tpt1,tpt2,tpt3,
sbtf1ln=UID+" | Switch Buttton Time Frame A",sbtf1an=UID+" | Switch Buttton Time Frame A Alert",
sbtf2ln=UID+" | Switch Buttton Time Frame B",sbtf2an=UID+" | Switch Buttton Time Frame B Alert",
sbtf3ln=UID+" | Switch Buttton Time Frame C",sbtf3an=UID+" | Switch Buttton Time Frame C Alert",
tfalon =UID+" | Time Frame A Bias Line", tfblon =UID+" | Time Frame B Bias Line",
tfclon =UID+" | Time Frame C Bias Line", tfaton =UID+" | Time Frame A Line Text",
tfbton =UID+" | Time Frame B Line Text", tfcton =UID+" | Time Frame C Line Text",
tbf="Wingdings 3", sn=Symbol()+" M("+IntegerToString(Period(),0)+"): ";
color t1xc,t2xc,t3xc,a1cx,a2cx,a3cx,sb1bc,sb2bc,sb3bc,sb4bc,sb5bc,sb6bc;
double t1p,t2p,t3p,tf1D,tf2D,tf3D,pip,sbxw,php1,plp1,pcp1,php2,plp2,pcp2,php3,plp3,pcp3,n;
datetime t1t,t2t,t3t,t1txt; static datetime atime,btime,ctime;
bool taflag,tbflag,tcflag,alert1,alert2,alert3;
int OnInit(){
// код доступен только после оплаты
}
int deinit(){DO();return(0);}
int OnCalculate(const int rates_total ,
const int prev_calculated,
const datetime&time [],
const double &open [],
const double &high [],
const double &low [],
const double &close [],
const long &tick_volume [],
const long &volume [],
const int &spread [])
{
// код доступен только после оплаты
}
if(GlobalVariableGet(sn+sbtf1ln)==-1){taflag=false;sb1bc=sbbch;}else{taflag=true;sb1bc=sbbc;}
if(GlobalVariableGet(sn+sbtf2ln)==-1){tbflag=false;sb3bc=sbbch;}else{tbflag=true;sb3bc=sbbc;}
if(GlobalVariableGet(sn+sbtf3ln)==-1){tcflag=false;sb5bc=sbbch;}else{tcflag=true;sb5bc=sbbc;}
if(GlobalVariableGet(sn+sbtf1an)==-1){alert1=false;sb2bc=sbbca;}else{alert1=true;sb2bc=sbbc;}
if(GlobalVariableGet(sn+sbtf2an)==-1){alert2=false;sb4bc=sbbca;}else{alert2=true;sb4bc=sbbc;}
if(GlobalVariableGet(sn+sbtf3an)==-1){alert3=false;sb6bc=sbbca;}else{alert3=true;sb6bc=sbbc;}
cheight=(int)ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,0);
cwidth =(int)ChartGetInteger(0,CHART_WIDTH_IN_PIXELS ,0);
ChartXYToTimePrice(ChartID(),cwidth,0,w,t1txt,n);pip=MathPow(10,(Digits-1));
if(ABP==0){t1p=iOpen(SПоказано первые 50% кода (символов: 18932)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.