Commit Graph

239 Commits

Author SHA1 Message Date
TonyQ
4eb5a099ae account: add nav_history_details and account_service for #302 2021-12-14 08:09:18 +08:00
c9s
df683bdf56 use position to calculate the pnl 2021-12-05 02:17:15 +08:00
TonyQ
30c14a6828 fix #261 provide default config for notification setting 2021-12-04 02:37:21 +00:00
c9s
9a589bf71c show broadcast enabled 2021-11-25 18:49:29 +08:00
c9s
f5f96b585a apply broadcast option from config file 2021-10-15 16:10:39 +08:00
c9s
e23c459697 bbgo: move orderbook to the session level so that we can access it eaiser 2021-06-16 13:04:23 +08:00
c9s
3aa36b5989 refactor and fix backtest for user data stream and market data stream 2021-05-30 15:08:11 +08:00
c9s
5f18b89dfa if publicOnly is set, we should not connect user data stream 2021-05-28 19:01:55 +08:00
c9s
f190b1e66a fix market data stream initialization 2021-05-28 03:17:46 +08:00
c9s
b7c87c7744 core: move market data subscription to market data stream 2021-05-27 15:09:18 +08:00
c9s
45f1a13870 rename Stream field to UserDataStream and add MarketDataStream 2021-05-27 14:45:06 +08:00
c9s
2381df5009 add okex to the exchange factory 2021-05-27 00:35:51 +08:00
c9s
f6f1226bd0 integrate bollband indicator into xmaker 2021-05-17 20:04:13 +08:00
c9s
a49cf531b5 fix cross exchange order executor for the basic risk control 2021-05-12 19:02:09 +08:00
c9s
98e0390c1d improve slack notification 2021-05-12 12:43:03 +08:00
c9s
85e1b6b1c7 move field assignment 2021-05-12 12:05:54 +08:00
c9s
df11112d64 refactor exchange session initialization 2021-05-12 12:05:54 +08:00
c9s
8d63647104 assign session.Withdrawal 2021-05-12 12:05:54 +08:00
c9s
ce63641d70 print otp auth guide when session is loaded 2021-05-10 01:38:19 +08:00
c9s
6bbd66a4f9 split environment start and init 2021-05-08 00:45:24 +08:00
c9s
494a270c54 insert trades to db only when backtest service is nil 2021-05-07 01:50:38 +08:00
c9s
50db944053 fix initSymbol stages 2021-05-02 23:58:34 +08:00
c9s
2ec4617694 add SyncService check 2021-04-09 12:44:30 +08:00
c9s
34fe915a9f fix sync issue for pnl command 2021-04-09 12:43:13 +08:00
c9s
6c8babfb27 allow public session 2021-03-22 17:40:17 +08:00
c9s
2f7c7d344b move emitStart method call into the stream Connect method 2021-03-16 01:32:27 +08:00
c9s
7951c38edc skip connection if there is no subscription 2021-03-16 01:31:56 +08:00
c9s
e311a182fa add onStart callbacks 2021-03-15 18:04:03 +08:00
c9s
9f7af3ce82 assign SubAccount name to the new exchange session 2021-03-15 17:51:17 +08:00
c9s
e8ccc5eabf pass SubAccount field to the factory 2021-03-15 10:23:00 +08:00
c9s
4b49fda463 refactor sync service 2021-03-14 11:18:22 +08:00
c9s
b71ea867c5 ignore sync if sync service is nil 2021-02-28 15:05:49 +08:00
c9s
5a7cf05701 integrate reward service into the sync service 2021-02-23 16:39:48 +08:00
c9s
73cb80ee96 improve logging 2021-02-22 17:06:43 +08:00
c9s
eaad414706 adjust max api call rate limiting 2021-02-22 15:01:05 +08:00
c9s
724dad70bb remove trade sync from environ init 2021-02-22 14:14:39 +08:00
c9s
84775652fe remove defer wrapper func 2021-02-22 13:49:26 +08:00
c9s
63ebbc0e73 fix frontend sync status checking 2021-02-21 19:36:03 +08:00
c9s
3629a1f5a2 pre-save syncing var for return 2021-02-21 18:54:48 +08:00
c9s
a8516edb98 add Get method to the persistence service facade 2021-02-21 16:55:45 +08:00
c9s
21b092037e refactor notification configuration 2021-02-21 16:52:47 +08:00
c9s
6845db6dd3 refactor database configure method 2021-02-21 00:58:34 +08:00
c9s
12ed5a1efe move persistence service into the service package 2021-02-21 00:45:56 +08:00
c9s
7684099f01 add /api/environment/syncing api 2021-02-20 11:54:48 +08:00
c9s
4ce6e85624 add sync status to the environment 2021-02-20 11:29:33 +08:00
c9s
44fa74a4c9 refactor session sync 2021-02-19 10:42:24 +08:00
c9s
eaa8c647b5 refactor session sync 2021-02-18 22:40:46 +08:00
c9s
e3d3eacb78 fix trade service injection 2021-02-16 16:30:01 +08:00
c9s
de51eb29e4 refactor db stuff with database service 2021-02-06 11:22:04 +08:00
c9s
c35cef5b09 implement config saving api 2021-02-03 17:27:18 +08:00
c9s
8aa96c4546 integrate strateg adding api 2021-02-03 02:26:41 +08:00
c9s
17d5e301dc refine setup steps 2021-02-02 17:26:35 +08:00
c9s
73762d9888 support exchange session test from the setup wizard 2021-02-02 11:44:07 +08:00
c9s
ddcc8ae4ee move ExchangeOrderExecutor into exchange session 2021-02-01 20:44:15 +08:00
c9s
de8e717a41 refactor session initialization function 2021-02-01 20:44:15 +08:00
c9s
fbbe304dfb add trades query api 2021-01-29 18:48:00 +08:00
c9s
df17c4b1b6 add trading volume query api 2021-01-26 17:21:18 +08:00
c9s
e47357d1ed add assets api and price loading 2021-01-25 15:32:17 +08:00
c9s
3a52a4bff8 add and set AddOrderUpdate flag for session order store 2021-01-24 20:13:05 +08:00
c9s
1892d03326 make session trades map thread safe 2021-01-24 14:14:25 +08:00
c9s
1c80d30ce2 add TradeSlice with sync 2021-01-24 14:14:25 +08:00
c9s
84b6982033 add order store to exchange session 2021-01-24 14:14:25 +08:00
c9s
16aa070120 assign base/quote currency to the position struct 2021-01-20 23:08:57 +08:00
c9s
8a08c406c3 check symbol for the position update 2021-01-20 17:37:23 +08:00
c9s
48dd697ce3 handling short-to-long and long-to-short position 2021-01-20 17:35:58 +08:00
c9s
c2a27b031e init position with loaded symbols 2021-01-20 16:30:44 +08:00
c9s
d3f6841a27 improve sync command for margin trades and orders 2021-01-20 01:46:17 +08:00
c9s
f8a9610222 pass isolated margin symbol 2021-01-19 23:31:04 +08:00
c9s
310943d010 add isolated margin symbol option 2021-01-19 23:31:04 +08:00
c9s
e8fec434b5 cast exchange instance to margin exchange interface 2021-01-19 23:31:04 +08:00
c9s
d04e1e7816 refactory sync command and upgrade db automatically 2021-01-14 15:10:11 +08:00
c9s
92ab7e125a improve RegisterStrategy method to register strategy between cross and single 2020-12-31 17:14:47 +08:00
c9s
f485c1ba7f fix grid strategy order placing 2020-12-29 18:18:32 +08:00
c9s
275aa9494a support canceling orders on max 2020-12-29 16:00:03 +08:00
c9s
0222c33330 fix kline tail method 2020-12-08 10:26:20 +08:00
c9s
4addf65f64 support memory persistence 2020-12-07 12:03:56 +08:00
c9s
2d98336fb6 implement Persistent API for strategy 2020-12-07 11:44:41 +08:00
c9s
341f735bc3 configure ConfigurePersistence if it's defined 2020-12-07 11:44:41 +08:00
c9s
b843388483 only query subscribed kline intervals 2020-12-07 11:44:23 +08:00
c9s
c5d002a0b0 fix market data kline registration 2020-12-05 13:32:41 +08:00
c9s
ed6d6342e7 fix account currency translation 2020-11-17 14:24:26 +08:00
c9s
f4512f031c improve cross exchange strategy mounting behavior and add fixedpoint atomic ops 2020-11-17 08:19:22 +08:00
c9s
ded970f5a4 imporve CrossExchange subscription handling 2020-11-15 13:27:33 +08:00
c9s
94aaaf21b0 improve wrapper binary invocation 2020-11-15 13:23:26 +08:00
c9s
04f6da3cb8 add traditional grid strategy 2020-11-10 19:06:20 +08:00
c9s
23c19c5968 use fixedpoint for balances 2020-11-10 14:19:33 +08:00
c9s
e7cc79f3cf replace errors.Errorf with fmt.Errorf 2020-11-09 16:34:35 +08:00
c9s
f69c87b3a8 fix fee calculation and add account balance checking 2020-11-08 21:52:44 +08:00
c9s
641784e1b1 calculate pnl after the backtest 2020-11-07 20:34:34 +08:00
c9s
22a214328d implement backtest command, stream and add backtest config 2020-11-07 02:57:50 +08:00
c9s
8823a39fc2 support backtesting kline verification 2020-11-07 00:49:17 +08:00
c9s
555fe57341 implement kline sync function from command 2020-11-06 21:40:48 +08:00
c9s
7fab2e24de improve order persistence and support order data sync 2020-11-05 11:14:14 +08:00
c9s
eb67fc0f8f make mysql-url optional for run command 2020-11-05 11:14:14 +08:00
c9s
8e0b5d11a7 add max grid config and fix max price formatting 2020-10-31 20:38:20 +08:00
c9s
2397acd45f fix type casting and assertion by passing pointer 2020-10-31 18:35:48 +08:00
c9s
49ff9c4dd6 drop legacy trade reporter 2020-10-31 18:35:48 +08:00
c9s
c4d7476212 add submit order routing 2020-10-31 18:35:48 +08:00
c9s
ec9b5230aa refactor trade report and move trade reporter to the environment layer 2020-10-31 18:35:48 +08:00
c9s
c3961024cf implement grid strategy update orders method 2020-10-31 18:29:58 +08:00
c9s
19b600bb35 simplify strategy registration api 2020-10-29 07:54:59 +08:00
c9s
6d8ec7894e refactor standard indicator set with store 2020-10-29 07:40:02 +08:00
c9s
2680ad5072 refactor environment, market data store, injection and add swing strategy 2020-10-28 17:48:16 +08:00
c9s
7d7d2c2fc7 assign standard indicator set to the session 2020-10-28 11:15:50 +08:00
c9s
e2df24f31c support standard indicatorset 2020-10-28 09:43:19 +08:00
c9s
50693ae845 implement ewma and sma 2020-10-28 09:13:57 +08:00
c9s
ef598c3a0f assign base order executor descendingly 2020-10-27 09:58:21 +08:00
c9s
955479486a add symbol channel router and object channel router for notification 2020-10-27 08:19:16 +08:00
c9s
1d8e0bff5a drop legacy NewDefaultEnvironment method 2020-10-27 08:19:16 +08:00
c9s
cd666fdf9e pull out db parameter from the constructor 2020-10-26 15:06:39 +08:00
c9s
332ca7ffe8 make trade sync optional 2020-10-26 13:48:59 +08:00
c9s
308427416a Add more exchange order features
- use uuid for client order id
- add stop limit and stop market order types
- add order convert functions
- improve submit orders
2020-10-25 19:22:22 +08:00
c9s
ea3e9e7d05 add per-session-based trade reporter 2020-10-22 10:54:03 +08:00
c9s
678e4ef4ab add trade reporter 2020-10-22 10:47:54 +08:00
c9s
a714af739a implement TradeReporter 2020-10-21 19:52:55 +08:00
c9s
b1a9a66dba assign account and stream when allocating session object 2020-10-21 17:42:37 +08:00
c9s
58265d14f9 move cmdutil package 2020-10-21 15:58:58 +08:00
c9s
4ee10de40f add LoadedCrossExchangeStrategies loader api 2020-10-20 14:21:46 +08:00
c9s
2fbf19455e implement strategy yaml loader 2020-10-20 13:52:25 +08:00
c9s
a08aebaa17 bbgo: add SetTradeScanTime method 2020-10-20 13:11:04 +08:00
c9s
2bbee6671a make the first arg of WithCache as a key var 2020-10-20 12:18:29 +08:00
c9s
40c697275d query market config with cache 2020-10-20 12:11:44 +08:00
c9s
180bfff558 loadedSymbols is not used in the init method 2020-10-20 11:49:18 +08:00
c9s
d68564de28 improve logging 2020-10-19 22:26:43 +08:00
c9s
822e4c2703 receive trade in value instead of pointer 2020-10-19 22:06:43 +08:00
c9s
292dd2492a add comment for loadedSymbols 2020-10-19 22:02:05 +08:00
c9s
a4b872fc8b clean up init and connect phase 2020-10-19 22:00:44 +08:00
c9s
6d6e79eab3 fix session initialization issue 2020-10-19 21:58:50 +08:00
c9s
c1590786e8 integrate orderbook updates to market data store 2020-10-18 20:44:12 +08:00
c9s
75115774f6 rename kline store to market data store back 2020-10-18 20:44:12 +08:00
c9s
f9940a9c2f rename market data store to kline store 2020-10-18 12:32:43 +08:00
c9s
f826bb014a make markets field private 2020-10-18 12:30:13 +08:00
c9s
dab264a4ad add more accessors to exchange session, so that we can make it as an interface 2020-10-18 12:29:38 +08:00
c9s
168cb355fc add accessor to MarketDataStore 2020-10-18 12:27:11 +08:00
c9s
028aef9402 move marketdata store to store package 2020-10-18 12:23:00 +08:00
c9s
73e17730d7 move account type into types package 2020-10-18 11:30:37 +08:00
c9s
c224eb7af7 add kline to the market data store 2020-10-18 00:06:08 +08:00
c9s
9ebccc72ba add exchange session constructor 2020-10-17 23:51:44 +08:00
c9s
ee86a71ebb split files 2020-10-16 10:14:36 +08:00