Commit Graph

713 Commits

Author SHA1 Message Date
ycdesu
72b1877e4a order: extract query order sql generator 2021-02-03 18:31:32 +08:00
c9s
c73e5f00f3 refactor server routes 2021-02-03 18:09:33 +08:00
c9s
bf8508d4fb update description 2021-02-03 17:41:48 +08:00
c9s
4e31c7f68a change default config path to just bbgo.yaml 2021-02-03 17:39:53 +08:00
c9s
9096b6425e move instructions sequence 2021-02-03 17:29:51 +08:00
c9s
c35cef5b09 implement config saving api 2021-02-03 17:27:18 +08:00
ycdesu
220da92f48 trade: extract sql generator function and test it 2021-02-03 16:51:02 +08:00
ycdesu
1522c3d7a6 trade: create a separate sql gen function 2021-02-03 15:44:02 +08:00
c9s
f7a4f7d415 add strategies endpoint and strategy review page 2021-02-03 15:00:01 +08:00
c9s
705edc38c0 implement config yaml dummper 2021-02-03 09:58:31 +08:00
c9s
098a966813 add test case for config.Map method 2021-02-03 09:34:53 +08:00
c9s
1a2c3556a8 add ID method to the TestStrategy 2021-02-03 09:09:19 +08:00
c9s
7904c6f4d0 add ID() to Strategy interface 2021-02-03 09:08:05 +08:00
c9s
8aa96c4546 integrate strateg adding api 2021-02-03 02:26:41 +08:00
c9s
578451bb51 add setup flag to run server 2021-02-02 18:17:58 +08:00
c9s
d458519ba5 add setup flag 2021-02-02 18:17:39 +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
06f648448b pull out wrapper runner 2021-02-01 20:44:15 +08:00
c9s
eebb568b0c add dotenv string flag for changing dotenv filename 2021-02-01 20:44:15 +08:00
c9s
0a29ee99b8 call godotenv.Load to load env vars 2021-02-01 20:44:15 +08:00
c9s
a60aeb4771 pull out .Subscribe from trader.Run 2021-02-01 20:44:15 +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
6912f77c72 fix lock issue 2021-02-01 18:55:47 +08:00
c9s
a926ee1e37 rename --enable-api-server to --enable-web-server 2021-01-29 19:31:52 +08:00
c9s
fbbe304dfb add trades query api 2021-01-29 18:48:00 +08:00
c9s
cc8133a90e print order query sql 2021-01-29 18:34:03 +08:00
c9s
72037d6c14 update migration package 2021-01-29 18:28:23 +08:00
c9s
b8d7ae7687 add AggOrder for market orders 2021-01-29 17:52:13 +08:00
c9s
32645f228b add order query api 2021-01-29 13:15:44 +08:00
c9s
be750b94df fix layout and margin 2021-01-29 12:55:11 +08:00
c9s
8031c6066e mount static files to routes 2021-01-29 11:19:37 +08:00
c9s
78890834b5 support symbol segment 2021-01-28 18:51:35 +08:00
c9s
9ee49ea3f1 Add TradingVolumeBar 2021-01-26 18:10:08 +08:00
c9s
95129e94d7 add lastPrcieUpdatedAt timestamp for checking last price cache 2021-01-26 17:23:40 +08:00
c9s
df17c4b1b6 add trading volume query api 2021-01-26 17:21:18 +08:00
c9s
9717fddfbd add total asset pie chart 2021-01-25 16:56:02 +08:00
c9s
e47357d1ed add assets api and price loading 2021-01-25 15:32:17 +08:00
c9s
09b3046feb lower case fields are not exported to json 2021-01-25 14:32:46 +08:00
c9s
b952e6fd54 rename Reset to private reset 2021-01-25 14:26:22 +08:00
c9s
4c0a586aa2 adjust depth update to 5 minutes 2021-01-25 14:24:59 +08:00
c9s
ca71c81284 improve slice copying 2021-01-25 14:20:56 +08:00
c9s
b99c01a03f fix stream book usage 2021-01-25 14:13:39 +08:00
c9s
1aefbbfddc improve orderbook validation error 2021-01-25 13:53:11 +08:00
c9s
7310700540 add account and account balances 2021-01-24 20:18:04 +08:00
c9s
eab915abc7 rename loaded-symbols to just symbols 2021-01-24 20:14:43 +08:00
c9s
3a52a4bff8 add and set AddOrderUpdate flag for session order store 2021-01-24 20:13:05 +08:00
c9s
e2de3040bd adjust ping ticker to 10seconds 2021-01-24 19:08:33 +08:00
c9s
42b66d6898 add OrderStore accessor on ExchangeSession 2021-01-24 19:08:12 +08:00
c9s
9040f6ff0d add --enable-api-server flag 2021-01-24 19:07:56 +08:00
c9s
447057086c add Orders method on OrderStore 2021-01-24 19:07:32 +08:00
c9s
eccc2c6e0f implement session config api and server 2021-01-24 18:42:36 +08:00
c9s
7632638982 log depth api error 2021-01-24 16:54:13 +08:00
c9s
51e5deee47 add frontend files 2021-01-24 14:14:25 +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
568250f4bb define api routes 2021-01-24 14:14:25 +08:00
c9s
cabc082713 fix f.loadDepthSnapshot timing 2021-01-24 14:12:44 +08:00
c9s
50fc1fd3ac call Reset instead of replacing the whole map
the reason is that we have the update worker, which is already started.
2021-01-24 14:09:07 +08:00
c9s
2b441ad3bc binance: improve depth event filtering and reloading 2021-01-24 10:02:38 +08:00
c9s
1f1e1383f3 fix advancedOrderCancelApi interface 2021-01-23 17:20:26 +08:00
c9s
858a8d84bb groupID is an int64 field 2021-01-23 17:17:46 +08:00
c9s
4b039847b7 support group ID 2021-01-23 17:15:32 +08:00
c9s
b5f2c325a4 add group id field 2021-01-23 17:07:05 +08:00
c9s
e08d62395e adjust snapshot ticker to 10 minutes 2021-01-23 17:03:53 +08:00
c9s
6a6dacd595 fix binance depth snapshot updating 2021-01-23 16:59:51 +08:00
c9s
d0fc161ae7 fix define build config checking 2021-01-23 01:06:56 +08:00
c9s
2da5fa2e92 pre-define build config 2021-01-23 01:03:56 +08:00
c9s
cc3e9f42aa cmd: fix build nil check 2021-01-23 01:01:36 +08:00
c9s
fa8198b8b9 remove unnecessary logs 2021-01-21 12:28:47 +08:00
c9s
93ae65535d remove os and arch flags 2021-01-21 12:27:55 +08:00
c9s
5eaa8f0778 add IsWrapperBinary flag and fix persistence error 2021-01-21 12:27:21 +08:00
c9s
503df57e72 remove legacy cmd flags 2021-01-21 12:10:06 +08:00
c9s
45876968d9 let build config and legacy imports co-exists 2021-01-21 12:08:06 +08:00
c9s
5329ef8f25 refactor build config 2021-01-21 12:06:03 +08:00
c9s
26c128b3ab adjust rate limiter 2021-01-21 01:21:30 +08:00
c9s
e869e04092 use rate limiter for batch query 2021-01-21 01:02:43 +08:00
c9s
a73729fb17 split files for batch processor and margin settings 2021-01-21 00:58:02 +08:00
c9s
ad4f339b27 fix test case name 2021-01-21 00:54:59 +08:00
c9s
38bac10050 consider fee calculation 2021-01-21 00:49:01 +08:00
c9s
bfc8e511d0 simplify average cost calculation 2021-01-20 23:46:22 +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
0051dbc78a add Position accessor 2021-01-20 16:29:15 +08:00
c9s
079fcf08e3 initialize position map 2021-01-20 16:28:27 +08:00
c9s
09d712416f add json struct tags 2021-01-20 16:15:34 +08:00
c9s
617f5119fd test trade profit calculation 2021-01-20 16:14:02 +08:00
c9s
169af63846 add more position tests 2021-01-20 16:10:20 +08:00
c9s
34148948ab add position and its tests 2021-01-20 16:08:14 +08:00
c9s
42811e8157 alias logrus as log 2021-01-20 02:45:50 +08:00
c9s
9280ec348f clean up pnl command
we should use environment to load the sessions
2021-01-20 02:45:13 +08:00
c9s
0e99d9bdcb move time.Sleep to batch processor to avoid rate limit 2021-01-20 02:32:55 +08:00
c9s
c79c7d1b11 fix margin order/trade sync 2021-01-20 02:09:12 +08:00
c9s
d3f6841a27 improve sync command for margin trades and orders 2021-01-20 01:46:17 +08:00
c9s
7520430b52 support margin api for query trades 2021-01-20 01:27:27 +08:00
c9s
1d8b7dc657 handle trade and order margin field 2021-01-20 01:24:29 +08:00
c9s
334eff4682 update sync service for margin fields 2021-01-19 23:33:06 +08:00
c9s
62f6d857b3 update compiled migrations package for margin columns 2021-01-19 23:31:13 +08:00
c9s
a6015fb3e2 add isMargin, isIsolated columns 2021-01-19 23:31:04 +08:00
c9s
2c1c9a046b tmp 2021-01-19 23:31:04 +08:00
c9s
677f4b93e6 add margin mode support to QueryOpenOrders 2021-01-19 23:31:04 +08:00
c9s
ad4226f35b support margin order creation 2021-01-19 23:31:04 +08:00
c9s
3eda64641e use exchange's margin option 2021-01-19 23:31:04 +08:00
c9s
7235100140 integrate submitMarginOrder api 2021-01-19 23:31:04 +08:00
c9s
f35e90a4f1 document marginSideEffect 2021-01-19 23:31:04 +08:00
c9s
5cab37488b move MarginSettings struct to a file 2021-01-19 23:31:04 +08:00
c9s
1c77de031a add extended margin fields to the order struct 2021-01-19 23:31:04 +08:00
c9s
f8a9610222 pass isolated margin symbol 2021-01-19 23:31:04 +08:00
c9s
f505c0e2c6 split go routine for keep alive and ping tickers 2021-01-19 23:31:04 +08:00
c9s
d4774f5f0e add IsolatedMargin option 2021-01-19 23:31:04 +08:00
c9s
310943d010 add isolated margin symbol option 2021-01-19 23:31:04 +08:00
c9s
48083151aa turning margin mode 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
3199c63d62 add margin mode 2021-01-19 23:31:04 +08:00
c9s
4002ec80d6 add public only field to the session config struct 2021-01-19 23:31:04 +08:00
c9s
c3db6db590 add margin option 2021-01-19 23:31:04 +08:00
c9s
1233035780 fix migration script 2021-01-19 23:11:07 +08:00
c9s
0bdfd0f04b check if err is nil 2021-01-18 21:59:02 +08:00
c9s
ddc33f633f check if err is nil 2021-01-18 21:57:57 +08:00
c9s
ad78f81b10 fix unique index for binance self trade 2021-01-18 16:48:47 +08:00
c9s
3db5c26416 improve transfer history layout 2021-01-15 14:24:24 +08:00
c9s
d96e6e8ccc use environment to configure database 2021-01-15 10:47:49 +08:00
c9s
1ce3244c17 drop the legacy migration command 2021-01-15 10:33:23 +08:00
c9s
293d889276 fix built-in migrations 2021-01-15 10:31:37 +08:00
c9s
d04e1e7816 refactory sync command and upgrade db automatically 2021-01-14 15:10:11 +08:00
c9s
ad567dc360 use mysql reformat dsn function to add parseTime parameters 2021-01-14 14:56:13 +08:00
c9s
cd9f2ba0e8 add compile migration files 2021-01-14 00:33:28 +08:00
c9s
6491166459 drop legacy pkg/migration 2021-01-14 00:00:05 +08:00
c9s
2699c32b38 add rockhopper 2021-01-13 23:53:36 +08:00
c9s
50cd6f7d68 change go-binance to github.com/adshao/go-binance/v2 2021-01-11 13:36:49 +08:00
c9s
653eba73c5 improve session error message 2021-01-09 19:47:21 +08:00
c9s
4a1af6f362 add check for PersistenceServiceFacade 2021-01-09 19:44:45 +08:00
c9s
93d71b5300 bbgo: session log error 2021-01-09 19:40:31 +08:00
c9s
995f9a9ea0 grid: add order amount field 2021-01-06 13:31:17 +08:00
c9s
92ab7e125a improve RegisterStrategy method to register strategy between cross and single 2020-12-31 17:14:47 +08:00
c9s
208c88cbd5 support single exchange trailingstop 2020-12-31 17:12:35 +08:00
c9s
87568ede70 reformat 2020-12-31 14:29:53 +08:00
c9s
395d3f17df grid: add long mode support 2020-12-31 13:54:32 +08:00
c9s
45e4d8c558 rename movingstop to trailingstop 2020-12-31 13:07:39 +08:00
c9s
25eab8e95f adjust log 2020-12-29 18:32:51 +08:00
c9s
f485c1ba7f fix grid strategy order placing 2020-12-29 18:18:32 +08:00
c9s
70479bfd16 binance: assign Isolated field 2020-12-29 17:26:22 +08:00
c9s
275aa9494a support canceling orders on max 2020-12-29 16:00:03 +08:00
c9s
9568b04328 fix log message 2020-12-28 16:24:57 +08:00
c9s
2932230fdb print out websocket error 2020-12-28 16:24:35 +08:00
c9s
d9e5ad4365 add event authenticated 2020-12-28 16:24:17 +08:00
c9s
f12e38b70e call cancelTrading defer 2020-12-21 15:47:20 +08:00
c9s
9db1c78171 add public only mode to backtest 2020-12-21 15:45:40 +08:00
c9s
f56318c9b6 add public only mode to stream 2020-12-21 15:43:54 +08:00
c9s
ce0e28708a add public only mode to binance stream 2020-12-21 15:26:05 +08:00
c9s
d4b99f41a4 reformat 2020-12-21 14:55:14 +08:00
c9s
39f5290634 shorten the log messages 2020-12-21 14:53:34 +08:00
c9s
a60529ee37 reload depth snapshot periodically 2020-12-21 14:43:40 +08:00
c9s
9223b2ba47 move FormatOrder to ExchangeSession since it depends on Market 2020-12-21 13:47:40 +08:00
c9s
3eae58322a add trade update callbacks and order update callbacks to order executor 2020-12-21 13:40:23 +08:00
c9s
e282a8a917 improve order submit loop 2020-12-17 17:54:48 +08:00
c9s
64dea71249 grid: use the default active order book order handler 2020-12-17 16:29:00 +08:00
c9s
6962582236 grid: add orders to the order store 2020-12-17 16:22:43 +08:00
c9s
9e1476dcb1 grid: improve position management by fixedpoint 2020-12-17 15:52:53 +08:00
c9s
1c7d3d5481 support max staging url orverride 2020-12-17 14:44:30 +08:00
c9s
728bf5fc81 bbgo: move some logs to debug level 2020-12-15 14:14:44 +08:00
c9s
63a5881d16 use golang.org/x/time for rate limiting 2020-12-15 14:04:27 +08:00
c9s
572f7a0e12 buyandhold: remove kline event debug log 2020-12-14 14:59:46 +08:00
c9s
6d15c629a7 fix buyandhold strategy 2020-12-14 14:40:31 +08:00
c9s
81c7d3c668 fix fmt import 2020-12-14 14:34:55 +08:00
c9s
cabd8f8dcb improve buyandhold strategy 2020-12-14 14:21:02 +08:00
c9s
321b4812ca supporting otp key restore from key url 2020-12-11 17:12:16 +08:00
c9s
fbb9d0d3ba show key URL 2020-12-11 17:08:06 +08:00
c9s
deb9a29521 support one-time password 2020-12-11 17:07:19 +08:00
c9s
f4ef19e5d6 implement PlainText for telegram bot 2020-12-11 15:58:05 +08:00
c9s
6af88a2a87 add interaction callbacks 2020-12-11 14:40:18 +08:00
c9s
45bc4dc9eb refactor telegram notifier with interaction component 2020-12-11 14:40:04 +08:00
c9s
f595b1ef65 fix compile flag check 2020-12-09 16:13:20 +08:00
c9s
846f463cfc print loaded position 2020-12-08 16:32:39 +08:00
c9s
6b760c72b7 use bot token prefix as the redis store namespace 2020-12-08 16:28:55 +08:00
c9s
03afa060d5 add updateInterval for mirrormaker 2020-12-08 16:01:46 +08:00
c9s
c66b140d90 support duration parse 2020-12-08 16:01:46 +08:00
c9s
fe7495898f check if persistence is configured 2020-12-08 15:09:17 +08:00
c9s
53d7fb5611 support telegram chat user persistence 2020-12-08 15:03:52 +08:00
c9s
a299721a98 improve message layout 2020-12-08 14:41:51 +08:00
c9s
4316f1fada pull out bot initialization 2020-12-08 14:25:30 +08:00
c9s
55cd0c6a6e pull out bot initialization to run 2020-12-08 14:20:49 +08:00
c9s
0222c33330 fix kline tail method 2020-12-08 10:26:20 +08:00
c9s
3aa8d70622 add mirrormaker 2020-12-07 23:04:09 +08:00
c9s
9eaf69388c add fixedpoint json marshaling 2020-12-07 23:03:06 +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
a01f83ab15 add persistence config and tests 2020-12-07 11:44:41 +08:00
c9s
b843388483 only query subscribed kline intervals 2020-12-07 11:44:23 +08:00
c9s
62a541fb27 rename preload to loadBuildConfig 2020-12-07 11:44:23 +08:00
Che-Chia (David) Chang
1b17cba2eb Merge pull request #67 from c9s/feature/add-telegram-bot-notifier
feature: add telegram bot notifier
2020-12-06 14:12:32 +08:00
David Chang
9f92fcf2e4 chore: rename telegram init to telegram auth 2020-12-06 13:59:47 +08:00
David Chang
58aadd9f45 fix: use correct format for log 2020-12-06 13:47:52 +08:00
David Chang
9e4602cf66 fix: allow upadte telegram chat user with bot command 2020-12-06 13:02:21 +08:00
David Chang
a55cd02e21 feature: add info command 2020-12-06 12:34:43 +08:00
David Chang
f9124aa907 fix: telegram bot send message to correct user 2020-12-06 12:11:27 +08:00
David Chang
7caf986d11 fix: change warning type from user to username 2020-12-05 14:28:48 +08:00
David Chang
c72ef2b31c fix: add missing root cmd flags 2020-12-05 14:25:19 +08:00
David Chang
b2d9bd0312 feature: add telegram bot notifier 2020-12-05 14:20:27 +08:00
c9s
c5d002a0b0 fix market data kline registration 2020-12-05 13:32:41 +08:00
c9s
900f822559 improve and fix ewma calculation 2020-12-05 13:32:41 +08:00
c9s
b188901ed0 fix ewma calculation 2020-12-05 13:32:41 +08:00
c9s
f7a119fa5e remove debug message 2020-12-04 19:15:53 +08:00
c9s
936650d879 rename kline trend to direction 2020-12-04 10:18:51 +08:00
c9s
22771288eb fix sma kline window check 2020-12-03 20:42:26 +08:00
c9s
177607e5fb fix ewma kline window check 2020-12-03 20:42:00 +08:00
c9s
f4aee5234a add updater to indicators 2020-12-03 18:14:16 +08:00
c9s
17fd6a405b add StopPriceRatio support 2020-12-03 09:50:36 +08:00
c9s
19d76928fd support movingstop by BalancePercentage 2020-12-03 09:41:41 +08:00
c9s
ef03c0cf20 separate Run and CrossRun
so that we mount one strategy as cross strategy or single exchange strategy
2020-12-03 09:31:40 +08:00
c9s
d60a82256d types: remove slice preallocated cap 2020-12-03 09:27:05 +08:00
c9s
2b264905f9 add warnings and fix subscription 2020-12-03 09:26:10 +08:00
c9s
4f399ebb9f fix stop price formating 2020-12-03 09:25:47 +08:00
c9s
17590fcc08 include movingstop in builtin 2020-12-03 08:52:43 +08:00
c9s
9d7aa2fe22 add movingstop strategy 2020-12-03 08:52:32 +08:00
c9s
0a5bac803c ignore duplicated trade 2020-12-03 08:51:57 +08:00
c9s
edb22383c7 fix ToGlobalOrder call 2020-12-02 22:44:57 +08:00
c9s
d38b16fb3e fix cross exchange strategy subscription 2020-12-02 22:44:41 +08:00
c9s
4cf5929cac improve trade parsing error 2020-12-02 22:21:13 +08:00
c9s
d226ec2e01 change field names to lower case so that we can use shorter name for the accessors 2020-12-02 22:21:13 +08:00
c9s
e57b9f235b add quota 2020-11-23 16:47:36 +08:00
c9s
db6c90b8dd cmd: fix run command signal handling 2020-11-23 16:36:03 +08:00
c9s
a86078d68c max: fix tick size 2020-11-22 21:34:05 +08:00
c9s
914d5cdc94 try to keep all orders from order store 2020-11-17 15:53:46 +08:00
c9s
c40982164a fix trade slack formatting 2020-11-17 15:48:18 +08:00
c9s
8f5491d818 improve balance printing 2020-11-17 14:45:27 +08:00
c9s
18d9245b06 improve order slice lock 2020-11-17 14:31:18 +08:00
c9s
ed6d6342e7 fix account currency translation 2020-11-17 14:24:26 +08:00
c9s
95b0910a09 fix trade order id parsing 2020-11-17 14:13:37 +08:00
c9s
03d99a4cab remove debug logs 2020-11-17 13:25:59 +08:00
c9s
4bda1fee08 fix order id parsing 2020-11-17 12:46:55 +08:00
c9s
cc3da5b678 pass order id for order store exists 2020-11-17 08:53:22 +08:00
c9s
f4512f031c improve cross exchange strategy mounting behavior and add fixedpoint atomic ops 2020-11-17 08:19:22 +08:00
c9s
3ea2e877ff do not submit subscribe request if param array is empty 2020-11-15 13:32:46 +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
e8b5379202 bollgrid: add warn messages 2020-11-12 17:41:28 +08:00
c9s
2b6547df47 bollgrid: add profit orderbook for bolling grid 2020-11-12 17:38:13 +08:00
c9s
cd283f2c28 remove unused logger field 2020-11-12 17:30:21 +08:00
c9s
1a6f5b99ae bollgrid: submit orders on connect 2020-11-12 16:31:09 +08:00
c9s
8cc1c589a1 fix waitgroup counting 2020-11-12 14:59:47 +08:00
c9s
fc9409673f add graceful shutdown 2020-11-12 14:50:21 +08:00
c9s
af8826a9e4 improve messages 2020-11-12 08:30:57 +08:00
c9s
6740541bcd improve bollgrid 2020-11-12 08:28:59 +08:00
c9s
35a5b61f60 add local active orderbook callback files 2020-11-11 23:19:16 +08:00