The resolved hub URL including the tradePlatform query parameter.
Intended for tests and diagnostic tooling.
Returns the underlying HubConnection for advanced use (manual .on/.invoke
calls not covered by the typed helpers below). Throws if not started yet.
Subscribe to OnConnectionStatus callbacks. The server pushes one such
event right after the handshake completes.
May be called before or after start() — registering before start() is
strongly recommended to avoid missing the initial post-handshake push.
Open the SignalR connection. Idempotent — calling twice while already connected resolves without action.
Close the SignalR connection. Safe to call on a connection that was never started or has already been closed.
Returns an AsyncIterable<MT5MarginCallPayload> backed by the server-side
StreamMarginCallUpdates stream. Use in a for await loop.
Resolve a token via this client's token provider. Intended for tests to verify that the shared provider is wired correctly.
SignalR wrapper around
/hubs/mt5/v2. Holds a singleHubConnectionand exposes typed helpers for the MT5 reduced real-time scope.Lifecycle:
new MT5V2SignalRClient(opts)— synchronous; resolves the token provider and pre-computes the hub URL but does NOT open a socket.onConnectionStatus()— MAY be called beforestart(). Registering beforestart()is recommended so the initial post-handshakeOnConnectionStatuspush is never missed.await client.start()— opens the WebSocket connection. All callbacks queued beforestart()are attached to theHubConnectionbefore the socket opens, guaranteeing they are in place before any server push arrives.streamMarginCallUpdates()to consume streams (requires open connection).await client.stop()— closes the connection.