Files
mql5/Indicators/MyIndicators/Session_Analysis_Pro.md
T

9.3 KiB
Raw Blame History

Session Analysis Professional

1. Summary (Introduction)

The Session Analysis Pro is an advanced, multi-faceted analytical tool designed to visualize and analyze price action within specific, user-defined trading sessions. It is particularly useful for traders who focus on the dynamics of the major market opens (e.g., London, New York).

The indicator is plotted directly on the price chart and can display up to four key analytical components for each session:

  1. Session Range Box: A rectangle encompassing the high and low of the session.
  2. Volume Weighted Average Price (VWAP): The true average price for the session, weighted by volume.
  3. Mean Price: The simple arithmetic average of the selected source prices within the session.
  4. Linear Regression Line: A statistical trendline showing the "best fit" line for the session's price action.

The indicator is highly customizable, allowing the user to define three separate sessions (e.g., Pre-Market, Core, Post-Market) and toggle the visibility of each analytical component. It fully supports both standard and Heikin Ashi data sources for all its calculations.

2. Calculation Logic

The indicator identifies bars belonging to a specific time window and performs four distinct calculations on the data within that session.

  1. Session Range: Identifies the highest High and lowest Low within the session's time boundaries and draws a rectangle around them.
  2. Volume Weighted Average Price (VWAP): Calculates the cumulative, volume-weighted average of the Typical Price (H+L+C)/3, resetting at the start of each new session.
  3. Mean Price: Calculates the simple arithmetic average of the user-selected Source Price for all bars within the session.
  4. Linear Regression Line: Calculates the "least squares fit" trendline on the user-selected Source Price for all bars within the session.

3. MQL5 Implementation Details

  • Modular, Object-Oriented Design: The entire logic is encapsulated within a CSessionAnalyzer class. The main indicator file instantiates three separate objects of this class, one for each user-defined session (Pre-Market, Core, Post-Market).
  • Multi-Instance Support: Each instance of the indicator generates a unique ID upon initialization (using a combination of a timestamp and a random number). This ID is used as a prefix for all graphical object names, ensuring that multiple copies of the indicator can run on the same chart without interfering with each other's drawings.
  • Heikin Ashi Integration: An inherited CSessionAnalyzer_HA class allows all calculations (VWAP, Mean, and LinReg) to be performed seamlessly on smoothed Heikin Ashi data.
  • Efficient "On New Bar" Updates: The entire complex calculation and object redrawing process is only performed once per bar, preventing unnecessary CPU load on every tick.
  • Robust Time Handling: The indicator correctly identifies session boundaries regardless of the chart's timeframe and properly handles overnight sessions.
  • Graphical Objects: All visualizations are drawn using OBJ_RECTANGLE and OBJ_TREND objects for maximum flexibility.

4. Parameters

  • Display Settings:
    • InpFillBoxes: Toggles whether the session range boxes are filled or drawn as outlines.
    • InpVolumeType: Selects between Tick Volume and Real Volume for the VWAP calculation.
    • InpSourcePrice: The source price for the Mean and Linear Regression calculations. This unified dropdown allows selection from all standard and Heikin Ashi price types.
  • Session Settings (Pre-Market, Core, Post-Market):
    • Enable: Turns the analysis for that specific session on or off.
    • Start / End: The start and end times for the session in "HH:MM" format, based on the broker's server time.
    • Color: The color for all graphical objects drawn for that session.
    • VWAP / Mean / LinReg: Toggles the visibility of each analytical line for that session.

5. Trading Session Times Reference

This section provides a detailed reference for the trading hours of major global exchanges to help configure the indicator.

IMPORTANT: All times are listed in various time zones for comparison. You must use the times that correspond to your broker's server time in the indicator settings. Be aware that you may need to adjust these times twice a year due to Daylight Saving Time (DST) changes.


New York Stock Exchange (NYSE)

  • Time Zone: Eastern Time (ET)
  • DST (USA) in 2025: Starts March 9, Ends November 2.

Summer (EDT, UTC-4)

Time Zone Pre-Market Core Trading Post-Market
New York (EDT) 06:3009:30 09:3016:00 16:0020:00
UTC 10:3013:30 13:3020:00 20:0000:00
Nicosia (EEST, UTC+3) 13:3016:30 16:3023:00 23:0003:00
Budapest (CEST, UTC+2) 12:3015:30 15:3022:00 22:0002:00

Winter (EST, UTC-5)

