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

#MTF Trend Bias Lines Buttons Alerts

#mtf trend bias lines buttons alerts.mq5
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Индикатор для MetaTrader 5, который строит на графике три линии трендового смещения (bias), каждая рассчитывается по своему таймфрейму. Линия проводится от выбранной свечи указанного таймфрейма по выбранной цене (Open, High, Low или Close) и продлевается вправо. Цвет линии зависит от того, находится ли текущая цена закрытия выше или ниже значения bias: для бычьего и медвежьего направления предусмотрены отдельные цвета.

На графике размещается панель из шести кнопок. Три кнопки управляют показом и скрытием соответствующих линий, ещё три включают и выключают всплывающие уведомления для каждой линии. Положение панели, её размеры, шрифт, цвета фона, рамок и стрелок настраиваются. Состояние кнопок сохраняется через глобальные переменные терминала, поэтому при повторном открытии графика настройки показа линий и уведомлений восстанавливаются.

Индикатор отслеживает пересечение цены закрытия с каждой из трёх линий bias. При пересечении формируется сообщение с указанием таймфрейма и цены линии. В зависимости от настроек уведомление может выводиться как всплывающее окно, отправляться по электронной почте, в push-уведомления или сопровождаться звуковым сигналом. Для каждого таймфрейма уведомления можно включать и выключать отдельно.

Индикатор работает в окне графика, не создаёт торговых операций и предназначен для визуального анализа и оповещения о событиях пересечения.

Настройки программы

НастройкаОписание
_0 Разделительная строка в списке настроек, не влияет на работу индикатора.
_1 Заголовок группы настроек таймфрейма A, не влияет на работу индикатора.
T1 Выбор таймфрейма для линии bias A: MN1, W1, D1, H4, H1 или M30.
ABP Выбор цены свечи таймфрейма A, по которой строится линия bias: Open, High, Low или Close.
i1 Номер свечи таймфрейма A, от которой строится линия bias. Значение не может быть меньше нуля.
t1buc Цвет линии bias таймфрейма A, когда цена закрытия выше значения bias.
t1bec Цвет линии bias таймфрейма A, когда цена закрытия ниже значения bias.
t1ls Стиль отрисовки линии bias таймфрейма A.
t1lw Толщина линии bias таймфрейма A.
_2 Разделительная строка в списке настроек, не влияет на работу индикатора.
_3 Заголовок группы настроек таймфрейма B, не влияет на работу индикатора.
T2 Выбор таймфрейма для линии bias B: MN1, W1, D1, H4, H1 или M30.
BBP Выбор цены свечи таймфрейма B, по которой строится линия bias: Open, High, Low или Close.
i2 Номер свечи таймфрейма B, от которой строится линия bias. Значение не может быть меньше нуля.
t2buc Цвет линии bias таймфрейма B, когда цена закрытия выше значения bias.
t2bec Цвет линии bias таймфрейма B, когда цена закрытия ниже значения bias.
t2ls Стиль отрисовки линии bias таймфрейма B.
t2lw Толщина линии bias таймфрейма B.
_4 Разделительная строка в списке настроек, не влияет на работу индикатора.
_5 Заголовок группы настроек таймфрейма C, не влияет на работу индикатора.
T3 Выбор таймфрейма для линии bias C: MN1, W1, D1, H4, H1 или M30.
CBP Выбор цены свечи таймфрейма C, по которой строится линия bias: Open, High, Low или Close.
i3 Номер свечи таймфрейма C, от которой строится линия bias. Значение не может быть меньше нуля.
t3buc Цвет линии bias таймфрейма C, когда цена закрытия выше значения bias.
t3bec Цвет линии bias таймфрейма C, когда цена закрытия ниже значения bias.
t3ls Стиль отрисовки линии bias таймфрейма C.
t3lw Толщина линии bias таймфрейма C.
_6 Разделительная строка в списке настроек, не влияет на работу индикатора.
_7 Заголовок группы настроек кнопок переключения, не влияет на работу индикатора.
SBW Номер окна графика, в котором создаются кнопки.
SBC Выбор угла графика, в котором размещается панель кнопок: по центру сверху или снизу, слева сверху или снизу, справа сверху или снизу.
sbf Имя шрифта, используемого для текста на кнопках.
sbfs Размер шрифта текста на кнопках.
sbbgc Цвет фона кнопок.
sbbc Цвет рамки кнопок в обычном состоянии.
sbbch Цвет рамки кнопок, когда соответствующая линия bias скрыта.
sbbca Цвет рамки кнопок уведомления, когда оповещение выключено.
sb2acbu Цвет стрелки бычьего направления на кнопке уведомления таймфрейма A.
sb2acbe Цвет стрелки медвежьего направления на кнопке уведомления таймфрейма A.
sb4acbu Цвет стрелки бычьего направления на кнопке уведомления таймфрейма B.
sb4acbe Цвет стрелки медвежьего направления на кнопке уведомления таймфрейма B.
sb6acbu Цвет стрелки бычьего направления на кнопке уведомления таймфрейма C.
sb6acbe Цвет стрелки медвежьего направления на кнопке уведомления таймфрейма C.
x0 Горизонтальное смещение панели кнопок от выбранного угла графика.
y0 Вертикальное смещение панели кнопок от выбранного угла графика.
sbw1 Ширина основных кнопок панели в пикселях.
sbw2 Ширина кнопок уведомления в пикселях.
sbh Высота кнопок в пикселях.
sbm Расстояние между кнопками в пикселях.
_9 Разделительная строка в списке настроек, не влияет на работу индикатора.
_8 Заголовок группы прочих настроек, не влияет на работу индикатора.
UID Уникальный идентификатор индикатора, используемый в именах объектов и глобальных переменных.
PAM Текст, отображаемый на кнопках всплывающего уведомления. В комментарии указано, что кнопки соответствуют номерам 2, 4 и 6.
SE Включает или выключает отправку уведомления по электронной почте при срабатывании оповещения.
PN Включает или выключает отправку push-уведомлений при срабатывании оповещения.
AS Включает или выключает звуковой сигнал при срабатывании уведомления.
SF Имя звукового файла, который воспроизводится при включённом звуковом оповещении.
abs Смещение свечи, на которой проверяется пересечение цены с линией bias. Значение не может быть меньше нуля.
Получить полный код

