Dealing with time (2) functions
This is a powerful addition to your MetaTrader 5 toolkit designed to optimize market analysis and performance. This library provides a collection of modular, reusable code. It is utilized by developers to organize common functions, allowing for the integration of complex logic across multiple Expert Advisors, indicators, or scripts without the need for code duplication.
How to Setup and Use Dealing with time (2) functions
1. Storage: Place library files in the MQL/Libraries directory to ensure they are accessible to your projects.
2. Implementation: Include the library in your code using the #import directive, ensuring you match the exact function names and parameters.
3. Compilation: Ensure the library is present in the directory before you compile your main EA or script, as the compiler links them during this phase.
4. Management: Keep libraries organized in sub-folders if you manage many custom functions to maintain a clean project structure.
Frequently Asked Questions
Q: What is a library file used for? A: Libraries store reusable code modules, allowing you to centralize common logic used by multiple EAs or indicators.
Q: Is a library executable? A: No, libraries are non-executable files containing functions; they must be imported into an EA, indicator, or script to function.
Q: Can I update a library while the platform is running? A: You should compile your EA or script after updating a library to ensure the latest code changes are integrated.
Description & Settings
On 01/01/1982 it is wintertime in the USA (DST==0) and the next changeover is on 04/25/1982, which is the last (25th of the month) Sunday of April (4). The table is already sorted by the geographic time zone (column A), then by the time zone of the year (column L, spr=spring, aut=autumn,), and finally by the query date (column C). The table can be created automatically by the included EA (a script cannot run in debug mode) Test_DST 2.mq5 if you run it in debug mode and copy the rows of the journal log in the debugger and paste them into a table program; the cell separator would be the space character.
Also, there is now a new, simple function SecTillClose() that gives you the remaining time in seconds (the time currency of MQ) until the forex market will close - without CopyTime(). This is interesting for those who want to close their positions before the weekend or do not want to enter a new position in a defined period of time before the weekend. The included indicator DealingWithTime_TestIndi.mq5 shows as a comment on the chart not only the summer/winter time of Europe, USA and Australia (Sydney), but also current time and time shift of different cities. Here you can find a table of different local times of big cities for your comparison: . You can thus check the values at any time. This indicator also demonstrates how these values are determined and used (what is subtracted or added from what), So it is easier to use it yourself - copy & paste, the fastest form of programming. The last two lines also show the last second of the current FX session and the remaining time in hours (is easier to judge) and in seconds. If in NY on Fridays at 17:00 local time the FX session is closed, then there is no valid bar with an opening time 17:00 NY time. Therefore, 1 second is subtracted in this function to be able to get the last valid opening time of the last bar in the broker's time. However, some brokers end their FX session a few minutes earlier by not providing any more prices and not accepting any more trade orders.