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

MTF_HI_LOW

###daily-weekly-monthly hi-low - fixed.mq5
Вы автор или правообладатель?

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

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

О программе

Это пользовательский индикатор для MetaTrader 5, который отображает на графике ценовые уровни максимумов и минимумов за текущие и предыдущие дневные, недельные и месячные периоды. Индикатор работает в окне графика и создаёт графические объекты: горизонтальные линии уровней, прямоугольники диапазонов и текстовые метки с числовыми значениями уровней.

Пользователь может включать и отключать отображение отдельных групп уровней (дневных, недельных, месячных), настраивать их цвета, стили линий и толщину, а также задавать количество рассматриваемых прошлых периодов. Для текущих периодов доступны отдельные настройки цвета и стиля линий верхней и нижней границы.

Дополнительно индикатор умеет строить прямоугольники, охватывающие диапазон текущего дня, недели или месяца, и отображать расчётные центральные уровни (пивоты) для дневного, недельного и месячного периодов. Текстовые метки уровней можно смещать по времени, а линии предыдущих уровней — продлевать вправо.

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

НастройкаОписание
CountDays Количество прошлых периодов, для которых отображаются уровни максимумов и минимумов.
Show_CurrDaily Включает отображение текущих дневных уровней максимума и минимума.
Shift_CurrDaily_LABEL Смещение по времени текстовой метки текущих дневных уровней.
Show_CurrWeekly Включает отображение текущих недельных уровней максимума и минимума.
Shift_CurrWeekly_LABEL Смещение по времени текстовой метки текущих недельных уровней.
Show_CurrMonthly Включает отображение текущих месячных уровней максимума и минимума.
Shift_CurrMonthly_LABEL Смещение по времени текстовой метки текущих месячных уровней.
line_color_CurrDailyUPPER Цвет линии верхней границы текущего дневного уровня.
line_color_CurrDailyLOWER Цвет линии нижней границы текущего дневного уровня.
line_color_CurrWeeklyUPPER Цвет линии верхней границы текущего недельного уровня.
line_color_CurrWeeklyLOWER Цвет линии нижней границы текущего недельного уровня.
line_color_CurrMonthlyUPPER Цвет линии верхней границы текущего месячного уровня.
line_color_CurrMonthyLOWER Цвет линии нижней границы текущего месячного уровня.
CurrDaily_LineStyle Стиль линий текущих дневных уровней максимума и минимума.
CurrWeekly_LineStyle Стиль линий текущих недельных уровней максимума и минимума.
CurrMonthly_LineStyle Стиль линий текущих месячных уровней максимума и минимума.
Show_PreviousDaily Включает отображение предыдущих дневных уровней максимума и минимума.
Xtend_Prev_DailyLine Продлевает линии предыдущих дневных уровней вправо.
Show_PreviousWeekly Включает отображение предыдущих недельных уровней максимума и минимума.
Xtend_Prev_WeeklyLine Продлевает линии предыдущих недельных уровней вправо.
Show_PreviousMonthly Включает отображение предыдущих месячных уровней максимума и минимума.
Xtend_Prev_MonthlyLine Продлевает линии предыдущих месячных уровней вправо.
line_color_PreviousDaily Цвет линий предыдущих дневных уровней.
line_color_PreviousWeekly Цвет линий предыдущих недельных уровней.
line_color_PreviousMonthly Цвет линий предыдущих месячных уровней.
PreviousLine_Style Стиль линий предыдущих уровней максимума и минимума.
Shift_Prev_LABEL Смещение по времени текстовых меток предыдущих уровней.
Show_CurrRectangles_Display Включает отображение прямоугольников диапазонов текущих периодов.
Show_Rectangles Управляет отображением прямоугольников на заднем плане графика.
Rectangle_Curr_DayPeriod_only Ограничивает построение прямоугольников только дневным периодом.
Show_Daily_Rectangle Включает отображение прямоугольника диапазона текущего дня.
Daily_Rectangle_color Цвет прямоугольника диапазона текущего дня.
Show_Weekly_Rectangle Включает отображение прямоугольника диапазона текущей недели.
Weekly_Rectangle_color Цвет прямоугольника диапазона текущей недели.
Show_Monthly_Rectangle Включает отображение прямоугольника диапазона текущего месяца.
Monthly_Rectangle_color Цвет прямоугольника диапазона текущего месяца.
Show_Daily_Pivots Включает отображение дневного пивота.
Daily_Pivot_color Цвет линии дневного пивота.
Daily_Pivot_LineWidth Толщина линии дневного пивота.
Show_Weekly_Pivots Включает отображение недельного пивота.
Weekly_Pivot_color Цвет линии недельного пивота.
Weekly_Pivot_LineWidth Толщина линии недельного пивота.
Show_Monthly_Pivots Включает отображение месячного пивота.
Monthly_Pivot_color Цвет линии месячного пивота.
Monthly_Pivot_LineWidth Толщина линии месячного пивота.
Получить полный код

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

