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
category
beingmd
orom
.
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
OrderCancelPolicy
when 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_dir
instead 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_id
outside loop over accounts (Server) (#286).
Other¶
Remove deprecated functions (API) (#281).