Commit Graph

4189 Commits

Author SHA1 Message Date
zenix
9cce165aa5 fix: extract split string by length as a function 2022-09-21 15:14:33 +09:00
Fredrik
2fb4c7e258 add limit to optimizer results 2022-09-20 22:49:21 +02:00
zenix
097860af6b fix: add rate limit on telegram api and split messages by unicode with size limitation 2022-09-20 17:02:02 +09:00
c9s
2a9fdcc998
bump version to v1.41.0 2022-09-20 15:34:43 +08:00
c9s
247a22c4fe
xmaker: fix profit stats notification 2022-09-20 15:09:22 +08:00
c9s
de1b0bccfc
types: fix balance filtering 2022-09-20 15:08:49 +08:00
Yo-An Lin
17b5e3566a
Merge pull request #960 from c9s/refactor/notification
improve: improve the existing notification switch settings
2022-09-20 12:25:06 +08:00
Yo-An Lin
1086845522
Merge pull request #961 from frin1/fix/exit_protective_stop_loss-repay
Feature: Add auto-repay to exit_protective_stop_loss
2022-09-20 12:04:24 +08:00
austin362667
beb13449cb strategy: refactor oneliner to irr 2022-09-20 10:32:57 +08:00
austin362667
4f99110d2b stratgy: add oneliner 2022-09-20 10:32:57 +08:00
Fredrik
2dfa27d934 Add auto-repay 2022-09-19 21:39:13 +02:00
c9s
4387b078c0
bbgo: add basic notification switch 2022-09-19 19:28:29 +08:00
c9s
75b61ea285
bbgo: add NotificationSwitches 2022-09-19 19:25:18 +08:00
c9s
b067d67eab
bbgo: drop legacy notification routing 2022-09-19 19:22:08 +08:00
Yo-An Lin
29376defa3
Merge pull request #958 from c9s/strategy/pivotshort
WIP: strategy/pivotshort: more improvements
2022-09-19 17:27:31 +08:00
c9s
1c58a44e44
binance: implement get margin max borrowable request 2022-09-19 17:09:34 +08:00
c9s
d73880d0a8
binance: upgrade github.com/adshao/go-binance/v2 to v2.3.8 2022-09-19 17:02:50 +08:00
c9s
c8f5bf8b08
bbgo: check e.session.Margin flag 2022-09-19 16:00:12 +08:00
c9s
b3ae4929be
bbgo: make the max borrowing error message clear 2022-09-19 14:56:13 +08:00
c9s
7ef008dc4f
telegramnotifier: show error message in the telegram log 2022-09-19 14:55:58 +08:00
Yo-An Lin
cddc70fb0d
Merge pull request #957 from c9s/fix/submit-order-notify
bbgo: remove submitOrder notification
2022-09-19 14:23:38 +08:00
c9s
1c23881da9
bbgo: check closing flag to avoid double closing 2022-09-19 13:23:23 +08:00
c9s
05defc3aad
bbgo: fix base amount borrow check 2022-09-19 13:12:49 +08:00
c9s
d4398bbbf9
bbgo: add more simple slice types to FilterSimpleArgs 2022-09-19 13:07:56 +08:00
c9s
e48ae215e5
bbgo: remove Notifiability from the order executor 2022-09-19 09:51:48 +08:00
Yo-An Lin
8e8979645d
Merge pull request #956 from c9s/improve/max-borrowable
improve: bbgo: use margin asset borrowable amount to adjust the quantity
2022-09-19 09:47:23 +08:00
c9s
850f3c86ba
types: fix net asset value display in telegram 2022-09-19 09:45:18 +08:00
c9s
d7711867b2
types: fix net asset value display in telegram 2022-09-19 09:44:26 +08:00
c9s
5800eab165
bbgo: remove submitOrder notification 2022-09-19 09:40:52 +08:00
c9s
59b1e52439
bbgo: remove submitOrder notification 2022-09-19 09:38:57 +08:00
c9s
f9f2df29e7
types: use passed time to reset today pnl 2022-09-19 09:33:18 +08:00
c9s
26cf048c84
types: preset fixedpoint zero fields 2022-09-19 09:31:04 +08:00
c9s
dc0fca09f2
types: rename json fields to grossProfit and grossLoss 2022-09-19 09:28:28 +08:00
c9s
1d1d5d497f
bbgo: init call to updateMarginAssetMaxBorrowable 2022-09-19 09:25:54 +08:00
c9s
8180153e9c
bbgo: use margin asset borrowable amount to adjust the quantity 2022-09-19 09:10:59 +08:00
Yo-An Lin
3230088f9f
Merge pull request #953 from zenixls2/fix/drift
fix: drift minus weight, preloaded kline not enough
2022-09-17 18:15:44 +08:00
Yo-An Lin
39c347f0a0
Merge pull request #950 from c9s/strategy/pivotshort
strategy/pivotshort
2022-09-17 18:14:41 +08:00
zenix
7044b0d8ea fix: drift minus weight, preloaded kline not enough 2022-09-16 19:11:36 +09:00
Zenix
44de961ea1
Merge pull request #942 from zenixls2/feature/modifiable
feature: add modify tg command. fix wdrift ma length
2022-09-16 15:23:38 +09:00
c9s
be40ed7410
bbgo: refactor marginAssetUpdater 2022-09-16 12:19:30 +08:00
c9s
d4f74822ad
bbgo/exit_protective_stop_loss: use types.KLineWith 2022-09-16 11:20:39 +08:00
c9s
2f575488c2
pivotshort: fix log format and notification 2022-09-16 11:18:11 +08:00
c9s
9ebb8ada13
optimizer: wrap error with the output if err is not nil 2022-09-16 01:53:23 +08:00
c9s
9819f0941b
pivotshort: clean up debug comment 2022-09-16 01:24:01 +08:00
c9s
cd338f8fe2
pivotshort: add pivotWindow parameter 2022-09-16 01:23:15 +08:00
c9s
427723dcaf
bbgo: improve trendEMA condition 2022-09-16 01:20:48 +08:00
c9s
3d7fc75e4b
pivotshort: add MACDDivergence protection 2022-09-16 01:15:18 +08:00
c9s
e2dd7c7360
indicator: improve macd indicator update callback 2022-09-15 17:53:12 +08:00
c9s
24fd81986c
types: init today since if it's 0 2022-09-15 17:29:16 +08:00
c9s
f0c0c6712d
types: use tradedAt time instead of time.Now 2022-09-15 17:26:35 +08:00
c9s
0ead18a95b
types: fix gross profit calculation 2022-09-15 17:12:12 +08:00
c9s
8bfd1f7f30
indicator: refactor pivot function to floats 2022-09-15 17:12:10 +08:00
c9s
a297b26dfb
types: fix AccumulatedSince initialization 2022-09-15 17:10:53 +08:00
c9s
0096d561d7
types: fix gross profit calculation 2022-09-15 17:09:32 +08:00
c9s
432f9df137
indicator: refactor pivot function to floats 2022-09-15 11:49:19 +08:00
c9s
539513ada0
pivotshort: fix breaklow parameters 2022-09-14 21:03:54 +08:00
zenix
528d65c9fb fix: hide ZeroValue from dynamic 2022-09-14 20:12:53 +09:00
zenix
b66bcb1f67 fix: add more test cases on reflect.Value.Set 2022-09-14 20:11:38 +09:00
c9s
53d622daf5
pivotshort: add the kline object to the notification 2022-09-14 19:08:54 +08:00
c9s
728cb6d56c
pivotshort: add one more kline pattern to check the break 2022-09-14 19:08:21 +08:00
c9s
3ab5d35b77
bbgo: fix macdIndicators map initialization 2022-09-14 18:44:38 +08:00
c9s
67b526120a
indicator/macd: fix update callback and add log in pivotshort 2022-09-14 18:41:11 +08:00
c9s
7fd2b7472c
bbgo: integrate MACD indicator into standard indicator set 2022-09-14 18:33:06 +08:00
c9s
82b4594984
pivotshort: remove unused trendEMA floats 2022-09-14 18:20:56 +08:00
c9s
ebf4abf54d
pivotshort: improve last high/low invalidation 2022-09-14 18:20:02 +08:00
c9s
88696bc6d2
bbgo: add more interface implementation for order executor 2022-09-14 15:54:43 +08:00
Yo-An Lin
dc195e824b
Merge pull request #920 from austin362667/austin362667/factorzoo
strategy: add trend trader
2022-09-14 15:00:08 +08:00
Yo-An Lin
54782e763b
Merge pull request #947 from c9s/fix/acc-vol-stop
improve: accumulated volume stop method
2022-09-14 12:42:16 +08:00
c9s
1880553a65
bbgo: cumulated volume stop - compare shadow height 2022-09-14 12:32:36 +08:00
c9s
4b04beb729
types: fix kline receiver type 2022-09-14 12:04:19 +08:00
c9s
d022c80727
bbgo: add strict condition for CumulatedVolumeTakeProfit 2022-09-14 12:04:12 +08:00
zenix
aaa657dcc3 fix: move some modify implementation to dynamic 2022-09-14 12:38:22 +09:00
Yo-An Lin
a3034546f4
Merge pull request #945 from narumiruna/feature/marketcap/coinmarketcap
FEATURE: marketcap: get marketcap values from coinmarketcap
2022-09-14 10:58:08 +08:00
Yo-An Lin
cfeb0ba97b
Merge pull request #946 from c9s/fix/telegram-error
bbgo: fix telegram message error, there must be one message to send
2022-09-14 10:57:10 +08:00
zenix
d40b34e4d6 feature: add modify tg command. fix wdrift ma length 2022-09-14 11:08:10 +09:00
c9s
402ac58b53
pivotshort: fix pilotQuantity calculation 2022-09-14 03:10:48 +08:00
c9s
0b9320f7dc
interact: fix telegram message length check 2022-09-14 02:56:47 +08:00
c9s
b855267604
bbgo: wrap keyboard removal in defer func 2022-09-14 02:53:32 +08:00
なるみ
7b218e65e2 remove unused field 2022-09-14 02:51:12 +08:00
c9s
1d1ec12417
bbgo: fix telegram message error, there must be one message to send 2022-09-14 02:51:07 +08:00
なるみ
71ae75df73 fixup! get marketcap values from coinmarketcap 2022-09-14 02:47:12 +08:00
なるみ
e7a7e21b68 remove notifiability 2022-09-14 02:46:23 +08:00
なるみ
9b5f204cbe get marketcap values from coinmarketcap 2022-09-14 02:44:57 +08:00
c9s
b76d779902
types: add BalanceMap_Assets test case 2022-09-14 02:26:06 +08:00
c9s
b4990f173d
xnav: fix negative usd value check 2022-09-14 02:20:54 +08:00
c9s
02dab542c4
bbgo: add USDTTWD price test case 2022-09-14 02:18:39 +08:00
c9s
c9b064f0ac
types: define PriceMap type 2022-09-14 02:18:39 +08:00
c9s
809294b054
bbgo: add test case for calculateNetValueInQuote 2022-09-14 02:18:39 +08:00
c9s
7617679651
pivotshort: add EarlyStopRatio config 2022-09-14 02:18:39 +08:00
c9s
fe9a546c65
pivotshort: improve notification 2022-09-14 02:18:39 +08:00
c9s
f0ea9a357a
pivotshort: add one more kline price compare condition 2022-09-14 02:18:39 +08:00
なるみ
0a07a70415
Merge pull request #943 from narumiruna/fix/marketcap-market-error
FIX: fix market error
2022-09-13 23:45:41 +08:00
なるみ
9af58b07ec fix market error 2022-09-13 23:35:29 +08:00
c9s
613b23eab5
pivotshort: add FastWindow parameter 2022-09-13 13:09:11 +08:00
c9s
e171932f07
pivotshort: fix fast high filtering 2022-09-13 11:57:38 +08:00
c9s
8d4eb611f3
bbgo: add more open position doc comments 2022-09-12 23:48:40 +08:00
c9s
68d40de62c
pivotshort/failedbreakhigh: call OpenPosition method 2022-09-12 23:38:27 +08:00
c9s
b22a48cb8a
pivotshort: fix fast low pivot filtering 2022-09-12 23:32:53 +08:00
c9s
ba85e7e5ff
pivotshort: add fastWindow parameter 2022-09-12 23:26:40 +08:00
c9s
776f89b2f2
pivotshort: apply OpenPositionOptions to breakLow 2022-09-12 23:24:37 +08:00
c9s
04f7b96c6a
pivotshort: add fast pivot high filtering 2022-09-12 23:13:31 +08:00
c9s
e23ed8c783
pivotshort: add fastpivot 2022-09-12 23:13:31 +08:00
Yo-An Lin
4b78ba112f
Merge pull request #939 from c9s/fix/rate-limit-adjustment
binance: add queryTrades rate limiter
2022-09-12 15:11:53 +08:00
c9s
a5ba870cd8
binance: add queryTrades rate limiter 2022-09-12 15:03:01 +08:00
c9s
424a1dec3f
bbgo: add lightweight mode 2022-09-12 14:24:18 +08:00
c9s
f729937527
bump version to v1.40.4 2022-09-12 00:43:53 +08:00
Yo-An Lin
2214920b37
Merge pull request #935 from c9s/fix/open-position
bbgo: add price check and add max leverage for cross margin
2022-09-12 00:42:12 +08:00
Yo-An Lin
4ea723d1d8
Merge pull request #937 from c9s/feature/telegram-error-log-hook
notifier: redirect error, panic, fatal error to telegram
2022-09-12 00:39:12 +08:00
Yo-An Lin
8462054d58
Merge pull request #936 from COLDTURNIP/fix/bollmaker_dyn_spread_setting_backward_compatibility
bollmaker: fix settings overriding
2022-09-12 00:38:58 +08:00
Yo-An Lin
5db41f4be2
Merge pull request #934 from c9s/fix/pnl-position
pnl: fix nil position point issue
2022-09-12 00:32:17 +08:00
c9s
b8e18dd75c
notifier: redirect error, panic, fatal error to telegram 2022-09-12 00:29:12 +08:00
Raphanus Lo
8286356d3b bollmaker: fix settings overriding 2022-09-12 00:27:11 +08:00
c9s
20dd37c1e2
slacknotifier: drop unused code 2022-09-12 00:17:00 +08:00
c9s
caf57010a6
bbgo: move up base balance variable 2022-09-12 00:13:49 +08:00
c9s
53c4178ae2
bbgo: fix reverse pair price lookup and add tests 2022-09-12 00:05:22 +08:00
c9s
3b1725014b
bbgo: fix account value calculation for mixed usd fiat 2022-09-11 23:51:24 +08:00
c9s
307c5f2a8d
bbgo: add price check and add max leverage for cross margin 2022-09-11 23:26:48 +08:00
c9s
4617245cbf
pnl: fix nil position point issue 2022-09-11 23:18:54 +08:00
Raphanus Lo
cf16176f5e bollmaker: fix backward compatibility of dynamic spread settings 2022-09-11 20:58:13 +08:00
c9s
aebc6f7fb8
bump version to v1.40.3 2022-09-11 18:02:42 +08:00
c9s
db94b2690a
bbgo: check base balance only for long position 2022-09-11 17:49:24 +08:00
c9s
7b68e5ee27
bbgo: fix balance lock issue 2022-09-11 17:46:23 +08:00
c9s
a425c940fa
bollmaker: add trendEMA support 2022-09-11 17:28:54 +08:00
c9s
080b4dea95
bollmaker: add doc file for bollmaker 2022-09-11 16:56:05 +08:00
Yo-An Lin
3c4bad6124
Merge pull request #930 from andycheng123/fix/pivotshort-trendema
Fix: Pivotshort
2022-09-11 16:53:02 +08:00
Yo-An Lin
e0d3a5ec95
Merge pull request #929 from frin1/supertrend-draw-pnl
feature: strategy/supertrend: draw pnl on
2022-09-11 16:52:46 +08:00
Fredrik
386ab1f6f3 refactor draw on supertrend 2022-09-11 09:48:08 +02:00
Fredrik
3a188aa66a rename variables 2022-09-11 08:44:59 +02:00
Andy Cheng
df7d768b94 strategy/pivotshort: add trendema test case 2022-09-11 14:42:05 +08:00
c9s
f2e3acf8ec
binance: emit reconnect when received ListenKeyExpired 2022-09-11 14:11:50 +08:00
c9s
ff635195fb
binance: add listenKeyExpired callback 2022-09-11 14:10:30 +08:00
Andy Cheng
98bd6ca1d2 strategy/pivotshort: make strategy controller work 2022-09-11 14:09:46 +08:00
c9s
4890d19ebf
binance: parse listenKeyExpired event 2022-09-11 14:06:55 +08:00
Andy Cheng
f132666738 strategy/pivotshort: fix trendema 2022-09-11 13:56:36 +08:00
Yo-An Lin
42a358fd34
Merge pull request #928 from c9s/refactor/iteract-filter
refactor: refactor interact strategy filter functions
2022-09-11 12:20:38 +08:00
Fredrik
e02840e08d Feature: draw pnl 2022-09-11 01:19:23 +02:00
c9s
7b58460d00
bbgo/interact: move strategy filter functions to the bottom 2022-09-11 03:15:11 +08:00
c9s
8961c940b2
bbgo: add two test cases for reflect 2022-09-11 03:13:10 +08:00
Yo-An Lin
d45bc9e509
Merge pull request #927 from c9s/refactor/submit-order
refactor: simplify submit order
2022-09-11 02:58:47 +08:00
c9s
278aa026f2
bbgo/interact: refactor strategy filter functions 2022-09-11 02:55:58 +08:00
c9s
442ca9287d
bbgo: implement position reset 2022-09-11 02:46:58 +08:00
c9s
3be801ab6b
bbgo/interact: add /resetposition command 2022-09-11 02:41:59 +08:00
c9s
9474c2779c
bbgo: call notify when opening new position 2022-09-11 02:36:45 +08:00
c9s
5c18bc4d41
bbgo: notify closing position 2022-09-11 02:33:32 +08:00
c9s
6c22c3799e
bbgo: Add ClosePosition doc comment 2022-09-11 02:01:48 +08:00
Yo-An Lin
e0228f80f4
Merge pull request #926 from c9s/feature/open-position
fix: handle created orders before we retry
2022-09-10 13:37:16 +08:00
c9s
c484c1f176
reformat code 2022-09-10 13:31:31 +08:00
c9s
29105eb57f
all: simplify underlying exchange submitOrder method
- Replace SubmitOrders with SubmitOrder
- Accept only one submit order and return one created order
- Add bbgo.BatchPlaceOrders helper method and bbgo.BatchRetryPlaceOrders method
2022-09-09 18:41:06 +08:00
Yo-An Lin
e86df62daf
Merge pull request #925 from c9s/feature/open-position
feature: order executor open position method
2022-09-09 17:58:12 +08:00
c9s
94780b39e6
bbgo: order executor should collect the created orders first before we retry 2022-09-09 17:55:51 +08:00
c9s
5f2254e2cb
bbgo: add description to the open position options 2022-09-09 17:50:21 +08:00
c9s
8dca24e9ee
all: solve cyclic import 2022-09-09 17:40:17 +08:00
c9s
2e95246687
bbgo: add OpenPosition method 2022-09-09 13:57:39 +08:00
c9s
90f3727d68
pivotshort: log submit order error 2022-09-08 23:19:14 +08:00
c9s
edc8c132d5
pivotshort: print stopEMA protection 2022-09-08 23:17:35 +08:00
Yo-An Lin
1c7b40a0be
Merge pull request #922 from c9s/fix/trade-stats-for-live
fix: types/tradeStats: use last order id to identity consecutive win and loss
2022-09-08 17:30:48 +08:00
c9s
3aebb58091
types/tradeStats: use tester 2022-09-08 16:37:47 +08:00
c9s
3b208ee4ef
types/tradeStats: expose Recalculate trade stats method 2022-09-08 16:29:48 +08:00
c9s
950e998ed1
types/tradeStats: call updates when marshalling 2022-09-08 16:10:18 +08:00
c9s
d12df59c1b
types/tradeStats: use last order id to identity consecutive win and loss 2022-09-08 15:49:23 +08:00
Yo-An Lin
3e07f1fa86
Merge pull request #921 from andycheng123/improve/supertrend-strategy-profit-report
strategy/supertrend: use ma by day instead of by trade
2022-09-08 12:15:50 +08:00
Andy Cheng
6ca1a80cf9 strategy/supertrend: use ma by day instead of by trade 2022-09-07 18:27:11 +08:00
Zenix
afad9cca47
Merge pull request #910 from zenixls2/feature/ewo_renew
SerialMarketDataStore, elliottwave renewal
2022-09-07 18:54:01 +09:00
Yo-An Lin
d24b816518
Merge pull request #919 from c9s/fix/trade-stats-for-live
feature: add fixedpoint.Reducer, Counter and add update stats method on TradeStats
2022-09-07 17:36:49 +08:00
austin362667
46b3fabfe3 strategy: add trend trader
strategy: add trend treader

