Commit graph

54 commits

Author SHA1 Message Date
97a0ec37d4 Prepare article part 4 for publication
Article:
- rename the deployment section to "Развёртывание через config/services.ini"
- keep only first-level sections in the table of contents, drop the
  archive entry
- add the warning block and the archive table in the series format
- rename screenshots to meaningful English names

Publishing helpers (docs/publish):
- build_article_html.py builds the HTML fragment for the site editor with
  anchored headings, linked table of contents, captions and code blocks
- code/ holds each code block as a separate file, description.txt the
  short description

Code:
- static/script.js: bump version to 0.3.0

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 23:43:05 +03:00
dbed2c48f9 Edit article part 4, add testing section and screenshots
Article:
- edit all sections, shorten schema drift story,
  drop the useful-links and warning sections, keep first-level TOC only
- add "Тестирование" with three 750 px screenshots (docs/images)
- add "Содержание архива" with file versions

Code:
- ServiceStateWriter.mq5: use TERMINAL_DATA_PATH (portable-only), replace
  ExecutePragma() with DatabaseExecute(), use built-in
  ERR_DATABASE_NO_MORE_DATA, align comments with the article
- deploy_service.py: skip compilation when .ex5 is newer than the source
- bump versions: main.py 0.3.0, config.py 0.2.0, static/script.js 0.2.0

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 21:19:21 +03:00
788b0fe807 Edit article intro, update Python note
Rewrite the introduction, main loop, and the opening sections so they
no longer repeat each other, add a "Намечаем путь" plan section, and
rebuild the table of contents. Add docs/style-notes.md with the style
guidelines derived from the author's published articles.

The MetaTrader5 module now ships wheels for Python 3.14 (verified:
import, initialize and account reads work on 3.12 and 3.14); there are
none for 3.15 yet. Update the Python version note in the article,
README and notes accordingly.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 21:19:21 +03:00
8d92ae4f46 Align article listings with actual code
Reorder states columns to match ServiceStateWriter.mq5, add the
ResetLastError() call to the transaction snippet, and qualify the
Shared Projects claim as specific to this setup.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 15:03:32 +03:00
1ef2dd8839 Finish article part 4: schema drift bug and deploy script
Add the schema-drift story (CREATE TABLE IF NOT EXISTS is not a
migration, swallowed OperationalError hid it) to the first-run section,
update the read_state snippet, and describe deploy_service.py including
the unreliable headless MetaEditor compile. Update plans and notes.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 15:00:10 +03:00
4a55946f8a Add deploy_service.py to automate service redeployment
Wraps the manual steps we kept redoing after every schema/service
change: sync each terminal's Shared Projects copy via git, compile the
service, and drop config/services.ini into place.

Per-terminal headless MetaEditor compilation proved unreliable in
testing - it can exit 0 without producing a log or touching the .ex5,
seemingly needing an interactive desktop session. The script compiles
once against the repo's own working tree instead and copies the
resulting .ex5 to the other terminals, verifying success by checking
the file's mtime actually changed rather than trusting the exit code.
2026-07-27 15:22:37 +03:00
01f3b3af4a Log unexpected errors in read_state instead of swallowing them
The bare except was hiding a real bug: the deployed service's states
table predated the company/holder_name columns, so every read raised
sqlite3.OperationalError: no such column: s.company. Since it was
caught silently, the UI just stuck on "starting" forever with no
indication why. Now the error text is printed so schema drift like
this is visible immediately instead of requiring manual DB inspection.
2026-07-27 13:41:03 +03:00
98ea068262 Fix FastAPI/Starlette compatibility errors in main.py
Path()'s example kwarg is deprecated in favor of examples (list) in
the installed FastAPI version. Separately, the installed Starlette
(1.3.1) removed the old TemplateResponse(name, context) calling
convention entirely, requiring request as the first positional
argument instead of a 'request' key in the context dict - the old
form crashed index() with "unhashable type: dict" from get_template().
2026-07-27 13:17:22 +03:00
82a79d9b45 Document config/services.ini service autostart workaround
Add static/services.ini as a reference example, and update both the
article draft and working notes with the discovery: placing this file
in the terminal installation's config folder auto-registers the
compiled service, removing the manual Navigator step. Note explicitly
that the file is undocumented (UTF-16LE, absent from the official
config file listing) and likely the terminal's own internal
serialization of Navigator-added services.
2026-07-27 13:07:03 +03:00
3211b2c2eb Expand article draft with MQL5 docs on services
Add a section explaining services as an MQL5 program type (single
OnStart handler, no chart binding, per-instance thread, survives
account switches) and a section on the stop grace period, tying the
documented 3-second IsStopped() timeout to the service's jittered
Sleep(). Cite official docs for DatabaseBind indexing, transaction
speedup, and DATABASE_OPEN_COMMON; add a references section.
2026-07-27 12:51:56 +03:00
ab5af0bf82 Fixes
Код для /create пока тоже просто игнорируем, дойдем до него в пятой части цикла

