Overview
NOVOSKY does not use the MetaTrader5 Python package. All broker communication goes through a self-hosted HTTP API running on your MT5 server. Base URL:https://novosky.app/terminal/ (or your own self-hosted instance)
OpenAPI spec: /openapi.json
Authentication: Bearer token in the Authorization header.
API_TOKEN in your .env to match the token configured on the server. The /ping endpoint is the only one that skips authentication.
Endpoint groups
The API is organized into seven tag groups โ all auto-generated in the sidebar:Response format
All endpoints return JSON. HTTP helpers intrading/bot.py parse responses into SimpleNamespace objects:
Error handling
Non-2xx responses include aretcode field with the MT5 error code. The bot logs errors and sends a Telegram alert automatically.
Broker server time
GET /time returns the brokerโs server timestamp alongside machine UTC, so you can verify the detected UTC offset. Optionally pass ?symbol=BTCUSD to pin which symbolโs tick is used.
server_epoch will be null and the bot falls back to broker_utc_offset_fallback_hours in config.json.
Spread conversion
GET /symbols/{symbol}/rates returns spread in raw points. For BTCUSD on RoboForex:
trading.py handles this automatically.
Order types
POST /orders accepts the following type values:
BUY and SELL market orders. The other types are available for manual use.