## Fixes - backtest: fixed duplicated order update trigger for market order filled status. - backtest: fixed the kline sync and rewrote the back-filling logic. (faster sync) - sync: fixed the binance withdraw history sync with the new API. (implemented with requestgen) - fixed profits table: data too long for profits column 'symbol' error. - fixed binance bookTicker typename. - fixed helm chart grpc binding string. - fixed duplicated kline sync issue and add unique index for kline tables. - interact: fixed missing make(). - fixed incorrect binance futures position parsing. - fixed SMA indicator. - fixed and improve the sqlite support for back-testing. ## Features - added more binance margin API support - added binance loan history, repay history, interest history sync. - added CoinMarketCap API. - backtest: added web-based backtest report with kline chart and position information. - backtest: added strategy parameter optimizer (grid search). - indicator: added cci indicator - improved and redesigned the strategy persistence API. - indicator: added emv indicator ## New Strategies - added `supertrend` strategy. - added `pivotshort` strategy. - added `dca` strategy. - added `fmaker` strategy. - added `autoborrow` strategy. - added `wall` strategy. ## Strategy Updates - `bollmaker`: added dynamic spread support. - `bollmaker`: added exchange fee to position. - `ewo`: fixed entry backtest. - `rebalance`: use limit orders [Full Changelog](https://github.com/c9s/bbgo/compare/v1.32.0...main) - [#682](https://github.com/c9s/bbgo/pull/682): fix: fix duplicated filled order update callbacks in backtest - [#681](https://github.com/c9s/bbgo/pull/681): Indicator/supertrend - [#653](https://github.com/c9s/bbgo/pull/653): strategy: add supertrend strategy - [#678](https://github.com/c9s/bbgo/pull/678): interact: fix missing make() - [#638](https://github.com/c9s/bbgo/pull/638): strategy: add fmaker - [#679](https://github.com/c9s/bbgo/pull/679): fix: close / rollback queries/transactions on error - [#676](https://github.com/c9s/bbgo/pull/676): fix: rewrite kline verifying function - [#674](https://github.com/c9s/bbgo/pull/674): rename LocalActiveOrderBook to just ActiveOrderBook - [#672](https://github.com/c9s/bbgo/pull/672): fix and simplify LocalActiveOrderBook - [#671](https://github.com/c9s/bbgo/pull/671): Fix futures position incorrect - [#670](https://github.com/c9s/bbgo/pull/670): Improve backtest report ui - [#669](https://github.com/c9s/bbgo/pull/669): fix: fix partial kline sync - [#667](https://github.com/c9s/bbgo/pull/667): strategy: pivotshort refactor - [#660](https://github.com/c9s/bbgo/pull/660): pivotshort: clean up strategy - [#666](https://github.com/c9s/bbgo/pull/666): improve: apply default exchange fee rate - [#664](https://github.com/c9s/bbgo/pull/664): fix: use the correct id for state loading - [#663](https://github.com/c9s/bbgo/pull/663): test: add more test on Test_loadPersistenceFields - [#661](https://github.com/c9s/bbgo/pull/661): fix: drop IsZero - [#656](https://github.com/c9s/bbgo/pull/656): refactor: drop unused function - [#657](https://github.com/c9s/bbgo/pull/657): fix: bollmaker: fix short position order - [#655](https://github.com/c9s/bbgo/pull/655): fix: improve and fix kline sync - [#654](https://github.com/c9s/bbgo/pull/654): fix: change from local timezone to UTC when do kline synchronization - [#652](https://github.com/c9s/bbgo/pull/652): refactor/fix: withdraw sync - [#650](https://github.com/c9s/bbgo/pull/650): Fix: Persistence Reflect IsZero - [#649](https://github.com/c9s/bbgo/pull/649): fix: max: fix QueryAccount for margin wallet - [#648](https://github.com/c9s/bbgo/pull/648): feature: binance margin history sync support - [#644](https://github.com/c9s/bbgo/pull/644): feature: sync binance margin history into db - [#645](https://github.com/c9s/bbgo/pull/645): feature: add emv indicator, fix: sma - [#633](https://github.com/c9s/bbgo/pull/633): Fix/ewo entry, backtest - [#637](https://github.com/c9s/bbgo/pull/637): feature: binance margin loan/interest/repay history - [#636](https://github.com/c9s/bbgo/pull/636): fix: max: fix trades/orders parsing - [#635](https://github.com/c9s/bbgo/pull/635): feature: max margin wallet - [#617](https://github.com/c9s/bbgo/pull/617): feature: bollmaker dynamic spread - [#634](https://github.com/c9s/bbgo/pull/634): rebalance: place limit orders - [#632](https://github.com/c9s/bbgo/pull/632): fix: setup-bollgrid.sh: respect exchange name from command line argument - [#630](https://github.com/c9s/bbgo/pull/630): fix: fix duplicated kline sync issue and add unique index for kline tables - [#628](https://github.com/c9s/bbgo/pull/628): fix: fix summary report intervals - [#627](https://github.com/c9s/bbgo/pull/627): feature: add grid optimizer - [#626](https://github.com/c9s/bbgo/pull/626): use types.Interval instead of string - [#625](https://github.com/c9s/bbgo/pull/625): feature: web-based back-test report - add mantine UI framework - [#622](https://github.com/c9s/bbgo/pull/622): fix: back-test report: load position from the manifest - [#605](https://github.com/c9s/bbgo/pull/605): feature: add web-based back-test report - [#620](https://github.com/c9s/bbgo/pull/620): fix: sqlite3 compilation - [#619](https://github.com/c9s/bbgo/pull/619): fix dockerfile. - [#618](https://github.com/c9s/bbgo/pull/618): fix: golang version in Dockerfile - [#610](https://github.com/c9s/bbgo/pull/610): feature: SLTP from bookticker. fix: bookTicker typename, depth buffer… - [#615](https://github.com/c9s/bbgo/pull/615): python: parse balance borrowed - [#614](https://github.com/c9s/bbgo/pull/614): ftx: Let FTX support 4hr interval - [#592](https://github.com/c9s/bbgo/pull/592): feature: add CoinMarketCap API - [#613](https://github.com/c9s/bbgo/pull/613): bollmaker: set exchange fee to position - [#609](https://github.com/c9s/bbgo/pull/609): Fix error: Data too long for profits column 'symbol' - [#612](https://github.com/c9s/bbgo/pull/612): python sdk: use decimal. - [#611](https://github.com/c9s/bbgo/pull/611): feature: add wall strategy - [#603](https://github.com/c9s/bbgo/pull/603): feature: backtest report - #2 state recorder - [#599](https://github.com/c9s/bbgo/pull/599): feature: add cci indicator - [#601](https://github.com/c9s/bbgo/pull/601): feature: backtest report - [#600](https://github.com/c9s/bbgo/pull/600): fix helm chart grpc binding string - [#562](https://github.com/c9s/bbgo/pull/562): add Series documentation - [#598](https://github.com/c9s/bbgo/pull/598): fix: binance data sync - [#593](https://github.com/c9s/bbgo/pull/593): glassnode: simplify NewAuthenticatedRequest - [#597](https://github.com/c9s/bbgo/pull/597): strategy: update bollmaker to support new strategy controller - [#575](https://github.com/c9s/bbgo/pull/575): feature: binance: add get deposit address request API - [#596](https://github.com/c9s/bbgo/pull/596): improve persistence api