Код в 56-58 main.py убираем, так как эта информация будет получена главной страницей через ajax-запросы

Формат времени везде сделаем в секундах, нам не нужна милисекундная точность
2026-07-27 12:34:18 +03:00
40c947fed8 Add draft for Article 4 2026-07-27 12:32:10 +03:00
4e17cd52f0 Draft version 2026-07-25 20:52:51 +03:00
acbebe6f9a Add service file and notes 2026-07-25 19:24:56 +03:00
3d83a6219a Fix layout 2026-01-14 08:46:02 +03:00
a4eab7e2e7 Merge branch 'article-19946' into develop p3 2025-11-20 15:25:35 +03:00
196f293699 Add comments 2025-11-20 14:02:48 +03:00
518832cdf1 Update README 2025-11-20 09:46:27 +03:00
10e904932f Add comments 2025-11-17 21:13:30 +03:00
1f1d25c97a Move Config class to separate file 2025-11-11 12:15:50 +03:00
0f3dba1b27 Modify Views 2025-11-05 22:14:19 +03:00
faa6725b79 Add --host and --port to run's arguments 2025-11-05 14:37:24 +03:00
74f50658d3 Change default config and add comments 2025-11-04 21:23:59 +03:00
0f88b48e55 Add status starting 2025-10-31 21:45:09 +03:00
288c635a77 Add time and margin to terminal card 2025-10-30 22:41:27 +03:00
970371efb0 Add icons for servers 2025-10-30 10:01:24 +03:00
b73b175fc2 Rename vars 2025-10-30 10:00:52 +03:00
91e30813dd Add external launcher 2025-10-30 10:00:18 +03:00
7146211ccd Add and rename config items 2025-10-30 09:59:38 +03:00
9ff80bc98b Add nice blocks layout and colors 2025-10-24 15:36:01 +03:00
838443e602 Add account info, BEP, start/stop icons 2025-10-24 02:13:35 +03:00
84fe4274bf Cleaning code 2025-10-21 21:24:09 +03:00
6452cd47b3 Add displaying information about instances 2025-10-21 16:08:01 +03:00
1716aa02ba Add collecting info via mt5 library 2025-10-16 20:41:52 +03:00
22fdc9551f Add docs for routes p2 2025-10-14 23:54:26 +03:00
f5d4c1467a Fix typo and add comments 2025-10-14 22:04:04 +03:00
824919d493 Add comments 2025-10-14 16:04:37 +03:00
1b4e35f9aa Add comments 2025-10-14 14:59:40 +03:00
a6c39e1be5 Add controls to main page 2025-10-14 14:16:34 +03:00
ac4dd1347c Rewrite start/stop functions 2025-10-14 14:13:43 +03:00
1e7b1eb29b Add param name to routes /start and /end 2025-10-14 14:12:34 +03:00
f8ebd5c3d4 Add info about the app launch 2025-10-14 07:37:15 +03:00
92459f1172 Merge branch 'article-19852' of https://forge.mql5.io/antekov/mt5-manager into article-19852 2025-10-13 21:55:52 +03:00
4c54df940a Add style.css 2025-10-13 21:55:41 +03:00
ed73458bb8 Merge branch 'article-19852' of https://forge.mql5.io/antekov/mt5-manager into article-19852 2025-10-13 21:54:05 +03:00
15c42d604e Add separate files 2025-10-13 21:53:50 +03:00
00eeb2f761 Add separate files 2025-10-10 10:16:59 +03:00
cf7338f189 Add start/stop routes p1 2025-10-07 21:48:20 +03:00
0dd5fb2427 First viable version 2025-10-06 23:34:05 +03:00
700594ae5a Modify .gitignore 2025-10-04 15:11:09 +03:00