Commit Graph

2386 Commits

Author SHA1 Message Date
c9s
197d750cb4 all: update profit struct fields 2022-03-05 01:39:53 +08:00
c9s
82e5520ee4 service: update profit service tests 2022-03-05 00:28:13 +08:00
c9s
a642aa1a5a service: add more columns 2022-03-05 00:27:44 +08:00
c9s
09dea3938d implement profit insert 2022-03-04 19:24:40 +08:00
c9s
9e0df77a36 move profit struct into the types package 2022-03-04 16:39:48 +08:00
Yo-An Lin
f8b257d490
Merge branch 'main' into fix/cmd-required 2022-03-03 19:53:27 +08:00
c9s
f190cc4f6c cmd: fix account command usage 2022-03-03 19:40:18 +08:00
c9s
f14694c65f cmd: remove config file check from the account command 2022-03-03 19:39:55 +08:00
zenix
a33b748563 fix: mark flags as required during PreRunE 2022-03-03 18:03:15 +09:00
c9s
3843bda7c2 cmd: remove incorrect MarkPersistentFlagRequired usage 2022-03-03 15:37:17 +08:00
c9s
7d08263cdb fix: fix required flag marking issue 2022-03-03 15:34:16 +08:00
c9s
b8f54ed4b9 ftx: print result directly 2022-03-03 15:04:53 +08:00
c9s
86af4d2b40 ftx: rewrite order cancel handling 2022-03-03 14:52:24 +08:00
c9s
dd76cfafa4 ftx: remove legacy orderRequest from the legacy rest 2022-03-03 12:33:44 +08:00
c9s
c9f2027a38 ftx: remove the legacy orderRequest 2022-03-03 11:55:00 +08:00
c9s
5ea01c8d80 regenerate symbol map 2022-03-03 11:44:01 +08:00
c9s
eaa81f1313 ftx: remove legacy balances method 2022-03-03 11:43:15 +08:00
c9s
270ae51c9b ftx: remove legacy PlaceOrderPayload 2022-03-03 11:42:57 +08:00
c9s
2510f14d53 ftx: remove legacy place order request method 2022-03-03 11:42:40 +08:00
c9s
5bbb796e94 ftx: clean up imports 2022-03-03 11:42:25 +08:00
c9s
37db477ece ftx: remove legacy method CancelOrderByClientID 2022-03-03 11:42:13 +08:00
c9s
60ad6bc901 ftx: remove legacy CancelOrderByOrderID method 2022-03-03 11:41:51 +08:00
c9s
064da7f938 ftx: remove legacy open orders method 2022-03-03 11:40:23 +08:00
c9s
a47924d1c9 ftx: remove legacy order history method 2022-03-03 11:40:03 +08:00
c9s
da54fbb676 cmd: remove extra config option check 2022-03-03 11:39:28 +08:00
c9s
6ae588575a ftx: remove legacy market api method 2022-03-03 11:39:11 +08:00
c9s
21ae48c975 cmd: use MarkFlagRequired 2022-03-03 11:36:06 +08:00
c9s
2845e03100 ftx: fix ftx test cases 2022-03-03 01:47:19 +08:00
c9s
3f8f17b1de ftx: reimplement submit order api 2022-03-03 00:30:52 +08:00
c9s
3b601d73ce ftx: remove legacy fills requests 2022-03-03 00:30:52 +08:00
c9s
4321cab557 ftx: drop the legacy unused account request 2022-03-03 00:30:52 +08:00
c9s
688445d7e7 cmd: add get-order cmd 2022-03-03 00:30:52 +08:00
c9s
127de0d81c cmd: update executeOrderCmd description 2022-03-03 00:30:52 +08:00
c9s
95daa004aa ftx: implement get order status api 2022-03-03 00:30:52 +08:00
c9s
14bcc780a4 ftxapi: add cancel order by client order id 2022-03-03 00:30:52 +08:00
c9s
07dd2e8d9c ftx: improve order cancel by client order id 2022-03-03 00:30:52 +08:00
c9s
5cfc266d7a ftx: simplify and replace the order history query 2022-03-03 00:30:52 +08:00
c9s
5c8997e293 ftx: fix ftx order status isWorking 2022-03-03 00:30:52 +08:00
c9s
66700016e4 ftx: add toGlobalOrderNew to convert new order structure 2022-03-03 00:30:52 +08:00
c9s
e9e1127d3e ftx: replace query markets api 2022-03-03 00:30:52 +08:00
c9s
883f0ed83a ftxapi: replace fill implementation 2022-03-03 00:30:52 +08:00
c9s
833354e553 ftx: replace QueryTrades implementation 2022-03-03 00:30:52 +08:00
c9s
9c371425f6 ftx: replace QueryAccount implementation 2022-03-03 00:30:52 +08:00
c9s
84bc170a2e ftxapi: use order types 2022-03-03 00:30:52 +08:00
c9s
03f0305b3d ftxapi: add fills request 2022-03-03 00:30:52 +08:00
c9s
14a49989fe ftxapi: define types 2022-03-03 00:30:52 +08:00
c9s
cd0ac71b99 ftxapi: separate request files 2022-03-03 00:30:52 +08:00
c9s
abc425d820 ftx: fix ftx api client 2022-03-03 00:30:52 +08:00
c9s
93992801f9 ftxapi: add order history request 2022-03-03 00:30:52 +08:00
c9s
9e350afed5 ftxapi: add get coins api 2022-03-03 00:30:52 +08:00
c9s
3601edab84 ftxapi: add get single market api 2022-03-03 00:30:52 +08:00
c9s
2a6310c5f5 ftxapi: add get markets api 2022-03-03 00:30:52 +08:00
c9s
94ee46787e ftxapi: add generated files 2022-03-03 00:30:52 +08:00
c9s
7ed2e352d9 ftx: rewrite ftxapi 2022-03-03 00:30:52 +08:00
Yo-An Lin
7ae5869461
Merge pull request #451 from narumiruna/protobuf
grpc: add protobuf
2022-03-02 12:57:23 +08:00
zenix
f101e93311 fix: dnum panic, precision loss in parsing string in legacy 2022-02-28 15:50:31 +09:00
c9s
9c45e6693f fix formatString 2022-02-25 18:25:44 +08:00
c9s
99b025dd5c add FormatString test case and fix FormatString 2022-02-25 18:03:28 +08:00
c9s
10612cdfa9 add Test_formatQuantity 2022-02-25 17:47:54 +08:00
c9s
555e8c5253 add Test_formatPrice 2022-02-25 16:52:43 +08:00
なるみ
37fbe724cf Add Error message 2022-02-23 12:44:31 +08:00
なるみ
3aeae99587 Add SubcribeUserData 2022-02-23 12:29:01 +08:00
なるみ
36fd5d648a Add exchange and symbol to Ticker 2022-02-23 12:27:22 +08:00
なるみ
6b10d1160f Merge SuccessResponse and SubscribeResponse 2022-02-23 12:21:49 +08:00
なるみ
9fd4074d37 Add Depth message for bids and asks 2022-02-23 12:19:23 +08:00
Yo-An Lin
2108003f9b
Merge pull request #454 from zenixls2/fix/pnl
fix: #287 init environ before querying balance
2022-02-23 11:46:11 +08:00
zenix
06e9450859 feature: add cmd document
add documentation index
2022-02-22 19:36:45 +09:00
zenix
52cc047673 fix: #287 init environ before querying balance 2022-02-22 14:32:35 +09:00
なるみ
32acec5669 Put exchange field in the order and trade message 2022-02-21 12:53:39 +08:00
なるみ
c1b705956f Add SubmitOrder, rename variables and fix typo 2022-02-21 12:13:51 +08:00
なるみ
f2bca1d5b7 add QueryKLines 2022-02-20 04:41:39 +08:00
なるみ
136d36b2b1 generate code 2022-02-20 04:10:39 +08:00
なるみ
7a7627eafd update proto 2022-02-20 04:08:52 +08:00
c9s
208a9bcb7d fix: fix context error handling 2022-02-18 18:21:51 +08:00
c9s
849f2a248e ftx: check context error 2022-02-18 15:35:58 +08:00
c9s
3a488a4c0f ftx: add ioc order test 2022-02-18 14:50:54 +08:00
なるみ
4fb8881be7 Fix package path 2022-02-18 14:27:12 +08:00
なるみ
72bcdaaf25 Move pkg/proto to pkg/pb 2022-02-18 14:24:38 +08:00
c9s
17034b2467 ftx: fix ioc convert 2022-02-18 14:10:21 +08:00
c9s
f6ebeeafc5 ftx: cast time in force from the order result 2022-02-18 14:07:29 +08:00
c9s
d0f1e2db04 ftx: fix ftx ioc conversion 2022-02-18 14:01:47 +08:00
c9s
fb9f8b484c max: remove ioc limit type 2022-02-18 13:57:47 +08:00
c9s
0c09e6b32a use global timeInForce type 2022-02-18 13:52:13 +08:00
zenix
20cccf57e5 fix: NumFractionalDigits in legacy fixedpoint and dnum fixedpoint 2022-02-17 12:45:06 +09:00
zenix
ced2afaed8 fix: remove backup file in schedule strategy 2022-02-16 18:32:02 +09:00
なるみ
328c507bee Update go generated code 2022-02-16 11:54:46 +08:00
なるみ
3fe6fbf514 Add Trade message and support streaming 2022-02-16 11:52:18 +08:00
zenix
a3a262783f fix: set backtest cancel Delta to be 1e-11 2022-02-15 18:59:10 +09:00
zenix
7455279517 fix: #400 for int64 formating when exp <= 0 2022-02-15 18:24:21 +09:00
zenix
8648528435 fix go fmt, fix convert.go (the legacy fixedpoint implementation) in all tests 2022-02-15 14:55:19 +09:00
zenix
eb70410f80 add back legacy implementation 2022-02-15 12:01:39 +09:00
zenix
cdba7924b4 fix backtest panic when cancel fail on the last order 2022-02-15 12:01:39 +09:00
zenix
5315378b9e fix takerfeerate column and makerfeerate column issue in yaml 2022-02-15 12:01:39 +09:00
zenix
fad85d0992 fix binance test, outptu for support and xgap strategies 2022-02-15 12:01:39 +09:00
zenix
05521a98b6 add skeleton strategy. fix most of the tests. fix final asset value 2022-02-15 12:01:39 +09:00
zenix
9978a3cf90 fix unmarshal behavior to gain more precision 2022-02-15 12:01:39 +09:00
zenix
abc1d535d8 fix bollmaker, fix pnl issues 2022-02-15 12:01:39 +09:00
zenix
105b085786 fix bollgrid, emstop, flashcrash, funding, grid, pricealert, pricedrop, rebalance, schedule, swing, xbalance, xgap, xmaker and speedup fixedpoint 2022-02-15 12:01:39 +09:00
zenix
2ccc449657 fix xpuremaker,xnav,techsignal,support,etf and add methods in fixedpoint 2022-02-15 12:01:39 +09:00
zenix
d9450e823e fix all the fixedpoint use other than strategy 2022-02-15 12:01:39 +09:00
zenix
b8bf2af14d fixedpoint for exchange and indicators, some fixes in types 2022-02-15 12:01:38 +09:00
zenix
e221f54397 add dnum as the fixedpoint implementation. change types float64 to fixedpoint.Value
change pnl report to use fixedpoint

