Skip to content

Releases: andycheng123/bbgo

BBGO v1.54.0

01 Dec 02:48
1a0db2c
Compare
Choose a tag to compare

Full Changelog

  • #1424: IMPROVE: improve startup balance query process
  • #1408: FEATURE: [datasource] add wise rate API
  • #1423: IMPROVE: improve trade buffer memory size usage
  • #1419: FIX: [bitget] use the now - 90 days instead of return err if since is 90 days earlier
  • #1412: FEATURE: [bitget] implement order, trade user stream
  • #1417: REFACTOR: [stream] skip pong event on emitting raw message
  • #1415: FEATURE: [bitget] use v2 tickers
  • #1416: FEATURE: [bitget] add response validator
  • #1413: FEATURE: [bitget] use v2 symbols
  • #1410: FEATURE: [bitget] Add query kline
  • #1406: FEATURE: [bitget]add balance event
  • #1409: CHORE: [bybit] print fee rate log
  • #1407: FEATURE: add environment config for disabling some klines defaults
  • #1404: FEATURE: [bitget] support cancel order
  • #1400: FEATURE: [bitget] support query trades
  • #1399: FEATURE: [bitget] support submit order

BBGO v1.53.0

01 Dec 02:54
28c8fda
Compare
Choose a tag to compare

Full Changelog

  • #1401: STRATEGY: add liquidity maker
  • #1403: FEATURE: [bybit] add assertion for API response
  • #1394: FEATURE: [bitget] support query closed orders
  • #1392: FEATURE: [bitget] add query open orders
  • #1396: FEATURE: add ttl for position/grid2.profit stats persistence
  • #1395: FIX: fix skip syncing active order
  • #1398: FIX: [bybit] rm retry and add fee recover
  • #1397: FEATURE: [bybit] to periodically fetch the fee rate
  • #1391: FIX: [grid2] respect BaseGridNum and add a failing test case
  • #1390: FIX: [rebalance] fix buy quantity
  • #1380: FEATURE: [bitget] support kline subscription on stream
  • #1385: FEATURE: [bitget] add query tickers api
  • #1376: FEATURE: query trades from db page by page
  • #1386: REFACTOR: [wall] refactor wall strategy with common.Strategy
  • #1382: REFACTOR: [bitget] add rate limiter for account, ticker
  • #1384: CHORE: minor improvements on backtest cmd
  • #1381: DOC: grammatical errors in the README.md
  • #1377: REFACTOR: [rebalance] submit one order at a time
  • #1378: REFACTOR: [bitget] get symbol api
  • #1375: DOC: grammatical error in the code_of_conduct file
  • #1374: FIX: retry to get open orders only for 5 times and do not sync orders…
  • #1368: FEATURE: merge grid recover and active orders recover logic
  • #1367: DOC: fix typos in doc/development
  • #1372: FIX: [bybit][kucoin] fix negative volume, price precision
  • #1373: FEATURE: [xalign] adjust quantity by max amount
  • #1363: FEATURE: [bitget] support ping/pong
  • #1370: REFACTOR: [stream] move ping into stream level
  • #1361: FEATURE: prepare query trades funtion for new recover
  • #1365: FEATURE: [batch] add jumpIfEmpty opts to closed order batch query
  • #1364: FEATURE: [batch] add a jumpIfEmpty to batch trade option
  • #1362: DOC: Modified README.md file's language.
  • #1360: DOC: Update CONTRIBUTING.md
  • #1351: DOC: Update README.md
  • #1355: REFACTOR: rename file and variable
  • #1358: MINOR: [indicator] remove zero padding from RMA
  • #1357: FIX: Fix duplicate RMA values and add test cases
  • #1356: FIX: fix rma zero value issue
  • #1350: FEATURE: [grid2] twin orderbook
  • #1353: CHORE: go: update requestgen to v1.3.5
  • #1349: MINOR: remove profit entries from profit stats
  • #1352: DOC: Fixed a typo in README.md
  • #1347: FEATURE: [bitget] support market trade stream
  • #1344: FEATURE: [bitget] support book stream on bitget
  • #1280: FEATURE: [bitget] integrate QueryMarkets, QueryTicker and QueryAccount api
  • #1346: FIX: [xnav] skip public only session
  • #1345: FIX: [bbgo] check symbol length for injection
  • #1343: FIX: [max] remove outdated margin fields
  • #1328: FEATURE: recover active orders with open orders periodically
  • #1341: REFACTOR: [random] remove adjustQuantity from config
  • #1342: CHORE: make rightWindow possible to be set as zero
  • #1339: FEATURE: [BYBIT] support order book depth 200 on bybit
  • #1340: CHORE: update xfixedmaker config for backtest
  • #1335: FEATURE: add custom private channel support to max
  • #1338: FIX: [grid2] set max retries to 5
  • #1337: REFACTOR: rename randomtrader to random
  • #1327: FIX: Fix duplicate orders caused by position risk control
  • #1331: FEATURE: add xfixedmaker strategy
  • #1336: FEATURE: add randomtrader strategy
  • #1332: FEATURE: add supported interval for okex
  • #1232: FEATURE: add forceOrder api for binance to show liquid info
  • #1334: CHORE: [maxapi] change default http transport settings
  • #1330: REFACTOR: Make fixedmaker simpler
  • #1312: FEATURE: add QueryClosedOrders() and QueryTrades() for okex

