Convert timezone from GMT+0 to Cambodia GMT+7

- Updated session input parameters with Cambodia timezone (GMT+7)
- Modified GetCurrentSession() function to use Cambodia time offset
- Adjusted session times to avoid midnight crossover complexity:
  * Asia Session: 07:00-16:00 Cambodia Time
  * London Session: 15:00-23:59 Cambodia Time
  * New York Session: 20:00-23:59 Cambodia Time
- Updated documentation (README.md, PRD.md) to reflect timezone changes
- Added debug logging for timezone verification
- Prepared for Phase 3 implementation with proper Cambodia timezone support
This commit is contained in:
rithsila
2025-09-26 10:02:26 +07:00
parent e80b78345e
commit e20b066d60
3 changed files with 62 additions and 34 deletions
+14 -7
View File
@@ -23,12 +23,12 @@ input double RiskPercent = 1.0; // Risk perce
input double MinRR = 2.0; // Minimum risk-reward ratio
input bool UseTimeFilter = false; // Enable session filtering
input group "=== Session Settings ===" input string AsiaStart = "00:00"; // Asia session start (GMT)
input string AsiaEnd = "23:59"; // Asia session end (GMT)
input string LondonStart = "08:00"; // London session start (GMT)
input string LondonEnd = "17:00"; // London session end (GMT)
input string NYStart = "13:00"; // New York session start (GMT)
input string NYEnd = "22:00"; // New York session end (GMT)
input group "=== Session Settings ===" input string AsiaStart = "07:00"; // Asia session start (Cambodia Time GMT+7)
input string AsiaEnd = "16:00"; // Asia session end (Cambodia Time GMT+7)
input string LondonStart = "15:00"; // London session start (Cambodia Time GMT+7)
input string LondonEnd = "23:59"; // London session end (Cambodia Time GMT+7)
input string NYStart = "20:00"; // New York session start (Cambodia Time GMT+7)
input string NYEnd = "23:59"; // New York session end (Cambodia Time GMT+7)
input group "=== Risk Management ===" input int MaxSL = 50; // Maximum stop loss in pips
input int MinSL = 10; // Minimum stop loss in pips
@@ -441,12 +441,19 @@ void UpdateInfoPanel()
string GetCurrentSession()
{
MqlDateTime dt;
TimeToStruct(TimeGMT(), dt);
// Convert GMT to Cambodia Time (GMT+7) by adding 7 hours
TimeToStruct(TimeGMT() + 7 * 3600, dt);
int current_hour = dt.hour;
int current_minute = dt.min;
int current_time_minutes = current_hour * 60 + current_minute;
// Debug: Log current Cambodia time for verification
if (EnableDebugMode)
{
LogDebug(StringFormat("Current Cambodia Time: %02d:%02d", current_hour, current_minute));
}
// Convert session times to minutes
int asia_start = (int)(StringToTime("1970.01.01 " + AsiaStart) % 86400 / 60);
int asia_end = (int)(StringToTime("1970.01.01 " + AsiaEnd) % 86400 / 60);