EA-448 · Utility

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

CategoryUtility
RiskSafe
Rating★★☆☆☆
TypeUtility tool
TimeframesM1, M5, M15, M30, H1, H4, D1, W1, MN
Indicators—
Author(c) 2009, Vladimir Gomonov; MetaDriver@rambler.ru

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

Code quality2.0
Strategy logic1.0
Risk management5.0
Robustness2.0
Innovation2.0
Documentation1.0
Overall2.2

Parameters

ParameterDefaultDescription
TimeTypeTLocalTime type: Local/Server/GMT
FmtSecondsClock format: seconds (H:M:S) or minutes (H:M)
CornerCRLChart corner for clock display
X170Horizontal offset distance
Y38Vertical offset distance
FontNameMagnetoDisplay font name
FontSize16Font size
FontColorclrDarkSlateGrayFont color
ShadowColorclrDarkSeaGreenShadow color
SS1Shadow offset distance
eSA-12Shadow rotation angle

Similar Utility EAs

Backtests are historical simulations and do not guarantee future results. Not financial advice.

Get the weekly Arena report

One email a week: ranking changes, new signals and new research. No spam; unsubscribe any time.