Release 0.8.9¶
2022-11-14
This release has a number of potentially breaking changes. Please review the descriptions here before updating the software.
Strategy Parameters (NEW)¶
It is now possible to manage strategy parameters. This may allow you to
Control strategies, e.g. start, stop, set target position, etc.
Update model parameters in real-time
Persist values between restarts
Capture all changes into the event-log
Design documentation can be found here.
REST Interface (NEW)¶
A generic web-interface is now available to query gateways for internal state, for example
Session information
List of users and connection state
List of accounts
Stream status
Gateway status
Public data (reference data, market status, top of book, etc.)
Private data
Custom data
Strategy parameters
Note
This is designed to have zero impact on the latency of the core operation of the gateway.
Reference documentation can be found here.
Event-Logs (CHANGE)¶
Warning
Filenames and directories now use public and private (instead of md and om).
To better align with new conventions, you may want to move existing md/om directories to
public/private after you update the software.
Note
It is not a strict requirement to rename/move directories.
The software should automatically find the event-logs following previous naming conventions.
Prometheus queries may also have to be updated
If you have been explicitly filtering on
categorybeingmdorom.
API (CHANGE)¶
Warning
ParametersUpdate (plural) was renamed from ParameterUpdate (singular)
This should be a simple code-change and your project should then build again.
Gateways¶
General (CHANGE)¶
Warning
--service_listen_address was renamed from --metrics_listen_address.
There is backwards compatibility: A warning will appear if you still use --metrics_listen_address.
Note
Please update to using --service_listen_address as this compatibility mode will later be removed.
Warning
--metrics_query_path was removed.
roq-binance (NEW)¶
New flags have been introduced to deal with the HTTP 403 response code.
Order Download (CHANGE)¶
Warning
A fix was added to prevent clients from sending order requests during download (between DownloadBegin and
DownloadEnd).
The reason for enforcing this restriction is that it should not be possible to modify the state of cached objects while these objects are being downloaded.
There are some strategies to follow if the goal is to auto-cancel downloaded orders:
Use the
OrderCancelPolicywhen configuring the client. This can instruct the gateway to try and auto-cancel orders upon detecting client disconnect.Collect the
order_id’s during download and send the order cancelation requests immediately upon seeingDownloadEnd.Note
Collection should potentially take into account that download is per-account.
Cache (Filesystem) (CHANGE)¶
Warning
The --auth_cache_dir flag has been removed.
The new flag is --cache_dir.
It became necessary to cache the history of mapped id’s from user names.
Since a filesystem cache for authentication tokens is also needed, it seems natural to align these use-cases.
The sub-directory structure is now <cache_dir>/<name>/<type>, where type is currently one
of auth and config.
Note
The previous naming convention for authentication tokens were <auth_cache_dir>/<name>.json.
Users (Gateway Configuration) (CHANGE)¶
Due to user id’s being encoded into the ClOrdId sent to the exchange, it became apparent that the
mapping from name to id must not change between gateway sessions.
A new cache directory has been introduced to retain the history of mappings from name to id.
CHANGELOG¶
Added¶
Changed¶
Throttle downloading of orders and fills (KuCoin) (#298).
Event-log filenames now use public/private instead of md/om (Server) (#297).
Delay initial authentication request (Server) (#296).
Now using
--cache_dirinstead of--auth_cache_dir(Server) (#289).Improved error reporting when parsing flags (Core) (#285).
Fixed¶
Unable to parse datetime (Kraken) (#295).
OrderAck was missing when HTTP response was HTML (instead of JSON) (Binance) (#293).
Order action requests should be rejected while download is in progress (Client) (#291).
Mapping of user name to id must be persisted (Server) (#287).
Prevent possible errors by computing
max_order_idoutside loop over accounts (Server) (#286).
Other¶
Remove deprecated functions (API) (#281).