diff --git a/Experts/x-saherelm.x-session-detector.test.mq5 b/Experts/x-saherelm.x-session-detector.test.mq5 index 315dcd1a..063cf473 100644 --- a/Experts/x-saherelm.x-session-detector.test.mq5 +++ b/Experts/x-saherelm.x-session-detector.test.mq5 @@ -147,6 +147,8 @@ bool InitializeRequirements() // // Register Event Handlers ... + eaSessionDetector.AddOnSessionEndHandler(OnSessionEndHandler); + eaSessionDetector.AddOnOverlapEndHandler(OnOverlapEndHandler); eaSessionDetector.AddOnSessionStartHandler(OnSessionStartHandler); eaSessionDetector.AddOnOverlapStartHandler(OnOverlapStartHandler); eaSessionDetector.AddOnSessionStateChangeHandler(OnSessionStateChangeHandler); @@ -176,6 +178,32 @@ void OnSessionStartHandler( ) { Print("Session Started: ", EnumToString(session), " at ", TimeToString(startTime)); + + // + // Custom Testing ... + if (session == X_SESSION_NEWYORK) { + DebugBreak(); + } +} + +/** + * Handle Session End Event ... + * + * @param session: ENUM_X_SESSION_TYPE + * @param startTime: datetime + */ +void OnSessionEndHandler( + ENUM_X_SESSION_TYPE session, + datetime startTime // +) +{ + Print("Session Ended: ", EnumToString(session), " at ", TimeToString(startTime)); + + // + // Custom Testing ... + if (session == X_SESSION_NEWYORK) { + DebugBreak(); + } } /** @@ -190,6 +218,32 @@ void OnOverlapStartHandler( ) { Print("Overlap Started: ", EnumToString(overlap), " at ", TimeToString(startTime)); + + // + // Custom Testing ... + if (overlap == X_OVERLAP_LONDON_NEWYORK) { + DebugBreak(); + } +} + +/** + * Handle Overlap End Event ... + * + * @param session: ENUM_X_SESSION_OVERLAP_TYPE + * @param startTime: datetime + */ +void OnOverlapEndHandler( + ENUM_X_SESSION_OVERLAP_TYPE overlap, + datetime startTime // +) +{ + Print("Overlap Ended: ", EnumToString(overlap), " at ", TimeToString(startTime)); + + // + // Custom Testing ... + if (overlap == X_OVERLAP_LONDON_NEWYORK) { + DebugBreak(); + } } /**