CHANGELOG
2024-11-5
v1.4.31 Cybotrade Update
- bugfix: Bitget
post_only
limit orders will return error when attempting to retrieve open_order. - feat: reconnection resync now replaces entire data_map with just-retrieved data.
2024-10-24
v1.4.30 Cybotrade Update
- feat: Introduce new
periodic_resync
option forRuntimeConfig
. - bugfix: coinglass historical data retrieval may sometimes retrieve unnecessary additional data.
- bugfix: 1 minute delay when closing backtest strategies.
2024-10-03
v1.4.29 Cybotrade Update
- feat: new Strategy function
Strategy.get_order_details()
- bugfix: connection to Datasource may potentially hang at rare occasions.
2024-09-23
v1.4.28 Cybotrade Update
- bugfix: OrderUpdate from BitgetLinear does not connect consistently on Cloud instances.
2024-09-21
v1.4.27 Cybotrade Update
- bugfix: OrderUpdate from BitgetLinear
filledSize
does not return cumulative filled size.
v1.4.26 Cybotrade Update
- bugfix: WebSocket connection to BitgetLinear attempts to subscribe prior to authentication success.
v1.4.25 Cybotrade Update
- bugfix: OrderUpdate from BitgetLinear returns incorrect
client_order_id
.
2024-09-19
v1.4.24 Cybotrade Update
- bugfix: Live trade randomly panics with error message 'Timeout(1min)...'.
2024-09-18
v1.4.23 Cybotrade Update
- feature: Introduce new optional field for
Strategy.open
andStrategy.close
known astime_in_force
the default value is GTC. - bugfix: Particular glassnode endpoints were causing issues with
end time
parameter. - bugfix: Market orders on Bybit set to IOC instead of GTC by default.
2024-09-2
v1.4.22 Cybotrade Update
- feature: Introduce data
caching for
RuntimeMode.Backtest
. - feature: Introduce new optional field
cache_path
for RuntimeConfig only valid in Backtest.
2024-08-24
v1.4.21 Cybotrade Update
- feature: Introduce new model
Balance
. - feature: Introduce new
get_balance_data()
method forStrategyTrader
.
2024-08-14
v1.4.20 Cybotrade Update
- bugfix:
RuntimeMode.Backtest
is unable to place any order. - bugfix: When there is downtime, a connection will not exit leading to a bricked state.
2024-08-9
v1.4.19 Cybotrade Update
- feat: spot candles are now available from this version onwards.
2024-08-8
v1.4.18 Cybotrade Update
- bugfix: cybotrade runtime might panic unexpectedly when taking to long for reconnection.
2024-07-31
v1.4.17 Cybotrade Update
- bugfix: cryptoquant data cannot be retrieved in full for certain dates.
- bugfix: resync
data_map
andsplit_data_map
leads to unnecessary on_candle_closed/on_datasource_interval invocation .
2024-07-23
v1.4.16 Cybotrade Update
- bugfix: getting position for binance using
all_position
will return erroneous quantity
2024-07-20
v1.4.15 Cybotrade Update
- bugfix: getting position will return
0.0
quantity for anyshort
position - bugfix: calling
strategy.position()
withExchange.ZoomexLinear
will result in an error
2024-07-17
v1.4.14 Cybotrade Update
-bugfix: resync'd data_map
and split_data_map
will invoke user's
on_candle_closed
and on_datasource_interval
despite not having any new
data.
2024-07-12
v1.4.13 Cybotrade Update
- bugfix: calling
get_open_orders
with bitget whilst having no open orders results in an error. - bugfix: resync'd
data_map
andsplit_data_map
panics when there is no data in the map. - improvement: proactive ping-pong on Datasource WS connection for better realiability.
2024-07-08
v1.4.12 Cybotrade Update
- bugfix: Backtest unable to be ran when setting
start_time
to a date prior to Exchange Market existing. E.g: 1/1/2020 for Bybit BTC/USDT candle.
2024-07-05
v1.4.11 Cybotrade Update
- improvement:
self.data_map
andself.split_data_map
now gets resynchronized upon any connection issues. - improvement:
permutation.py
no longer warns about SyntaxWarning.
2024-07-02
v1.4.10 Cybotrade Update
- bugfix:
update_ringbuffer
throws an error on shutdown on Windows. - bugfix:
self.data_map
does not get updated data. - feat: Introduce new
self.split_data_map
.
2024-06-25
v1.4.9 Cybotrade Update
- bugfix: Unable to retrieve >100k data from specific CryptoQuant endpoints.
- bugfix: Windows CPU incompatibility.
- feat: Introduce Zoomex exchange support.
- feat: Introduce better optimized data_map (split_data_map).
2024-06-21
v1.4.8 Cybotrade Update
- bugfix: bitget order placement with post-only fails.
- bugfix:
on_shutdown
does not get executed when running Cybotrade on Windows.
2024-06-20
v1.4.7 Cybotrade Update
- bugfix: on_active_order_interval causes python to exit when an error is encountered.
2024-06-4
v1.4.6 Cybotrade Update
-bugfix: Strategy.get_wallet_balance
not supported for Bitget.
-bugfix: Error logs showing when running any Live/LiveTestnet strategies.
-bugfix: Duplicated logs when running permutations in Backtest strategies.
-performance: Improved Backtest permutation performance by 75%.
2024-05-24
v1.4.5 Cybotrade Update
-bugfix: Strategy.position()
not supported for Okx.
-bugfix: on_shutdown()
event handler does not get called when Datasource
Cloud instance gets stopped.
2024-05-20
v1.4.4 Cybotrade Update
-bugfix: Spam logs when running Live or LiveTestnet Strategies.
-bugfix: get_current_available_balance()
results in Error when using Bitget.
2024-05-14
v1.4.3 Cybotrade Update
-bugfix: Unable to retrieve data from Datasource topic with the same endpoints but different parameters.
-feat: Introduce Bitget exchange support.
2024-05-07
v1.4.2 Cybotrade Update
-bugfix: Order update does not receive updates after reconnection to Exchange via WS.
2024-05-05
v1.4.1 Cybotrade Update
-bugfix: Incorrect end_time
values from datasource cryptoquant data.
-bugfix: on_shutdown
event handler exiting prematurely.
-improvement: Improved LSP auto-completion for Strategy
method
open()
for is_post_only
and is_hedge_mode
parameters.
-feat: Introduce OKX exchange support.
-feat: Introduce Binance exchange support.
-feat: Introduce new Strategy
method,
get_order_book()
.
2024-04-04
v1.4.0 Cybotrade Update
-bugfix: Calling any CryptoQuant endpoints for block will result in an infinite loop.
-bugfix: When calling CryptoQuant endpoints that require the token
parameter
the parameter is ignored by accident.
-feat: Updated
on_datasource_interval
API arguments. It now accepts a new
data_list
-feat: Updated ActiveOrderParams
fields.
It now contains a boolean is_reduce_only
and float price
(limit price).
-feat: Introduce new Strategy
method,
get_open_orders()
.
-feat: Introduce new parameter for Strategy
method
open()
and
OrderParam
data structure, 'post_only'.
-feat: Introduce new event handler on_shutdown()
.
-feat: Added support skeleton for Glassnode provider.
2024-03-25
v1.3.9 Cybotrade Update
-bugfix: Running any backtests with coinglass datasource will get capped limit of 4500 data points.
2024-03-21
v1.3.8 Cybotrade Update
-bugfix: Attempting to index into self.data_map
with any DataSource topic
will fail.
2024-03-20
v1.3.7 Cybotrade Update
-bugfix: Opening a trade in an opposite direction of the last closed trade after having placed orders will cause Order Pool to not get updated in Backtest, leading to incorrect Position data.
-bugfix: When attempting to call close()
on Live, it will fail with error
Attempted to call close() with no position
despite having positions.
-feat: Introduces single request per Permutation sets, improving time performance for running Permutations in Backtest.
-feat: Introduces Ping-Pong system to ensure connectivity between DataSource server and Cybotrade when Cybotrade encounters network issues.
2024-03-17
v1.3.6 Cybotrade Update
-bugfix: When starting a Backtest with any cryptoquant data, the
self.data_map
will store the data_count
set of data in reversed order of
datetime.
-bugfix: When running strategies with Coinglass V3 topics, the data received is hard capped at 1000.
Datasource
-feat: Handles disconnection from Cybotrade by forcibly closing connection when Cybotrade is unresponsive.
2024-03-15
v1.3.5 Cybotrade Update
-
bugfix: Short position TP order when created with
Strategy.open()
will always execute on the next candle closed despite not being in range of the candle. -
bugfix:
on_order_update
will cause the entire strategy to exit when it receives an update from any trading symbol that is not included in thecandle_topics
parameter forRuntimeConfig
. -
bugfix: If
format=csv
is passed in when calling CryptoQuant topics, it will result in an exit, theformat
parameter is now ignored. -
feat:
performance.json
does not get produced if the strategy that was ran did not produce any trades. -
feat:
on_active_order_interval
parameter forRuntimeConfig
is now based on seconds rather than minutes. -
feat: New
strategy
functionall_position()
. -
feat: New
symbol
class field forPosition
model.
2024-03-12
v1.3.4 Cybotrade Update
-
bugfix: When retrieving more than 100,000 sets of data for CryptoQuant data, the runtime will be stuck in an infinite loop.
-
bugfix: The second last value in the
self.data_map[topic]
for candles duringRuntimeMode.LiveTestnet
andRuntimeMode.Live
is off by 1000 counts. -
bugfix: Removed
is_hedge_mode
argument fromStrategy.cancel()
-
feat: removed redundant logs for
on_active_order_interval
as well ason_order_update
DataSource
- feat: caching after first request, this will improve 'data fetching' time.
Documentation
- feat: Updated Coinglass V1 documentation to Coinglass V3.
2024-03-10
v1.3.3 Cybotrade Update
-
bugfix: The first candle closed received in a backtest is duplicated within the
self.data_map()
. -
feat: removed
hedge_mode
from theRuntimeConfig
struct. -
feat: introduced
is_hedge_mode
argument forStrategy.open()
,Strategy.close()
convenience methods, as well as theOrderParams
struct.
You may notice that
Strategy.cancel()
has a function signature that accepts theis_hedge_mode
argument, this should be ignored.
-
feat:
Strategy.position()
now retrieves position directly from exchange. -
feat: Introduces support for Coinglass V3 topics.
-
feat: Deprecated Coinglass V1 topics.