FineClock
FineClock is a utility EA that displays a customizable clock overlay on all open charts in MetaTrader 5. It supports local time, server time, and GMT, with configurable font, color, shadow, and corner positioning. The EA uses a timer to update the display every second or every minute depending on the chosen format.
Open the interactive view (equity curve, symbol switch)Key facts
Backtest results (H1, about 1 year)
Not backtested yet — this EA could not be converted automatically.
Strategy analysis
This EA does not involve any trading strategy; it is purely a chart display utility. It creates two label objects on the chart (one for shadow effect, one for main text), periodically updating the time display through timer events. Entry and exit conditions are not applicable since there is no trading logic. Position sizing and money management are likewise not applicable. Its core logic uses the OnTimer callback to fetch the current time (local/server/GMT), format it, and update label text via ObjectSetString. The shadow effect is achieved by creating a second offset label object, with position and font properties synchronized in OnTimer. The EA iterates through all open chart windows, only updating visible ones to optimize performance.
Strengths
- Supports three time sources (local/server/GMT) to meet different trading session needs
- Shadow effect enhances visual readability with thoughtful design details
- Only updates visible chart windows, avoiding unnecessary performance overhead
- Highly parameterized — users can customize nearly all visual attributes including position, font, and color
- Properly cleans up created chart objects in OnDeinit, preventing leftover artifacts
Weaknesses
- Non-ASCII enum names (e.g., �MyCorners) may cause encoding compatibility issues
- ObjectFind usage in OnInit is error-prone — it returns -1 when not found, but the code adds 1 and casts to bool, which is unintuitive and may fail in edge cases
- Depends on external include files (eIntNumbers.mqh, eFloatNumbers.mqh) that may not be in standard paths
- Comments are garbled due to encoding issues, severely hurting readability and maintainability
- No consideration for synchronization offset between server and local time in second-level timer mode
Possible improvements
- Fix encoding issues by converting enum names and comments to English or UTF-8-compatible characters
- Fix ObjectFind logic to use standard >=0 check instead of the hacky +1 bool cast
- Remove dependency on external include files by using standard MQL5 types or inline parameter range validation
Risk assessment
Overall risk: Safe
- This EA performs no trading operations, posing no financial risk
- Missing external include files may cause compilation failure but no trading losses
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
TimeType | TLocal | Time type: Local/Server/GMT |
Fmt | Seconds | Clock format: seconds (H:M:S) or minutes (H:M) |
Corner | CRL | Chart corner for clock display |
X | 170 | Horizontal offset distance |
Y | 38 | Vertical offset distance |
FontName | Magneto | Display font name |
FontSize | 16 | Font size |
FontColor | clrDarkSlateGray | Font color |
ShadowColor | clrDarkSeaGreen | Shadow color |
SS | 1 | Shadow offset distance |
eSA | -12 | Shadow rotation angle |
Similar Utility EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.