#property indicator_chart_window

extern int  CountDays=10;

extern bool Show_CurrDaily = true;
extern int Shift_CurrDaily_LABEL = 0;
extern bool Show_CurrWeekly = true;
extern int Shift_CurrWeekly_LABEL = 0;
extern bool Show_CurrMonthly = true;
extern int Shift_CurrMonthly_LABEL = 0;
extern color line_color_CurrDailyUPPER = Lime;
extern color line_color_CurrDailyLOWER = Magenta;
extern color line_color_CurrWeeklyUPPER = YellowGreen;
extern color line_color_CurrWeeklyLOWER = Pink;
extern color line_color_CurrMonthlyUPPER = Green;
extern color line_color_CurrMonthyLOWER = Red;
extern int CurrDaily_LineStyle = 2;
extern int CurrWeekly_LineStyle = 3;
extern int CurrMonthly_LineStyle = 4;

extern bool Show_PreviousDaily = true;
extern bool Xtend_Prev_DailyLine = false;
extern bool Show_PreviousWeekly = true;
extern bool Xtend_Prev_WeeklyLine = false;
extern bool Show_PreviousMonthly = true;
extern bool Xtend_Prev_MonthlyLine = false;
extern color line_color_PreviousDaily = Aqua;
extern color line_color_PreviousWeekly = Yellow;
extern color line_color_PreviousMonthly = Orange;
extern int PreviousLine_Style = 2;
extern int Shift_Prev_LABEL = 10;

extern bool Show_CurrRectangles_Display = false;
extern bool Show_Rectangles = true;
extern bool Rectangle_Curr_DayPeriod_only = false;
extern bool Show_Daily_Rectangle = true;
extern color Daily_Rectangle_color = Navy;
extern bool Show_Weekly_Rectangle = true;
extern color Weekly_Rectangle_color = Blue;
extern bool Show_Monthly_Rectangle = true;
extern color Monthly_Rectangle_color = Maroon;

extern bool Show_Daily_Pivots = false;
extern color Daily_Pivot_color = Aqua;
extern int Daily_Pivot_LineWidth = 1;  
extern bool Show_Weekly_Pivots = false;
extern color Weekly_Pivot_color = Yellow;
extern int Weekly_Pivot_LineWidth = 1; 
extern bool Show_Monthly_Pivots = false;
extern color Monthly_Pivot_color = Orange;
extern int Monthly_Pivot_LineWidth = 1; 

#define Curr_DG "Curr_DG"

#define Curr_WG "Curr_WG"