BBGO v1.52.0

01 Dec 02:48
51ac5dd
Compare
Choose a tag to compare

Full Changelog

  • #1325: FIX: listenKeyExpired event sends string timestamp
  • #1326: FIX: [bybit] fix bybit query trades
  • #1323: FEATURE: add atrpin strategy
  • #1324: FEATURE: [bybit] emit balance snapshot
  • #1318: CHORE: add IsHalted method to common.Strategy for CircuitBreakRiskControl
  • #1313: FIX: [grid2] only do active order update when grid is recovered
  • #1320: FEATURE: add log fields support to the core
  • #1319: CHORE: change websocket error to warnf
  • #1317: FIX: Wait for all routines to close while streaming is reconnecting
  • #1315: REFACTOR: use common strategy in fixedmaker
  • #1311: FEATURE: emit regardless of whether there is an error or not on subscription.
  • #1314: FEATURE: use retry query order until successful
  • #1302: FEATURE: use quote quantity if there is QuoteQuantity in trade
  • #1307: FEATURE: add QueryOrderTrades() for okex
  • #1310: FIX: fix pending order update comparison
  • #1309: FEATURE: add auth event
  • #1308: FEATURE: [bybit] support market trade
  • #1306: IMPROVE: Update Binance futures account api to v2
  • #1304: FEATURE: [bybit] support unsubscribe
  • #1301: FEATURE: add Reconnect and Resubscribe for stream
  • #1305: FEATURE: refactor okex to future use
  • #1303: FEATURE: set default 30d for closed order batch query
  • #1299: CHORE: add time to SliceOrderBook
  • #1295: FEATURE: round down executed amount to avoid insufficient balance
  • #1297: FIX: reset profit stats when over given duration in circuit break risk control
  • #1298: FIX: [grid2] fix active order recover, add start process delay
  • #1300: FIX: fix okex bookticker bug
  • #1238: TEST: add unit test for okex exchange
  • #1293: FIX: [bybit] quantity in buy market order
  • #1290: FEATURE: [grid2] update local active orders after re-connected
  • #1291: FIX: [max] Fix QuerySpotAccount method
  • #1287: FEATURE: [bybit] add kline backtest
  • #1289: FIX: [bybit] fix misc
  • #1285: FEATURE: [bybit] implement ExchangeOrderQueryService interface
  • #1288: FIX: [deposit2transfer] call QuerySpotAccount for getting the spot balance
  • #1283: IMPROVE: profitStatsTracker, Add a parameter for window to sum up trades
  • #1284: FIX: [deposit2transfer] apply rate limiter on checkDeposits
  • #1282: FEATURE: [bybit] add trade info event
  • #1277: FEATURE: [bybit] add k line api
  • #1281: FIX: [deposit2transfer] add lastAssetDepositTimes for immediate success deposits
  • #1279: FEATURE: [bybit] support query account/balance api
  • #1278: FEATURE: [max] update deposit states and add more fields to deposit
  • #1275: FEATURE: [strategy] add deposit2transfer tool
  • #1276: REFACTOR: add order event
  • #1274: FEATURE: [bybit] add balance snapshot event
  • #1271: REFACTOR: apply market.GreaterThanMinimalOrderQuantity on both convert and xalign
  • #1273: FEATURE: [bybit] add auth func in WebSocket
  • #1268: FEATURE: [bybit] implement order book streaming
  • #1270: FEATURE: [strategy] Add convert strategy
  • #1269: FIX: supertrend uses strconv instead of fmt
  • #1265: FEATURE: [bybit] implement stream ping
  • #1267: FEATURE: add custom heart beat func to StandardStream
  • #1266: FIX: types: exit ping worker when error is happened