fix: migrate kline to use fixedpoint
2022-02-15 12:00:39 +09:00
なるみ
307042025f Initial commit of protobuf 2022-02-14 16:46:11 +08:00
ankion
98b4495d1f Fix: precision of futures trade data is incorrect. 2022-02-14 10:32:13 +08:00
c9s
a2a7ef4f7a exchange: implement ExchangeOrderQueryService on max and binance 2022-02-10 17:48:53 +08:00
Andy Cheng
f7fc7f64b4
strategy: fix fixedpoint value compared to 0 problem 2022-02-06 17:47:14 +08:00
Andy Cheng
41c3b860b0
strategy: rename callBackRatio to callbackRatio 2022-02-06 17:47:14 +08:00
Andy Cheng
a9b48ff138
strategy: fix fixedpoint.Value compare to 0 problem 2022-02-06 17:47:14 +08:00
Andy Cheng
8b009a984a
strategy: fix a bug when 'trailingStopControl' is not used 2022-02-06 17:47:14 +08:00
Andy Cheng
571c3834c5
strategy: fix the JSON tag of 'CurrentHighestPrice' 2022-02-06 17:47:14 +08:00
Andy Cheng
769da1e77c
strategy: rename 'trailingStopCallBackRatio' JSON tag to 'callBackRatio' 2022-02-06 17:47:14 +08:00
Andy Cheng
b48c7f40d7
strategy: make TrailingStopCallBackRatio and MinimumProfitPercentage fixedpoint.Value 2022-02-06 17:47:13 +08:00
Andy Cheng
883f43a9ad
strategy: construct trailingStopControl in the caller 2022-02-06 17:47:13 +08:00
Andy Cheng
60a4ab2f27
strategy: save state on high price update and cancel trailing stop order on shutdown 2022-02-06 17:47:13 +08:00
Andy Cheng
1bd787f44c
strategy: return the createdOrders objects instead in submitOrders() 2022-02-06 17:47:13 +08:00
Andy Cheng
f673fc30ad
strategy: rename GenerateTrailingStopOrder() to GenerateStopOrder() in support strategy 2022-02-06 17:47:13 +08:00
Andy Cheng
2a8938fce0
re-indent with tabs 2022-02-06 17:47:13 +08:00
Andy Cheng
66b042fea7
strategy: trailing stop TP for support strategy 2022-02-06 17:47:11 +08:00
c9s
bf8558e9ad bollmaker: add BuyBelowNeutralSMA option 2022-02-01 01:40:51 +08:00
c9s
17187c70e7 cmd: print realized profit in colored text 2022-02-01 01:05:11 +08:00
c9s
c0beca78f5 include terminal color for back-test report 2022-02-01 01:00:26 +08:00
c9s
82adff338e cmd/backtest: calculate performance in quote asset 2022-02-01 00:54:55 +08:00
c9s
f96c2e6271 bbgo: add activated flag on trailing stop order 2022-02-01 00:41:28 +08:00
c9s
bed03dbd17 schedule: refactor and improve schedule strategy with QuantityOrAmount struct 2022-01-31 01:42:21 +08:00
c9s
11bbdb16a0 bollmaker: clean up empty files 2022-01-31 01:31:31 +08:00
c9s
0e7f88e3bf move SmartStops into the bbgo package 2022-01-31 01:27:47 +08:00
c9s
eb5064ccfe bollmaker: separate bidSpread and askSpread 2022-01-31 01:11:30 +08:00
c9s
2e7621ca55 add BidSpread and AskSpread 2022-01-31 01:08:33 +08:00
c9s
701e80d0d8 bollmaker: pull out trailing stop order logics into SmartStops struct 2022-01-31 01:07:00 +08:00
c9s
67bc5d523a bollmaker: refactor trailing stop snippet 2022-01-31 00:44:04 +08:00
c9s
0667c138ab backtest: fix duplicate trade emit issue 2022-01-30 03:05:19 +08:00
c9s
e595b9acb2 backtest: should panic if last price is zero 2022-01-30 02:41:00 +08:00
c9s
6566db1624 accounting: filter duplicated trades when backtesting 2022-01-30 02:40:38 +08:00
c9s
e1fc0e7b8d bollmaker: remove redundant log and fix return 2022-01-30 02:00:42 +08:00
c9s
ec8129ab87 backtest: fix market order fee calculation 2022-01-30 02:00:30 +08:00
c9s
20938895a8 bollmaker: merge skip condition 2022-01-30 01:40:33 +08:00
c9s
a185f3fdbe bollmaker: improve trailing stop order log 2022-01-30 01:37:36 +08:00
c9s
78855d552a backtest: fix backtest trade for market order 2022-01-30 01:37:24 +08:00
c9s
9adc3a9243 bollmaker: always collect trades and check balance 2022-01-30 01:21:36 +08:00
c9s
2255f3ed0a bollmaker: check dust order for stop 2022-01-29 17:44:42 +08:00
c9s
99af5d3971 bollmaker: implement TrailingStopController 2022-01-29 02:22:20 +08:00
c9s
584dd3e279 bollmaker: add TradeInBand option 2022-01-28 01:29:12 +08:00
c9s
f49b7165d8 bollmaker: fix MinNotional adjustment 2022-01-27 19:56:10 +08:00
c9s
a6cbb2fb2d bollmaker: rewrite trend detection 2022-01-27 18:51:51 +08:00
c9s
547f4c400a cmd: call BindSync when running strategy 2022-01-27 18:19:25 +08:00
c9s
3b630c0bca bbgo: pull out writer closure 2022-01-27 18:13:15 +08:00
c9s
cb507edf44 bbgo: add BindSync method on environment 2022-01-27 18:12:15 +08:00
c9s
30a9a5849f add user data stream sync config 2022-01-27 09:34:04 +08:00
c9s
44efbce8eb cmd: change trades cmd time range to just 1 day 2022-01-27 09:26:24 +08:00
c9s
c3c2822c82 cmd/trades: avoid passing since and until at the same time 2022-01-27 08:57:31 +08:00
c9s
880d806736 cmd: add --no-sync option to the run command 2022-01-27 08:30:31 +08:00
c9s
70f02a1c19 cmd: handle user config sync options in the run command 2022-01-27 08:21:19 +08:00
c9s
0d0d8b05bf bbgo/scale: test out of domain 2022-01-27 02:39:33 +08:00
c9s
1ef5a37225 bbgo/scale: check domain range 2022-01-27 02:32:26 +08:00
c9s
4f6e04323f bollmaker: add more logs 2022-01-27 02:25:23 +08:00
c9s
aea8f97ab9 bollmaker: add Test_calculateBandPercentage test 2022-01-27 02:22:26 +08:00
c9s
f9d650cd23 bollmaker: add DynamicExposurePositionScale 2022-01-27 02:04:57 +08:00
c9s
09213b14f3 bbgo: add negative range test for PercentageScale 2022-01-27 01:47:01 +08:00
c9s
49f671ef54 add PercentageScale and its tests 2022-01-27 01:40:54 +08:00
c9s
e82379a668 bollmaker: add QuantityOrAmount struct 2022-01-27 01:10:39 +08:00
c9s
28075173ec bump version to v1.27.0 2022-01-27 00:32:18 +08:00
c9s
cfc17acd20 config: use looseFormatTime type for since field 2022-01-27 00:24:19 +08:00
c9s
ab07768a6d cmd: apply config to sync 2022-01-27 00:17:11 +08:00
c9s
59cc4d7243 max: improve max closed order query 2022-01-27 00:02:35 +08:00
Yo-An Lin
d79cce30e3
Merge pull request #443 from austin362667/refactor/futures-account
binance: add futures broker
2022-01-26 14:11:48 +08:00
c9s
b2c4cd91a7 avoid using UnixMilli 2022-01-26 14:09:35 +08:00
c9s
a29198f733 bbgo: fix LooseFormatTime.UnmarshalYAML 2022-01-25 01:18:56 +08:00
c9s
8f0e80499b types: fix MillisecondTimestamp parsing 2022-01-25 01:14:06 +08:00
c9s
007207e24f all: use types.LooseFormatTime to parse loose format date time string 2022-01-25 00:24:12 +08:00
c9s
5f7676f0c1 bbgo: add sync config 2022-01-25 00:06:25 +08:00
c9s
6286c50f7a max: always sort trades 2022-01-24 23:59:10 +08:00
c9s
0bf6e533e0 kucoin: fix closed orders query 2022-01-24 23:56:48 +08:00
c9s
f284c35b81 max: ensure orders are sorted ascendingly 2022-01-24 23:54:58 +08:00
c9s
04a15340bc max: add warning for the uneffected conditions 2022-01-24 23:51:53 +08:00
c9s
50871c1b61 max: fix order query limiter call and order state for query 2022-01-24 23:45:56 +08:00
c9s
0c0a12781a max: fix max exchange closed order sync 2022-01-24 23:18:52 +08:00
c9s
e8fd1486b1 binance: fix binance closed order sync 2022-01-23 16:19:13 +08:00
austin362667
5a4adf4d72 binance: add futures broker 2022-01-23 15:26:15 +08:00
c9s
106239e808 service: fix sync process 2022-01-23 15:14:29 +08:00
c9s
407a533659 use the standard generated comment
https://github.com/golang/go/issues/13560

