Download MetaTrader 5

Watch how to download trading robots for free

Interesting script?
So post a link to it -
let others appraise it

You liked the script? Try it in the MetaTrader 5 terminal


CCalendarInputBox - library for MetaTrader 5

| English Русский 中文 Español Deutsch 日本語 Português

votes: 18
2012.02.23 14:09
2016.11.22 07:32
\MQL5\Experts\\MQL5\Include\ (750.02 KB)
incgui_v4.mqh (504.16 KB)view

New CCalendarInputBox control element of the IncGUI library has been designed for date and/or time input.

CCalendarInputBox control element can be used in different modes: date and time input, date input, time input.

The time can be entered up to minutes or seconds (optional). Additionally Date and time can be amended by relocating the vertical line. In the normal state the element is a text field with the button. The tab is opened when the button is hit.

The tab with the numbered control elements is shown in the figure below.

The tab of the CCalendarInput control element
The tab of the CCalendarInput control element

  1. Year change buttons;
  2. Month selection list;
  3. Previous month button;
  4. Next month button;
  5. Data string with weekdays names;
  6. Previous month days (having darker background color comparing to the current month days);
  7. Current month day. The current month means selected month (2) of a selected year (1);
  8. Selected day;
  9. Actual current day;
  10. Next month days;
  11. Actual current date setting button;
  12. Actual current time setting button;
  13. Actual current date;
  14. Time selection;
  15. Actual current time;
  16. Enabling the vertical line for displaying date/time;
  17. Closing the tab without implementing new date/time;
  18. Closing the tab implementing new date/time.

Control element application starts from the Init() method call, the following parameters are indicated when the method is called:

  • string aName="CCalendar" - control element name;
  • bool aDate=true - if date input is used;
  • bool aTime=true - if time input is used;
  • bool aSeconds=true - time up to seconds;
  • bool aLine=true - if the vertical line is enabled (additionally to date and/or time input);
  • int aTimeMode=0 - current time type: 0 - terminal time, 2 - local time (time and date displayed at positions 13 and 15 of the figure above);
  • string aCaption - label text near control element.

The current value is received using ValueDateTime() (in datetime format) and ValueString() (string in format). The time program set is executed using the SetValueDateTime() method.

In different modes (date/time input) the control element has different width that correpsonds to the length of a displayed value but the width can be changed using SetWidth() method. Control element uses the two interdependent classes CCalendar (not used independently) and CCalendarInputBox. Both classes are added to the IncGUI_v4.mqh file (attached).

Also, IncGUIv4mqh.chm file (IncGUI_v4.mqh library documentation) prepared in doxygen and eIncGUI_v4_Test_CCalendarInputBox.mq5 Expert Advisor with the example of the control element application are attached here.

Translated from Russian by MetaQuotes Software Corp.
Original code:

at_Itp(t)Env at_Itp(t)Env

Curvelinear redrawing channel.

SeNSetiVe SeNSetiVe

The trend indicator that gives signals for performing deals. The indicator color depends on the market movement direction determined by the indicator position relative to the zero line.

iSimpleClock_v2 iSimpleClock_v2

Simple clock displayed via the "label" graphical object (OBJ_LABEL).

Trading signals module based on Stalin indicator Trading signals module based on Stalin indicator

Trading signals module for MQL5 Wizard. Stalin indicator's color arrow serves as a market entry signal.