#define Curr_MG "Curr_MG"

   datetime time1;
   datetime time2;

   datetime time3;
   datetime time4;

   datetime time5;
   datetime time6;

   datetime time7;
   datetime time8;
   datetime time9;
   datetime time10;
   datetime time11;
   datetime time12;

   datetime time13;
   datetime time14;
   datetime time15;
   datetime time16;
   datetime time17;
   datetime time18;

   double DHi,DLo,WHi,WLo,MHi,MLo;
   double DHigh,DLow,WHigh,WLow,MHigh,MLow;
   double highD,lowD,closeD,highW,lowW,closeW,highM,lowM,closeM;
   double PD,PW,PM;

   int shift, num;

   void ObjDel()
   {
      for (;num<=CountDays;num++)
      {
      ObjectDelete("Previous_DailyHi["+num+"]");
      ObjectDelete("Previous_DailyLo["+num+"]");
      ObjectDelete("Previous_WeeklyHi["+num+"]");
      ObjectDelete("Previous_WeeklyLo["+num+"]");
      ObjectDelete("Previous_MonthlyHi["+num+"]");
      ObjectDelete("Previous_MonthlyLo["+num+"]");

      ObjectDelete("CurrentDailyHi["+num+"]");
      ObjectDelete("CurrentDailyLo["+num+"]");
      ObjectDelete("CurrentWeeklyHi["+num+"]");
      ObjectDelete("CurrentWeeklyLo["+num+"]");
      ObjectDelete("CurrentMonthlyHi["+num+"]");
      ObjectDelete("CurrentMonthlyLo["+num+"]");

       ObjectDelete("CurrentPivot["+num+"]");
       ObjectDelete("CurrentWeeklylyPivot["+num+"]");
       ObjectDelete("CurrentMonthlyPivot["+num+"]");
     } 

   }

   void PlotLineD(string dname,double value,double line_color_Daily,double style)
   {
   ObjectCreate(dname,OBJ_TREND,0,time1,value,time2,value);
   ObjectSet(dname, OBJPROP_WIDTH, 1);
   ObjectSet(dname, OBJPROP_STYLE, PreviousLine_Style);
   ObjectSet(dname, OBJPROP_RAY, Xtend_Prev_DailyLine);
   ObjectSet(dname, OBJPROP_BACK, true);
   ObjectSet(dname, OBJPROP_COLOR, line_color_Daily);
    }        

     void PlotLineW(string wname,double value,double line_color_Weekly,double style)
   {
   ObjectCreate(wname,OBJ_TREND,0,time3,value,time4,value);
   ObjectSet(wname, OBJPROP_WIDTH, 1);
   ObjectSet(wname, OBJPROP_STYLE, PreviousLine_Style);
   ObjectSet(wname, OBJPROP_RAY, Xtend_Prev_WeeklyLine);
   ObjectSet(wname, OBJPROP_BACK, true);
   ObjectSet(wname, OBJPROP_COLOR, line_color_Weekly);
    }        
       void PlotLineM(string mname,double value,double line_color_Monthly,double style)
   {
   ObjectCreate(mname,OBJ_TREND,0,time5,value,time6,value);
   ObjectSet(mname, OBJPROP_WIDTH, 1);
   ObjectSet(mname, OBJPROP_STYLE, PreviousLine_Style);
   ObjectSet(mname, OBJPROP_RAY, Xtend_Prev_MonthlyLine);
   ObjectSet(mname, OBJPROP_BACK, true);
   ObjectSet(mname, OBJPROP_COLOR, line_color_Monthly);
    }

         void PlotLineDLY(string dayname,double value,double col,double style)
   {
   ObjectCreate(dayname,OBJ_TREND,0,time7,value,time8,value);
   ObjectSet(dayname, OBJPROP_WIDTH, 1);
   ObjectSet(dayname, OBJPROP_STYLE, CurrDaily_LineStyle );
   ObjectSet(dayname, OBJPROP_RAY, false);
   ObjectSet(dayname, OBJPROP_BACK, true);
   ObjectSet(dayname, OBJPROP_COLOR, col);
    }

           void PlotLineWLY(string weekname,double value,double col,double style)
   {
   ObjectCreate(weekname,OBJ_TREND,0,time9,value,time10,value);
   ObjectSet(weekname, OBJPROP_WIDTH, 1);
   ObjectSet(weekname, OBJPROP_STYLE, CurrWeekly_LineStyle );
   ObjectSet(weekname, OBJPROP_RAY, false);
   ObjectSet(weekname, OBJPROP_BACK, true);
   ObjectSet(weekname, OBJPROP_COLOR, col);
    }
            void PlotLineMLY(string monthname,double value,double col,double style)
   {
   ObjectCreate(monthname,OBJ_TREND,0,time11,value,time12,value);
   ObjectSet(monthname, OBJPROP_WIDTH, 1);
   ObjectSet(monthname, OBJPROP_STYLE, CurrMonthly_LineStyle );
   ObjectSet(monthname, OBJPROP_RAY, false);
   ObjectSet(monthname, OBJPROP_BACK, true);
   ObjectSet(monthname, OBJPROP_COLOR, col);
    }    

              void PlotLinePVT(string pname,double value,double col,double style)
   {
   ObjectCreate(pname,OBJ_TREND,0,time13,value,time14,value);
   ObjectSet(pname, OBJPROP_WIDTH, Daily_Pivot_LineWidth);
   ObjectSet(pname, OBJPROP_STYLE, 0 );
   ObjectSet(pname, OBJPROP_RAY, false);
   ObjectSet(pname, OBJPROP_BACK, true);
   ObjectSet(pname, OBJPROP_COLOR, col);
    }   
                  void PlotLinePVTW(string wpname,double value,double col,double style)
   {
   ObjectCreate(wpname,OBJ_TREND,0,time15,value,time16,value);
   ObjectSet(wpname, OBJPROP_WIDTH, Weekly_Pivot_LineWidth);
   ObjectSet(wpname, OBJPROP_STYLE, 0 );
   ObjectSet(wpname, OBJPROP_RAY, false);
   ObjectSet(wpname, OBJPROP_BACK, true);
   ObjectSet(wpname, OBJPROP_COLOR, col);
    }   
                 void PlotLinePVTM(string mpname,double value,double col,double style)
   {
   ObjectCreate(mpname,OBJ_TREND,0,time17,value,time18,value);
   ObjectSet(mpname, OBJPROP_WIDTH, Monthly_Pivot_LineWidth);
   ObjectSet(mpname, OBJPROP_STYLE, 0 );
   ObjectSet(mpname, OBJPROP_RAY, false);
   ObjectSet(mpname, OBJPROP_BACK, true);
   ObjectSet(mpname, OBJPROP_COLOR, col);
    }   
