Watch how to download trading robots for free
Find us on Twitter!
Join our fan page
Interesting script?
So post a link to it -
let others appraise it
You liked the script? Try it in the MetaTrader 5 terminal
Libraries

CIsSession - class to set time intervals (sessions) - library for MetaTrader 5

Views:
6677
Rating:
(34)
Published:
2016.01.20 09:51
Updated:
2016.11.22 07:32
\MQL5\Include\
issession.mqh (10.15 KB) view
\MQL5\Experts\
Need a robot or indicator based on this code? Order it on Freelance Go to Freelance

I decided to publish this class after reading this publication. This topic looks interesting. My approach does not solve every problem as well. Therefore, suggest what can be improved.

The class usage example was made similar to this variant. That way it is easier to see the advantages and disadvantages.

The advantages:

  1. Possibility of standard input of date and time. See the picture. Less likelihood of mistakes.
  2. The possibility to optimize the time intervals in the strategy tester is preserved.
  3. All the settings can be quickly changed anywhere in program.
  4. More usage options. Details after the picture.
  5. Easier to use in the code. At least for me.

Options for setting the time

1. Daily session. For example, it allows the trading every day in the specified time interval. Conditions:

  • The session start and end dates are equal to 1970.01.01.
  • The session start time is less than the session end time.

2. Night session. For example, the trading through the night is allowed: start today, end tomorrow. And so every day. Conditions:

  • The session start and end dates are equal to 1970.01.01.
  • The session start time is greater than the session end time.

3. Within the range of dates. For example, the trading is allowed from the session start date up to the session end date. Conditions:

  • The session start date is less than the session end date.
  • Any time, but it is also considered.

4. Out of the range of dates. The session start date is greater than the session end date. Thus, the trading is allowed until the session end date and after the new session start date. Conditions:

  • The session start date is greater than the session end date.
  • Any time, but it is also considered.

5. Disabling/enabling the trading on a week day. It is sufficient to set "true" in the parameters for each of the week days, if you want to trade. Or "false" to disable trading.

6. All the setting can be changed anywhere in program using the Init() methods.


P.S. The class was created for the MetaTrader 5, but it also works for the MetaTrader 4. The only difference is that the MetaTrader 4 strategy tester does not support the optimization of the time intervals in the datеtime format. But it is solved by replacing the datеtime to long in the EA input parameters.

Translated from Russian by MetaQuotes Ltd.
Original code: https://www.mql5.com/ru/code/14305

VWAP Lite - Volume Weighted Average Price VWAP Lite - Volume Weighted Average Price

VWAP is an intra-day calculation used primarily by algorithms and institutional traders to assess where a stock is trading relative to its volume weighted average for the day.

ManualTradeOnStrategyTester ManualTradeOnStrategyTester

A simple way on how EA can link a manual order command from outside to use it in MetaTrader 5 Strategy Tester.

Sentiment Sentiment

Robot that trades the open sentiment of the market.

TradeState - the EA trading mode switcher depending on the time TradeState - the EA trading mode switcher depending on the time

The class restricts the EA trading by time. It has flexible configuration options, which allow to set a custom number of the time zones, and also to allow trading only on the specified week days.