Time Zone Pre-Market Core Trading Post-Market
New York (EST) 06:3009:30 09:3016:00 16:0020:00
UTC 11:3014:30 14:3021:00 21:0001:00
Nicosia (EET, UTC+2) 13:3016:30 16:3023:00 23:0003:00
Budapest (CET, UTC+1) 12:3015:30 15:3022:00 22:0002:00

London Stock Exchange (LSE)

  • Time Zone: GMT / BST
  • DST (Europe) in 2025: Starts March 30, Ends October 26.

Summer (BST, UTC+1)

Time Zone Pre-Market Core Trading Post-Market
London (BST) 05:0008:00 08:0016:30 16:3017:15
UTC 04:0007:00 07:0015:30 15:3016:15
Nicosia (EEST, UTC+3) 07:0010:00 10:0018:30 18:3019:15
Budapest (CEST, UTC+2) 06:0009:00 09:0017:30 17:3018:15

Winter (GMT, UTC+0)

Time Zone Pre-Market Core Trading Post-Market
London (GMT) 05:0008:00 08:0016:30 16:3017:15
UTC 05:0008:00 08:0016:30 16:3017:15
Nicosia (EET, UTC+2) 07:0010:00 10:0018:30 18:3019:15
Budapest (CET, UTC+1) 06:0009:00 09:0017:30 17:3018:15

Frankfurt Stock Exchange (Xetra)

  • Time Zone: CET / CEST
  • DST (Europe) in 2025: Starts March 30, Ends October 26.

Summer (CEST, UTC+2)

Time Zone Pre-Market Core Trading Post-Market
Frankfurt (CEST) 08:0009:00 09:0017:30 17:3020:00
UTC 06:0007:00 07:0015:30 15:3018:00
Nicosia (EEST, UTC+3) 09:0010:00 10:0018:30 18:3021:00
Budapest (CEST, UTC+2) 08:0009:00 09:0017:30 17:3020:00

Winter (CET, UTC+1)

Time Zone Pre-Market Core Trading Post-Market
Frankfurt (CET) 08:0009:00 09:0017:30 17:3020:00
UTC 07:0008:00 08:0016:30 16:3019:00
Nicosia (EET, UTC+2) 09:0010:00 10:0018:30 18:3021:00
Budapest (CET, UTC+1) 08:0009:00 09:0017:30 17:3020:00

Tokyo Stock Exchange (TSE)

  • Time Zone: Japan Standard Time (JST), UTC+9 all year.
  • No Daylight Saving Time.
Time Zone Pre-Market Core Trading Post-Market
Tokyo (JST) 08:0009:00 09:0011:30 12:3015:30
UTC 23:0000:00 00:0002:30 03:3006:30
Nicosia 01:0002:00 (W) / 02:0003:00 (S) 02:0004:30 (W) / 03:0005:30 (S) 05:3008:30 (W) / 06:3009:30 (S)
Budapest 00:0001:00 (W) / 01:0002:00 (S) 01:0003:30 (W) / 02:0004:30 (S) 04:3007:30 (W) / 05:3008:30 (S)

Sydney Stock Exchange (ASX)

  • Time Zone: AEST / AEDT
  • DST (Australia) in 2025: Starts October 5, Ends April 6.

Summer (AEDT, UTC+11) (Oct - Apr)

Time Zone Pre-Market Core Trading Post-Market
Sydney (AEDT) 07:0010:00 10:0016:00 16:0019:00
UTC 20:0023:00 23:0005:00 05:0008:00
Nicosia (EET, UTC+2) 22:0001:00 01:0007:00 07:0010:00
Budapest (CET, UTC+1) 21:0000:00 00:0006:00 06:0009:00

Winter (AEST, UTC+10) (Apr - Oct)

Time Zone Pre-Market Core Trading Post-Market
Sydney (AEST) 07:0010:00 10:0016:00 16:0019:00
UTC 21:0000:00 00:0006:00 06:0009:00
Nicosia (EEST, UTC+3) 00:0003:00 03:0009:00 09:0012:00
Budapest (CEST, UTC+2) 23:0002:00 02:0008:00 08:0011:00

6. Usage and Interpretation

  • Contextual Analysis: The primary use is to understand the behavior of price during specific, high-volume trading sessions.
  • VWAP as a Benchmark: The VWAP line is a key level for intraday traders. Price action above the session VWAP is generally considered bullish; price action below is bearish.
  • Mean and Linear Regression: These lines provide a statistical "fair value" for the session. The slope of the regression line indicates the overall direction and strength of the session's trend.
  • Range Box: The high and low of the session box become critical support and resistance levels for subsequent trading sessions.