Commit Graph

2275 Commits

Author SHA1 Message Date
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
c9s
dc01a23b99 bump version to v1.26.3 2022-01-19 18:34:47 +08:00
c9s
4d921b0b36 kucoin: fix klines ordering 2022-01-19 18:33:54 +08:00
c9s
0b8e5852eb check persistence error 2022-01-19 18:29:24 +08:00
c9s
9bdc05b69c strategy/grid: use background context for canceling orders 2022-01-19 18:26:57 +08:00
c9s
9953a30717 xgap: fix subscribe interval 2022-01-19 13:08:50 +08:00
Yo-An Lin
0e0525be99
Merge pull request #418 from austin362667/refactor/futures-account
binance: add futures exchange api queries
2022-01-17 20:54:49 +08:00
Yo-An Lin
a8c5a80357
Merge pull request #436 from jessy1092/ftx/correct-poll-klines
ftx: Separate the lastClosed record for different interval
2022-01-17 20:52:39 +08:00
c9s
6db038d85f bump version to v1.26.1 2022-01-17 20:49:56 +08:00
c9s
5c0e3a1254 bollmaker: add shadow protection config 2022-01-16 04:40:50 +08:00
c9s
a68ad20ddc bollmaker: add shadow protection 2022-01-16 04:06:19 +08:00
c9s
71e660571d bbgo: optimize LocalActiveOrderBook for back-testing speed 2022-01-16 01:34:28 +08:00
c9s
1e370ff244 bollmaker: collect trades before we shutdown 2022-01-16 01:27:28 +08:00
c9s
898204f5fa bollmaker: adjust quantity to met the min notional condition before we submit 2022-01-16 01:15:34 +08:00
c9s
fd4a3bb000 bollmaker: remove unused cancelOrders function 2022-01-16 01:08:50 +08:00
c9s
5d54e6fded interact: skip total == 0 balance 2022-01-16 01:06:47 +08:00
c9s
d1cfaec7d3 notifier/telegramnotifier: check chats map 2022-01-16 01:00:15 +08:00
c9s
5f4239d108 interact: if messenger is not set, skip starting 2022-01-16 00:58:36 +08:00
c9s
b80f481e7d interact: fix interact tests for session 2022-01-16 00:50:43 +08:00
c9s
b49fc182dc fix telegram session persistence 2022-01-16 00:39:24 +08:00
c9s
2088234b44 interact: separate telegram user sessions 2022-01-16 00:25:11 +08:00
austin362667
904e7c03ad strategy: cleanup funding strategy
strategy: cleanup funding strategy
2022-01-15 08:28:02 +08:00
austin362667
0ab94e0884 binance: fix err handler 2022-01-15 08:28:02 +08:00
austin362667
91d2312c5c cache: refactor moving from bbgo to pkg/cache 2022-01-15 08:28:02 +08:00
austin362667
734221028b binance: fix parse type 2022-01-15 08:28:02 +08:00
austin362667
d0e26c66e4 strategy: add funding strategy 2022-01-15 08:28:02 +08:00
austin362667
f661db56bd service: handle error 2022-01-15 08:28:02 +08:00
austin362667
9a1d2cba31 binance: add account info in query account 2022-01-15 08:28:02 +08:00
austin362667
32c2f128f5 binance: add TradeFutures 2022-01-15 08:28:02 +08:00
austin362667
8130ef78c1 binance: refactor margin related conversions 2022-01-15 08:28:02 +08:00
austin362667
cd5d8c7a3f types: modify IsolatedMarginAsset from array to map 2022-01-15 08:28:02 +08:00
austin362667
48d968059c types: add margin asset map & account info 2022-01-15 08:28:02 +08:00
austin362667
5404bfe7f8 binance: fix futures symbol not found from syncSession
binance: fix query trades, closed orders futures symbol not found

