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