c9s
9e0df77a36
move profit struct into the types package
2022-03-04 16:39:48 +08: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
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
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
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
Andy Cheng
66b042fea7
strategy: trailing stop TP for support strategy
2022-02-06 17:47:11 +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
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
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
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
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
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
cfc17acd20
config: use looseFormatTime type for since field
2022-01-27 00:24:19 +08:00
c9s
a29198f733
bbgo: fix LooseFormatTime.UnmarshalYAML
2022-01-25 01:18:56 +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
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
7b572120a1
interact: use RemoveKeyboard from interact.KeyboardController
2022-01-23 14:13:47 +08:00
c9s
01afe9c14e
interact: fix telegram session restore
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
f5f8f15670
slack: add reply and session struct
2022-01-23 02:21:26 +08:00
c9s
ad3f038dc6
bbgo: improve otp key layout
2022-01-23 02:21:26 +08:00
c9s
c7f15efb23
interact: add Slack interaction
2022-01-23 02:21:26 +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
c9s
0b8e5852eb
check persistence error
2022-01-19 18:29:24 +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
c9s
5c0e3a1254
bollmaker: add shadow protection config
2022-01-16 04:40:50 +08:00
c9s
71e660571d
bbgo: optimize LocalActiveOrderBook for back-testing speed
2022-01-16 01:34:28 +08:00
c9s
5d54e6fded
interact: skip total == 0 balance
2022-01-16 01:06:47 +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
91d2312c5c
cache: refactor moving from bbgo to pkg/cache
2022-01-15 08:28:02 +08:00
Lee
266400d925
indicator: Support difference bandwidth on boll indicator and can dynamic create BOLL
2022-01-15 05:30:06 +08:00
c9s
5f942e85ed
bbgo: show position with plaintext mode instead of string format
2022-01-15 03:13:30 +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
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
dd93ee4fd3
move methods to telegramnotifier
2022-01-14 13:31:31 +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
6ee831e678
add trade logger
2022-01-12 11:19:41 +08:00
c9s
e5b4af53e6
all: clean up SubmitOrder fields
2022-01-11 01:36:19 +08:00
c9s
48cbb7fff6
bbgo: check order side and log error
2022-01-10 17:26:14 +08:00
c9s
d57f8fedfe
bbgo: fix active book order removal
2022-01-10 12:29:19 +08:00
c9s
d94cc2df31
bbgo: add recover callbacks to trace collector
2022-01-09 15:39:59 +08:00
c9s
0cec652f38
bollmaker: skip submitOrder calls if submitOrders is empty
2022-01-09 02:35:12 +08:00
c9s
7e2acdc416
all: add lock protected GetBase method for Position
2022-01-09 00:35:45 +08:00
c9s
d1420e66be
fix TestTradeCollector_ShouldNotCountDuplicatedTrade
2022-01-08 02:20:30 +08:00
c9s
e0b906a88b
bbgo: fix processTrade
2022-01-07 16:53:11 +08:00
c9s
a5fb408a16
twap: refactor and call activeMakerOrders.GracefulCancel
2022-01-07 01:34:23 +08:00
c9s
e312ec953c
bbgo: rename test case
2022-01-07 01:23:54 +08:00
c9s
d63cc42867
bbgo: add trade collector test
2022-01-07 01:17:07 +08:00
c9s
a49d001c29
xmaker: add trade scanner
2022-01-07 01:03:12 +08:00
c9s
69ae3259ff
bbgo: mark trade as done in the trade collector for preventing duplicated trade
2022-01-07 00:28:12 +08:00
c9s
259771b0b0
all: pull out the graceful cancel process to the local active book
2022-01-07 00:10:40 +08:00
c9s
47e23fda90
bbgo: add cache expiry
2022-01-06 23:57:42 +08:00
c9s
1116fc1de1
session: print klines only when debug-kline is enabled
2021-12-31 15:13:26 +08:00
c9s
63ccc2d3d0
bbgo: remove order if ExecutedQuantity is zero
2021-12-31 01:55:22 +08:00
c9s
ba73d5a09a
fix kucoin orderTime parsing and order id conversion
2021-12-30 22:02:50 +08:00
c9s
31070c3950
pull out connection status binder
2021-12-30 17:25:47 +08:00
c9s
26ff576727
fix connection status callbacks
2021-12-30 17:23:27 +08:00
c9s
cfc66dc13e
bbgo: add session connection notification
2021-12-30 17:18:04 +08:00
c9s
a2931da92c
move math rand
2021-12-30 16:18:32 +08:00
c9s
22e4da3775
fix pendingRemoval lock
2021-12-29 23:53:46 +08:00
c9s
090d60b44e
fix session connection status metrics
2021-12-28 01:58:36 +08:00
c9s
a0e41650be
add metricsLastUpdateTimeBalance metrics
2021-12-28 01:39:17 +08:00
c9s
bb9ef72028
update metricsConnectionStatus metrics
2021-12-28 00:49:56 +08:00
c9s
bb7b33e532
bbgo: bind and update balance metrics updater
2021-12-27 17:27:16 +08:00
c9s
7b629c9d30
bbgo: update balances metrics and trade metrics
2021-12-27 17:16:30 +08:00
c9s
0f24eec715
bbgo: fix: filter trades by symbol
2021-12-27 16:32:30 +08:00
c9s
42f22e0ef3
add prometheus metrics server
2021-12-27 16:27:14 +08:00
c9s
a31e2743ee
fix kline log space
2021-12-27 00:54:10 +08:00
c9s
f7c39290a0
call tradeCollector process to check trades
2021-12-27 00:51:57 +08:00
c9s
770c1067fc
bbgo: fix order store RemoveCancelled
2021-12-26 15:47:39 +08:00
c9s
05a0745d08
fix InitExchange for publicOnly session
2021-12-26 15:29:42 +08:00
c9s
ba8ebfe3a7
refactor and add doc comment for InitExchangeSession
2021-12-25 23:42:29 +08:00
c9s
307d0b8e1f
bbgo: add passphrase field to session struct
2021-12-25 23:28:00 +08:00
c9s
57bc65a729
avoid calling EmitConnect and EmitStart outside of the kline feeding goroutine
...
this causes 2 goroutine running in the same time hence cause the
concurrent map read / write
should fix #399 , #401
2021-12-25 21:05:50 +08:00
c9s
49e516b80e
backtest: allocate public exchange (with empty key secret) for backtesting
2021-12-24 00:24:19 +08:00
c9s
a3e3e1d177
bbgo: do not sync trades when running backtest
2021-12-23 23:20:35 +08:00
c9s
f5bbe29ac6
cmd: fix debug flag loading and add debug log to cache function
2021-12-23 23:02:07 +08:00
c9s
cfd68fdd1d
all: change trade id to uint64
2021-12-23 17:49:18 +08:00
TonyQ
d7ac645253
exchange: update maskkey handling
2021-12-23 01:18:36 +08:00
austin362667
f9cf71cef3
indicator: add kline close volatility
...
indicator: add kline close volatility
2021-12-19 14:20:09 +08:00
TonyQ
c0b9cc0f0b
exchange: make ftx kline event more reliable
2021-12-15 11:23:07 +08:00
Yo-An Lin
6c6eb252cc
Merge pull request #363 from tony1223/feature/355-ftx-backtest
2021-12-14 16:09:16 +08:00
TonyQ
8eb3eede82
fix backtest (with review)
2021-12-14 16:02:54 +08:00
TonyQ
51e23b6a0c
Merge branch 'main' of github.com:c9s/bbgo into feature/302-record-assets-review
2021-12-14 10:39:51 +08:00
TonyQ
4eb5a099ae
account: add nav_history_details and account_service for #302
2021-12-14 08:09:18 +08:00
austin362667
36c6d39612
bbgo: add session Futures & types: add FuturesExchange
2021-12-13 23:16:58 +08:00
austin362667
1703fff8b2
types: refactor Position and related files
2021-12-11 19:16:16 +08:00
c9s
d52edce40b
fix markets info cache
2021-12-08 17:26:43 +08:00
c9s
08a264d4eb
add futures exchange check in the markets cache
2021-12-07 21:29:40 +08:00
c9s
ca3f438288
show symbol name in the error message
2021-12-07 14:35:00 +08:00
c9s
aeeecba8dc
support different time format for backtesting
2021-12-06 01:50:50 +08:00
c9s
0472b7f21e
avoid recording trades in backtest by default
...
introducing a RecordTrades option
2021-12-06 01:42:53 +08:00
c9s
f692ef2c31
realign account fields
2021-12-05 12:23:27 +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
513a799ced
fix ewma calculation
2021-11-22 02:14:44 +08:00
c9s
20f0e8dbd5
preallocate kline window with capacity
2021-11-22 01:17:08 +08:00
c9s
540722e430
adjust ewma truncate size
2021-11-22 01:17:08 +08:00
c9s
7787edffa0
refactor grid strategy state loading/saving
2021-11-05 00:22:44 +08:00
c9s
d763a3c415
bbgo: add debug ewma and sma
2021-10-18 17:26:03 +08:00
c9s
30b82390b7
bbgo: add EMA and SMA debug var
2021-10-18 15:23:22 +08:00
c9s
c36bbd6c35
bbgo: show pnl in the slack fields
2021-10-18 08:45:27 +08:00
c9s
15cfd735a0
bbgo: add doc comment for ExchangeSessionSubscriber
2021-10-17 22:23:21 +08:00
c9s
39b7a956e0
Add market field to position
2021-10-17 22:23:09 +08:00
c9s
30c7c34826
bbgo: fix kline backward query for backtest
2021-10-16 13:49:00 +08:00
c9s
4bcea5a388
bbgo: add AllFilled method on OrderStore
2021-10-16 13:39:18 +08:00
c9s
f5f96b585a
apply broadcast option from config file
2021-10-15 16:10:39 +08:00
c9s
2b0793ee49
bbgo: add telegram config
2021-10-15 16:10:09 +08:00
c9s
47e4847034
fix kline query endtime
2021-10-14 14:21:38 +08:00
c9s
b3661f5d32
bbgo: improve profit stat PlainText format
2021-10-14 10:16:11 +08:00
c9s
7d416c3467
bbgo: fix profit json tag
2021-10-14 10:14:11 +08:00
c9s
7874471828
bbgo: improve pnlEmojiMargin function
2021-10-14 10:13:21 +08:00
c9s
c8554f09a0
bbgo: refactor the pnl functions
2021-10-14 10:07:27 +08:00
c9s
2116efc42e
bbgo: fix profit title
2021-10-14 08:59:45 +08:00
c9s
49a78c0c88
bbgo: fix profit stat title
2021-10-14 08:58:19 +08:00
c9s
c12ff57e57
bbgo: improve profit stats plaintext format
2021-10-14 08:55:55 +08:00
c9s
77f11f4515
bbgo: add ticker for collecting trades
2021-10-14 07:56:40 +08:00
c9s
b154e3baea
bbgo: add pnl emoji with margin
2021-10-14 07:48:32 +08:00
c9s
7e8897f1d0
bbgo: fix profit field check condition
2021-10-14 07:33:34 +08:00
c9s
5c3f305060
bbgo: implement SlackAttachment interface for profitstats
2021-10-14 01:27:58 +08:00
c9s
d3fa0a964b
bbgo: add slack attachment support for profit
2021-10-14 01:27:50 +08:00
c9s
b6b2e33cc0
extend profit stats fields for quote,base currency and symbol
2021-10-14 01:26:36 +08:00
c9s
5039a43413
bbgo: move pnl formating to the bbgo package
2021-10-14 01:26:11 +08:00
c9s
e1e6d1de12
bbgo: add net profit margin field to profit stats
2021-10-14 01:26:04 +08:00
c9s
44a0b10240
bbgo: load last price from 1m interval kline only
2021-10-14 00:37:40 +08:00
c9s
37ac907c0f
profitstats: add accumulated volume
2021-10-12 11:24:28 +08:00
c9s
d9dc7e31df
extend more fields
2021-10-12 11:24:24 +08:00
c9s
45645d0a3d
use the profit struct to pass profit info
2021-10-08 19:16:40 +08:00
c9s
fac14a8c7f
profitstats: add netProfit field
2021-10-08 15:09:55 +08:00
c9s
aadb1ed389
remove MakerExchange from the core profit stats field
2021-10-08 15:00:53 +08:00
c9s
d058125f78
bbgo: refactor profit stats
2021-10-08 14:57:44 +08:00
c9s
9e1d28f3b3
do not remove order if it's partially filled
2021-10-08 14:17:47 +08:00
c9s
ded740107f
bbgo: refactor TradeCollector bind stream for background and foreground
2021-10-08 13:24:07 +08:00
c9s
8ada9eef02
bbgo: optimize AdjustQuantityByMaxAmount, early return
2021-10-08 12:09:05 +08:00
c9s
7fb4d2f78d
return positionChanged for Process method
2021-10-05 21:44:39 +08:00
c9s
5dd2f568fe
add doc comment for trade collector
2021-10-05 21:39:10 +08:00
c9s
45c875fe7c
bbgo: improve trade collect process
2021-10-05 21:30:06 +08:00
c9s
8d01c97240
fix cyclic import issue
2021-08-26 11:46:02 +08:00
c9s
1f94ae1c19
bbgo: move moving average settings struct into bbgo
2021-08-26 11:32:39 +08:00
c9s
3ab4a570fb
bbgo: limit max kline slice
2021-06-28 14:33:32 +08:00
c9s
06a1f018c2
bbgo: push to the buffer first
2021-06-26 20:26:47 +08:00
c9s
7d853a9c74
bbgo: add emit position update
2021-06-26 20:26:47 +08:00
c9s
ecd2d9ea68
bbgo: improve trade collector callbacks
2021-06-26 20:26:47 +08:00
c9s
db4fbbc30c
bbgo: add trade collector
2021-06-26 20:26:47 +08:00
c9s
65629a77f4
bbgo: add two new position constructor
2021-06-26 20:26:47 +08:00
c9s
3d12a7df59
support: add sensitivity settings
2021-06-16 13:14:10 +08:00
c9s
e276ddd38a
bbgo: add shared local time zone
2021-06-16 13:04:23 +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
2614b25de3
types: move fiat currency list to types
2021-06-16 13:04:23 +08:00
c9s
e5db780be8
notify trades and update position
2021-06-01 01:39:22 +08:00
c9s
c84d59734c
clear all trades before running backtests
2021-05-30 15:25:00 +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
38fd5422ab
xmaker: use uncovered position
2021-05-30 14:46:48 +08:00
c9s
8d31435ded
add trade store
2021-05-29 00:25:23 +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
7d62a7634b
set market data stream to public
2021-05-27 15:11:44 +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
zenix
3d2a27fc10
Fix: nil pointer exception in indicator creation, add stoch util func
2021-05-26 00:20:31 +00:00
c9s
9c70e36e1b
save average cost with feeInQuote in the ApproximateAverageCost
2021-05-23 01:05:11 +08:00
c9s
d2e299a68a
improve position comment
2021-05-23 00:42:57 +08:00
c9s
9efb45b133
reduce side book copy
2021-05-23 00:42:44 +08:00
c9s
9b9643e1f9
improve order cancellation mechanisim
2021-05-22 17:44:20 +08:00
c9s
289227e5f3
add exists method for active book
2021-05-22 17:44:07 +08:00
c9s
0a908e5dda
fix position test for net profit
2021-05-22 17:43:53 +08:00
c9s
cca3284140
separate net profit and profit
2021-05-22 17:17:37 +08:00