strategy: add trend treader
2022-09-07 16:11:31 +08:00
austin362667
8b97e4c4e8 audacity: finalize strategy 2022-09-07 16:05:51 +08:00
austin362667
713ead669e audacity: stddev outlier func & all order change to maker 2022-09-07 16:05:51 +08:00
austin362667
43a3e21a7b audacitymaker: rename perTrade 2022-09-07 16:05:51 +08:00
austin362667
132f700377 builtib: update strategy registery 2022-09-07 16:05:51 +08:00
austin362667
73a8f3586f builtib: update strategy list
builtib: update strategy list
2022-09-07 16:05:51 +08:00
austin362667
1d727345ee strategy: redesign to audacitymaker 2022-09-07 16:05:51 +08:00
austin362667
833d30ce64 ktrade: add second try 2022-09-07 16:05:51 +08:00
austin362667
6a119bfca0 ktrade: remove ticker 2022-09-07 16:05:51 +08:00
austin362667
a18a06819e ktrade: error handling
ktrade: remove error handling

ktrade: remove error handling

ktrade: remove error handling

ktrade: error handling
2022-09-07 16:05:51 +08:00
austin362667
49f7c3de46 ktrade: rounding instead of ceil/floor 2022-09-07 16:05:51 +08:00
austin362667
42d7117464 strategy: add ktrade 2022-09-07 16:05:51 +08:00
c9s
56c53958cd
fixedpoint: positive tester and negative tester 2022-09-07 15:11:07 +08:00
c9s
c62330b2c1
fixedpoint: add counter func 2022-09-07 14:05:44 +08:00
c9s
e28921879d
types: implement stats update method for live trading 2022-09-07 14:02:57 +08:00
zenix
e7a5669018 fix: lowestPrice in elliottwave, add more logs 2022-09-07 15:02:38 +09:00
c9s
668180f8aa
fixedpoint: add reducer and its tests 2022-09-07 14:00:26 +08:00
c9s
e161f4ec1a
fixedpoint: add sort interface support on fixedpoint 2022-09-07 12:35:09 +08:00
c9s
e0e279f756
fixedpoint: add reducer 2022-09-07 12:28:13 +08:00
c9s
6b4661783d
types: group profits by order id 2022-09-07 11:59:08 +08:00
c9s
4c3334c482
types: assign orderID to profit object 2022-09-07 11:57:09 +08:00
c9s
889318ddcb
cmd/order: add market order support 2022-09-07 02:17:56 +08:00
c9s
90b633158a
cmd/order: add margin-side-effect option 2022-09-07 02:01:38 +08:00
c9s
33fdcefba3
bbgo: add notification tag 2022-09-07 01:05:43 +08:00
c9s
c2eec1e72b
bbgo: move fixedpoint one const to consts.go 2022-09-07 00:50:54 +08:00
c9s
62fb09c8d9
bbgo: protective stop should send notification when it's activated 2022-09-07 00:50:16 +08:00
c9s
9bbd69c030
bump version to v1.40.2 2022-09-07 00:40:01 +08:00
c9s
f62eb301e3
fix: fix pivothigh indicator use high instead of low 2022-09-06 23:39:13 +08:00
zenix
66c8a3bb0d fix: rename getSource to sourceGetter 2022-09-06 19:15:13 +09:00
zenix
36a5579660 fix: SourceSelector json marshal/unmarshal without Init from strategy. smartCancel check on order status 2022-09-06 19:08:05 +09:00
c9s
8f363677bc
move bootstrap functions 2022-09-06 16:50:45 +08:00
zenix
67e57b49eb fix: move sourceselector to bbgo folder 2022-09-06 14:43:05 +09:00
zenix
b35bce1afd fix: remove non-code file 2022-09-06 14:36:55 +09:00
zenix
1d0893b699 fix: enable interval parsing for non-whitelisted time spans 2022-09-06 14:26:17 +09:00
c9s
ed975de2cd
cmd: write config json file into the backtest report dir 2022-09-06 13:20:37 +08:00
c9s
8ed39f7565
cmd: add session name to the symbol report json file 2022-09-06 13:18:35 +08:00