Generated files are marked by a line of text that matches the regular
expression, in Go syntax:

    ^// Code generated .* DO NOT EDIT\.$ The .*

means the tool can put whatever folderol it wants in there, but the
comment must be a single line and must start with Code generated and end
with DO NOT EDIT., with a period.
2022-01-23 14:57:45 +08:00
c9s
1f18c36870 cmd: improve build command 2022-01-23 14:44:17 +08:00
c9s
5790c10a38 interact: fix logger call 2022-01-23 14:21:20 +08:00
c9s
7b572120a1 interact: use RemoveKeyboard from interact.KeyboardController 2022-01-23 14:13:47 +08:00
c9s
ef84742eb7 add KeyboardController interface 2022-01-23 02:21:26 +08:00
c9s
01afe9c14e interact: fix telegram session restore 2022-01-23 02:21:26 +08:00
c9s
fb37bce4bf interact: fix slack response and slash command handling 2022-01-23 02:21:26 +08:00
c9s
aad64eb461 interact: improve slack session loading and block sets rendering 2022-01-23 02:21:26 +08:00
c9s
49e4b71776 interact: handle InteractionTypeViewSubmission and print debug state 2022-01-23 02:21:26 +08:00
c9s
2f65d5951e interact: add doc comment to generateTextInputModalRequest 2022-01-23 02:21:26 +08:00
c9s
5ee0496c7d interact: support slack modal view request 2022-01-23 02:21:26 +08:00
c9s
0af5fc0530 interact: add RequireTextInput method to Reply interface 2022-01-23 02:21:26 +08:00
c9s
ce54a64208 add slack callback file 2022-01-23 02:21:26 +08:00
c9s
f5f8f15670 slack: add reply and session struct 2022-01-23 02:21:26 +08:00
c9s
2cf29bd1ec telegram: add callback handler 2022-01-23 02:21:26 +08:00
c9s
ad3f038dc6 bbgo: improve otp key layout 2022-01-23 02:21:26 +08:00
c9s
0e5cf5325b util: improve mask key function and add tests 2022-01-23 02:21:26 +08:00
c9s
c7f15efb23 interact: add Slack interaction 2022-01-23 02:21:26 +08:00
Yo-An Lin
e4b4f69716
Merge pull request #442 from kkc/fix_bollmaker_backtest
Fix: fallback to memory persistence if redis not found
2022-01-22 00:58:49 +08:00
Kakashi Liu
cd85edd64d Fix: fallback to memory persistence if redis not found
resolve #438
Fix bollmaker backtest error
2022-01-22 00:55:03 +08:00
zenix
213ceeda82 fix: #431 for not updating lastPrice if no tade happened 2022-01-21 20:57:55 +09:00