BBGO v1.50.1

11 Jul 02:45
19552b0
Compare
Choose a tag to compare

Full Changelog

  • #1216: Fix: exit/hhllStop bugs
  • Fixed indicator nil map issue

BBGO v1.44.0

14 Mar 03:08
a5641f6
Compare
Choose a tag to compare

Full Changelog

  • #1105: IMPROVE: [grid2]: use newClientOrderID only for max
  • #1052: IMPROVE: strategy: linregmaker minprofit
  • #1100: FIX: [grid2] specify client order id explicitly
  • #1098: FIX: fix format string float point issue
  • #1103: strategy: rebalance: graceful cancel
  • #1102: FIX: strategy: fix fixedmaker
  • #1101: strategy: add fixedmaker
  • #1099: FIX: [grid2] avoid handling one orderID twice
  • #1090: fix/scale: fix LinearScale calculation
  • #1096: FEATURE: [grid2] add ClearDuplicatedPriceOpenOrders option
  • #1087: FEATURE: recover grids with open orders by querying trades process an…
  • #1095: FIX: filter wrong order id from self-trade trades
  • #1094: FIX: use updated_at instead of created_at to convert MAX order to typ…
  • #1093: strategy: rebalance: add positions and profit stats
  • #1092: FEATURE: [grid2] add more metrics and fix metric-related issues
  • #1091: FEATURE: split self trades when use MAX RESTful API to query trades
  • #1089: IMPROVE: exit: show symbol in trailing stop triggered message
  • #1088: FIX: [grid2] fix isCompleteGrid condition
  • #1086: FIX: [grid2] round down quoteQuantity/baseQuantity after the fee reduction
  • #1085: FIX: [grid2] group id should be bound by MaxInt32
  • #1080: strategy: marketcap: add orderType parameter
  • #1083: FIX: add group id on submit order API
  • #1084: FIX: [grid2] avoid initializing metrics twice
  • #1082: FIX: add mutex in memory store
  • #1081: FIX: [grid2] fix active orderbook at recovering
  • #1079: FIX: [grid2]: add write context for submitting orders
  • #1078: FIX: [grid2]: improve the onStart callback and the cancel loop
  • #1077: FEATURE: save expiring data to redis
  • #1076: FIX: [grid2]: quantity fee reduction for quote currency
  • #1069: DOC: add private strategy demo trading-gpt
  • #1075: FEATURE: add persistence service to environment
  • #1074: strategy: rebalance: add order type parameter
  • #1073: FIX: fix fixedpoint rounding
  • #1072: FIX: [grid2]: calculate grid profit only when the reverse order is placed
  • #1070: FIX: add context, exponential backoff and max retry limit
  • #1071: FEATURE: [grid2]: use UseCancelAllOrdersApiWhenClose
  • #1066: FIX: [grid2]: fix fee reduction by rounding
  • #1065: FEATURE: submit order backoff
  • #1064: FIX: emit order update handler from the pending maker order
  • #1063: IMPROVE: [grid2]: improve logging
  • #1062: FIX: [grid2]: fix recover sorting
  • #1061: FIX: [grid2] fix quote accumulation
  • #1060: FIX: process pending order update for active order book
  • #1059: FIX: [grid2]: emit grid ready once the grid is recovered
  • #1058: FIX: [grid2]: fix grid order recover
  • #1057: FIX: [grid2]: fix HasPrice
  • #1056: FIX: [grid2]: fix upper price error
  • #1053: FEATURE: get historical public trades from binance
  • #1023: implement indicators from phemex
  • #1050: FEATURE: New indicators
  • #1051: FIX: [grid2]: fix grid num calculation
  • #1049: FEATURE: [grid2]: make OpenGrid, CloseGrid api public
  • #1048: FEATURE: [grid2]: integrate prometheus metrics
  • #1047: FEATURE: add RSI to StandardIndicatorSet
  • #1043: FEATURE: service: add redis namespace support
  • #1036: FIX: create log dir to avoid error
  • #1035: FEATURE: strategy: [grid2] add grid callbacks
  • #1034: FEATURE: strategy: [grid2]: use initial order ID to query closed order history to recover grid
  • #1033: FEATURE: strategy: [grid2]: improve recovering process [part 3]

BBGO v1.43.1

14 Mar 03:09
1be5c11
Compare
Choose a tag to compare

Fixes

  • Fixed grid2 order recovering

Full Changelog

  • #1032: strategy: grid2: recover grid orders [part 2]

BBGO v1.43.0

