← К каталогу
Исходный код · ID 4591

#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 и перейдите к оплате.

Стоимость полного кода
1 893,20₽ ≈ $23.46