int init()
  {
      // код доступен только после оплаты
   }

int deinit()
  {
  ObjectDelete(0,OBJ_RECTANGLE);
  ObjectDelete(0,OBJ_TRENDBYANGLE);
  ObjectDelete(0,OBJ_TEXT);
  ObjectDelete(0, "HILO");
  ObjectDelete(0, "HILO1");
  ObjectDelete(0, "HILO2");
  ObjectDelete(0, "HILO3");
  ObjectDelete(0, "HILO4");
  ObjectDelete(0, "HILO5");
  ObjectDelete(0, "HILOP");
  ObjectDelete(0, "HILO1P");
  ObjectDelete(0, "HILO2P");
  ObjectDelete(0, "HILO3P");
  ObjectDelete(0, "HILO4P");
   ObjectDelete(0, "HILO5P");

   ObjDel();
   Comment("");
   return(0);
  }

int start()

  {
      // код доступен только после оплаты
   }

void Create_DailyLineHI(string dLine, double start, double end,double w, double s,color clr)
  {
   ObjectCreate(dLine, OBJ_RECTANGLE, 0, iTime(NULL,1440,0), start, Time[0], end);
   ObjectSet(dLine, OBJPROP_COLOR, clr);
   ObjectSet(dLine,OBJPROP_RAY,false);
   ObjectSet(dLine,OBJPROP_BACK,Show_Rectangles);
   ObjectSet(dLine,OBJPROP_WIDTH,w);
    ObjectSet(dLine,OBJPROP_STYLE,s);

  }
   void DeleteCreate_DailyLineHI()
   {
   ObjectDelete( Curr_DG);ObjectDelete( Curr_WG);ObjectDelete( Curr_MG);  
   }
   void CreateDHI()
   {
   DeleteCreate_DailyLineHI();
   ObjectDelete(0,OBJ_RECTANGLE);

     CreateWHI();
}

void Create_DailyLineWHI(string WLine, double start, double end,double w, double s,color clr)
  {
   ObjectCreate(WLine, OBJ_RECTANGLE, 0, iTime(NULL,10080,0), start, Time[0], end);
   ObjectSet(WLine, OBJPROP_COLOR, clr);
   ObjectSet(WLine,OBJPROP_RAY,false);
   ObjectSet(WLine,OBJPROP_BACK,Show_Rectangles);
   ObjectSet(WLine,OBJPROP_WIDTH,w);
   ObjectSet(WLine,OBJPROP_STYLE,s);

  }
   void DeleteCreate_DailyLineWHI()
   {
   ObjectDelete( Curr_WG); 
   }
   void CreateWHI()
   {
   DeleteCreate_DailyLineWHI();
   ObjectDelete(0,OBJ_RECTANGLE);

     CreateMHI();
}

void Create_DailyLineMHI(string MLine, double start, double end,double w, double s,color clr)
  {
   ObjectCreate(MLine, OBJ_RECTANGLE, 0, iTime(NULL,43200,0), start, Time[0], end);
   ObjectSet(MLine, OBJPROP_COLOR, clr);
   ObjectSet(MLine,OBJPROP_RAY,false);
   ObjectSet(MLine,OBJPROP_BACK,S

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

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

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

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

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

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

Стоимость полного кода
1 525,70₽ ≈ $18.65