14 Mar 03:09
3e87cbb
Compare
Choose a tag to compare

All

  • Removed FTX code.

Fixes

  • Fixed binance websocket execution report message parsing.
  • Fixed margin history sync query.
  • Fixed rebalance backtest
  • Fixed SerialMarketDataStore together with backtests.
  • Fixed order executor for avoid checking base balance for futures.

Features

  • Added cancel order for exit roi take profit and loss
  • Added rollbar support.
  • Added docker image to quay.io.
  • Added FastSubmitOrders method to order exeuctor.
  • Added new optimizer / hoptimizer object types.
  • Added aggTrade for binance

Strategies

  • Added grid2 strategy.
  • Added LinReg maker strategy.
  • Updated supertrend config.
  • Improved IRR strategy. (see PRs for details)
  • Improved Drift strategy. (see PRs for details)

Full Changelog

  • #1030: strategy: grid2: recover functions.
  • #1031: feature: push to quay.io
  • #1027: strategy: LinReg Maker
  • #1028: strategy: grid2: improve notification support
  • #1025: feature: add rollbar support
  • #1024: fix: binance my trades api
  • #1022: strategy: grid2: more refactoring, fix bugs and add more tests
  • #1021: strategy: grid2: add test case for aggregateOrderBaseFee
  • #1020: strategy: grid2: run backtest in test and add more details
  • #1019: strategy: grid2: profit spread, prune historical trades . etc
  • #1018: strategy: grid2 [part2] -- reverse order and arb profit calculation
  • #1017: feature: add sync_time.sh utility
  • #1006: strategy: grid2 [part 1] - initializing grid orders
  • #1016: doc: add series extend documentation
  • #1013: feature: bbgo completion
  • #1014: all: remove ftx
  • #1011: strategy/supertrend: update supertrend config
  • #1008: improve: speed-up live trade
  • #1009: optimizer / hoptimizer add new object
  • #1004: strategy: irr rollback to original nirr and consume kline
  • #989: strategy: irr: a mean reversion based on box of klines in same direction
  • #1000: fix: rebalance: fix backtest
  • #997: fix: SerialMarketDataStore together with backtests
  • #1001: add cancel order for exit roi take profit and loss
  • #996: fix/general-order-executor: do not check for base balance for futures
  • #995: feature: telegram notify to become async
  • #993: fix: indicator timeframe 1s
  • #994: feature: add aggTrade for binance
  • #991: fix/risk: remove balance check in CalculateBaseQuantity()
  • #990: fix: change variable names

BBGO v1.39.2

22 Aug 02:43
3761d6c
Compare
Choose a tag to compare

Fixes

  • fixed backtest non-closed kline filtering.
  • fixed margin order sync issue.

Minor

  • added sortino ratio.
  • added strategy config printing support.

Full Changelog

  • #889: service/backtest: check and filter kline by its endTime
  • #888: binance: fix futures/margin order sync issue
  • #886: Add Sortino ratio
  • #881: print strategy config

BBGO v1.39.1

19 Aug 04:24
555295f
Compare
Choose a tag to compare

Fixes

  • fixed backtest limit taker unlock issue.

Full Changelog

  • #885: backtest: fix limit taker lock issue

BBGO v1.39.0

17 Aug 11:19
Compare
Choose a tag to compare

Full Changelog

  • #882: strategy/autoborrow: add debt re-balancing
  • #877: strategy/supertrend: update example config
  • #878: Drift rebase
  • #875: pivotshort: trendema add initial date
  • #876: Fix: risk.AvailableQuote() should use Net() to get net value
  • #874: Fix binance futures
  • #872: fix: trailing stop properly works on both long and short positions
  • #873: improve: generalorderexecutor retries submit/cancel order once
  • #871: improve: improve maxapi, add v2 order api back
  • #869: Revert "feature: add smart cancel to drift"
  • #853: feature: add smart cancel to drift
  • #860: exchange: order fee-amount protection
  • #865: fix: protectivestoploss not working on long position
  • #868: fix: many minor fixes
  • #867: strategy: factorzoo: upgrade indicators and add comments
  • #862: Improve: supertrend strategy
  • #863: types: rbtree: resolve neel reusing problem
  • #852: feature: PositionModifier
  • #861: strategy/supertrend: re-organize exits part of config
  • #855: optimizeex: hyperparameter optimization tool
  • #856: exchange: FTX default fee
  • #857: optimizer: calculate equity diff from whole assets instead of first symbol
  • #854: fix: added SideEffectTypeAutoRepay to pivotshort take-profit order