binance: fix futures symbol not found
2022-01-15 08:28:02 +08:00
austin362667
0f0539fe70 binance: add futures exchange queries 2022-01-15 08:28:02 +08:00
austin362667
6071c07073 binance: add futures conversion 2022-01-15 08:28:02 +08:00
austin362667
6ac8b36eca types: add futures assets 2022-01-15 08:28:02 +08:00
Lee
f6c70bdfcb ftx: Separate the lastClosed record for different interval 2022-01-15 05:12:45 +08:00
c9s
0e3cc08c94 bump version to v1.26.0 2022-01-15 03:37:06 +08:00
c9s
5f942e85ed bbgo: show position with plaintext mode instead of string format 2022-01-15 03:13:30 +08:00
c9s
06e7ab8824 interact: fix interact tests 2022-01-15 03:09:42 +08:00
c9s
1c7d4d09cf interact: add Cycle state builder 2022-01-15 03:06:36 +08:00
c9s
2a6b821908 bbgo: implement /position command 2022-01-15 02:58:55 +08:00
c9s
93722e6db3 implement position closer interaction 2022-01-15 02:52:46 +08:00
c9s
77c2a6e10b types: fix submit order preview 2022-01-15 02:52:33 +08:00
c9s
140e5638b8 binance: apply order cancel rate limiter 2022-01-15 00:52:54 +08:00
c9s
255ee40c98 bbgo: when calling order cancel we should use background context 2022-01-15 00:49:27 +08:00
c9s
77e92d544a bbgo: pull out interaction setup 2022-01-15 00:32:21 +08:00
c9s
e385d96709 bbgo: move authToken loader 2022-01-15 00:29:35 +08:00
c9s
3a13025d58 bbgo: change default notification rule -- silent order updates 2022-01-15 00:25:16 +08:00
c9s
d5f3946ada bbgo: refactor the current auth with interact 2022-01-15 00:18:07 +08:00
c9s
51ecac54e7 bbgo: fix local active book graceful cancel 2022-01-15 00:17:52 +08:00
c9s
41b94c5c7e interact: refactor telegram interaction 2022-01-14 15:03:19 +08:00
c9s
fdf7ad9648 bbgo: rename auth function for general case 2022-01-14 13:41:43 +08:00
c9s
5bef7d8a1e interact: use interaction singleton 2022-01-14 13:31:31 +08:00
c9s
0114d92f2f interact: split interaction files 2022-01-14 13:31:31 +08:00
c9s
97ca304bec telegramnotifier: add SetOwner method 2022-01-14 13:31:31 +08:00
c9s
dd93ee4fd3 move methods to telegramnotifier 2022-01-14 13:31:31 +08:00
c9s
832faf91f8 interact: add command description 2022-01-14 13:31:31 +08:00
c9s
317d8e9d49 xgap: add minSpread option 2022-01-14 12:49:46 +08:00
Yo-An Lin
e797e597b1
Merge pull request #435 from jessy1092/fix/correct-bollmaker-params
fix: Correct uptrendSkew and downtrendSkew parameters setting on bollmaker strategy
2022-01-14 12:18:18 +08:00
c9s
eef14fa950 xgap: add jitter 2022-01-14 12:03:29 +08:00
c9s
1f6076ae18 plus a quantity jitter 2022-01-14 11:59:40 +08:00
c9s
42430fde4b interact: fix interact tests 2022-01-14 02:36:57 +08:00
c9s
17322cbc09 interact: improve authentication process 2022-01-14 02:36:06 +08:00
c9s
62e5706657 interact: improve strict mode authentication 2022-01-14 02:13:59 +08:00
c9s
72a925f659 interact: support authorizer 2022-01-14 01:58:04 +08:00
c9s
086127e8f7 interact: let function evaluator returns state, inject nil if object is not found 2022-01-14 01:01:01 +08:00
c9s
14eea34394 interact: pull out authentication interaction 2022-01-14 00:26:53 +08:00
c9s
91c831140c interact: fix private command 2022-01-14 00:17:41 +08:00
c9s
a6fb0caff3 interaction: add PrivateCommand 2022-01-13 23:41:22 +08:00
Lee
965fc6989d fix: Correct uptrendSkew and downtrendSkew parameters setting on bollmaker strategy 2022-01-13 23:06:23 +08:00
c9s
76c64b041f interact: separate interfaces 2022-01-13 22:24:51 +08:00
c9s
7eba6b20c9 implement the basic flow of interact 2022-01-13 22:15:05 +08:00
c9s
ba4c694179 interact: scan all return values 2022-01-13 11:43:33 +08:00
c9s
087a91aa8a interact: fix object arg injection 2022-01-13 11:43:33 +08:00
c9s
caa50c3b04 interact: implement parseFuncArgsAndCall with interface injection 2022-01-13 11:43:33 +08:00
c9s
3cc11badac interact: implement command state machine 2022-01-13 11:43:33 +08:00
c9s
43317bb647 add state and telegram example 2022-01-13 11:43:33 +08:00
c9s
ccaa8c5c86 bbgo: implement parseCommand 2022-01-13 11:43:33 +08:00
c9s
7053802041 basic interaction parser 2022-01-13 11:43:33 +08:00
c9s
7daa82ff9e bump version to v1.25.4 2022-01-13 11:33:30 +08:00
c9s
dc6d60216b types: fix order book copy 2022-01-13 11:09:50 +08:00
c9s
98247385f9 xmaker: use GracefulCancel to cancel active orders 2022-01-13 11:01:46 +08:00
c9s
e91dc5a518 types: use mod 3 and mod 7 for test 2022-01-13 10:59:03 +08:00
c9s
e573c18a5c types: add more detailed rbtree tests 2022-01-13 10:56:57 +08:00
c9s
cb9d9137a6 depth: add details to the depth error message 2022-01-13 00:14:15 +08:00
c9s
8b56c47f65 add doc-comment for PriceHeartBeat 2022-01-13 00:01:20 +08:00
c9s
ec72a922c8 all: add subscribe depth options 2022-01-12 22:27:42 +08:00
c9s
f9e72dc79f binance: subscribe binance depth10@100ms 2022-01-12 22:17:07 +08:00
c9s
5cc3a88911 xmaker: show order book last update time 2022-01-12 22:11:28 +08:00
c9s
2aeb9e870c types: add lastUpdateTime field 2022-01-12 22:07:52 +08:00
c9s
915f2c7476 types: add last update time field to orderbook 2022-01-12 22:06:08 +08:00
c9s
09592755cc cmd: add dump-update option to orderbook cmd 2022-01-12 22:00:29 +08:00
c9s
1a61935850 add depth buffer logs 2022-01-12 21:55:26 +08:00
c9s
8c2228f428 cmd: use time.Local for the local timezone 2022-01-12 15:33:04 +08:00
c9s
b3b1161ecc depth: add SetUpdateTimeout 2022-01-12 14:49:01 +08:00
c9s
0c7710c91b types: avoid using copy node for rbtree 2022-01-12 14:45:05 +08:00
c9s
c3356fa694 types: add test for PriceHeartBeat 2022-01-12 14:42:11 +08:00
c9s
5755c44845 move PriceHeartBeat to types 2022-01-12 14:33:55 +08:00
c9s
f28bfbf0c9 bump version to v1.25.3 2022-01-12 12:56:15 +08:00
Yo-An Lin
30c1dd3e3d
Merge pull request #424 from tony1223/bug/binance-add-ratelimiter
fix: [binance] add order rate limiter
2022-01-12 12:53:51 +08:00
Yo-An Lin
c2b121f9ee
Merge pull request #432 from jessy1092/ftx/support-limit-maker
ftx: Support LIMIT_MAKER and IOC_LIMIT order type
2022-01-12 12:50:57 +08:00
c9s
e44a2c1cac service: check redis client and show proper error 2022-01-12 12:42:39 +08:00
c9s
420e221f5b xmaker: pull out PriceHeartBeat 2022-01-12 12:14:51 +08:00
c9s
7195c6ed27 xmaker: add price quoting protection 2022-01-12 11:55:45 +08:00
c9s
0e927a9a06 types: avoid using nil in rbt 2022-01-12 11:45:08 +08:00
c9s
6ee831e678 add trade logger 2022-01-12 11:19:41 +08:00
c9s
db8a74238e notifier/telegramnotifier: remove debug log 2022-01-12 11:18:36 +08:00
Lee
523d9b3071 ftx: Support LIMIT_MAKER and IOC_LIMIT order type 2022-01-12 03:47:12 +08:00
c9s
848d36f90b add trade exchange back 2022-01-11 22:50:38 +08:00
c9s
940c675cae xmaker: add rate limit hit alert 2022-01-11 22:48:28 +08:00
c9s
081a143ec0 xmaker: add DepthQuantity 2022-01-11 22:47:40 +08:00