Поиск по коду файла

#property       description "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"
#property       description "  The indicator draws 3 bias lines from 3 different time frames!"
#property       description "  There are 6 fully customizable switch buttons, 3 of which hide"
#property       description "  and show their respective line and 3 to toggle the alert popup"
#property       description "  message window for each line crossover!"
#property       description "  Buttons or lines are identified through the respective tooltip"
#property       description "  by hovering the mouse pointer over them!"
#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
     };
enum tfb        // Time Frame B
     {
     pb0,       // MN1
     pb1,       // W1
     pb2,       // D1
     pb3,       // H4
     pb4,       // H1
     pb5,       // M30
     };
enum tfc        // Time Frame C
     {
     pc0,       // MN1
     pc1,       // W1
     pc2,       // D1
     pc3,       // H4
     pc4,       // H1
     pc5,       // M30
     };
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
     };     
enum bbp        // Bias Price
     {
     bp0,       // Open
     bp1,       // High
     bp2,       // Low
     bp3,       // Close
     };     
enum cbp        // Bias Price
     {
     cp0,       // Open
     cp1,       // High
     cp2,       // Low
     cp3,       // Close
     };          

extern string          _0            = "____________________________________________________";  //________________________________________________
extern string          _1            = "______________________  Values  ______________________";//_________________  Time Frame A  _________________
extern tfa             T1            = pa0;                              // Period
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          _2            = "____________________________________________________";  //________________________________________________
extern string          _3            = "______________________  Values  ______________________";//_________________  Time Frame B  _________________
extern tfb             T2            = pb1;                              // Period
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 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          _6            = "____________________________________________________";  //________________________________________________
extern string          _7            = "______________________  Values  ______________________";//_________________  Switch Buttons  _________________
extern int             SBW           = 0;                                // Window
extern sbc             SBC           = sb5;                              // Corner
extern string          sbf           = "Tahoma";                         // Font
extern int             sbfs          = 9;                                // Font Size
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;                               // Width1
extern int             sbw2          = 24;                               // Width2
extern int             sbh           = 24;                               // Height
extern int             sbm           = 4;                                // Step Margin
extern string          _9            = "____________________________________________________";  //________________________________________________
extern string          _8            = "______________________  Values  ______________________";//_________________  Other Settings  _________________
extern string          UID           = "MTFTBLBA0";                      // Indicator Unique ID
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;
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",
         tfaon  =UID+" | Time Frame A Bias Line",     tfbon  =UID+" | Time Frame B Bias Line",
         tfcon  =UID+" | Time Frame C Bias Line",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;
datetime t1t,t2t,t3t;
bool     taflag,tbflag,tcflag,alert1,alert2,alert3; static datetime atime,btime,ctime;         

   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(

Показано первые 50% кода (символов: 15708)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
1 570,80₽ ≈ $19.46