c9s
2c70509ee8
add recordAsset method
2022-05-03 19:26:52 +08:00
c9s
946bbdbca3
backtest: rename backtest.account to backtest.accounts
2022-05-03 12:18:40 +08:00
c9s
fa2eb87268
fix: sync can be nil
2022-05-02 11:55:40 +08:00
c9s
2bdcf2266d
fix default sync logic
2022-05-02 10:39:59 +08:00
c9s
486cf50a9c
bbgo: fix init band width setup
2022-05-01 01:12:57 +08:00
c9s
044470377b
avoid using the iterator variable
2022-04-27 17:13:58 +08:00
c9s
1c1fbb1633
bbgo: document strategy id and pnl field
2022-04-27 13:30:07 +08:00
c9s
5edaa9708c
bbgo: fix margin order/trade sync
2022-04-27 13:25:42 +08:00
Andy Cheng
8c353421d8
interact: Remove status from strategy signature
2022-04-26 21:05:26 +08:00
Andy Cheng
1a13826505
interact: refactor generateStrategyButtonsForm()
2022-04-26 19:11:50 +08:00
Andy Cheng
eb1beb05d1
interact: rename functions to private functions
2022-04-26 18:32:41 +08:00
Andy Cheng
6b62f27155
feature: make callback vars start with lowercase
2022-04-26 18:29:22 +08:00
Andy Cheng
61b6755518
interact: GetStrategySignatures() returns map[string]SingleExchangeStrategy instead of slice of strategy signatures
2022-04-26 18:29:22 +08:00
Andy Cheng
f6ec931bed
feature: use callbackgen
2022-04-26 18:29:22 +08:00
Andy Cheng
cbf6bf78bc
feature: make FilterStrategyByInterface a simple function
2022-04-26 18:29:22 +08:00
Andy Cheng
ecc63f743f
feature: split strategy controller interface into several smaller ones
2022-04-26 18:29:21 +08:00
Andy Cheng
64766c48f3
feature: revert position closer and position reader back
2022-04-26 18:29:21 +08:00
Andy Cheng
78a8c2aaaf
feature: mix embeded struct and callback in strategy controller
2022-04-26 18:29:21 +08:00
Andy Cheng
57fdc9b120
feature: adapt new strategy controller in support strategy
2022-04-26 18:29:21 +08:00
Andy Cheng
6228cddbec
feature: adapt new strategy controller in interact
2022-04-26 18:29:21 +08:00
Andy Cheng
bb2bce4721
feature: strategy controller
2022-04-26 18:29:21 +08:00
Andy Cheng
85ffe9a2de
feature: prototype of strategy controller struct
2022-04-26 18:29:21 +08:00
Andy Cheng
73c2c84cab
feature: prototype of strategy controller struct
2022-04-26 18:29:21 +08:00
Andy Cheng
5799709e3e
pkg: add empty strategy controller file
2022-04-26 18:29:21 +08:00
c9s
2732fb413f
bbgo: remove slack debug option
2022-04-25 18:56:19 +08:00
c9s
a57a238e09
bbgo: add more sync options
2022-04-25 17:18:42 +08:00
c9s
fae3b6a215
fix BOLL method
2022-04-25 15:31:12 +08:00
Yo-An Lin
b94b9e1b73
Merge pull request #437 from jessy1092/enhance-boll-indicator
...
indicator: Support difference bandwidth on boll indicator and can dynamic create BOLL
2022-04-25 13:43:02 +08:00
c9s
18da434e92
all: use thread-safe GetAccount method to get account
2022-04-23 15:43:11 +08:00
c9s
c70317af2b
add autoborrow strategy
2022-04-23 15:00:04 +08:00
c9s
cf055c3f7d
bbgo: improve account updating
2022-04-23 12:51:07 +08:00
c9s
9e48a850bd
bbgo: call queryAccount to update account
2022-04-23 12:51:07 +08:00
c9s
ad373b95a7
add FLUSH_OTP_KEY env for flushing otp key
2022-04-17 00:35:16 +08:00
c9s
63f525970f
auth: store otp key url instead of just secret
2022-04-17 00:18:48 +08:00
zenix
2a942eab0e
fix: rename EVWMP to VWEMP, fix backtesting fee
2022-04-15 19:12:11 +09:00
zenix
af61952e40
fix: series not been updated
2022-04-11 17:04:56 +09:00
なるみ
4e2faacbae
Mkdir if dir not exists
2022-04-07 20:21:07 +08:00
Andy Cheng
3a6f34330b
interact: refactor
2022-03-28 15:16:11 +08:00
Andy Cheng
63e8850cc3
interact: separate strategy filtering and button generation
2022-03-28 12:37:42 +08:00
Andy Cheng
ee6377ab87
interact: fix misuse of cycle()
2022-03-28 11:58:01 +08:00
Yo-An Lin
1a29bc7362
Merge pull request #492 from andycheng123/tg-control
...
feature: strategy controller
2022-03-26 15:41:59 +08:00
Andy Cheng
0974b1c7fd
interact: pull out the interaction related code to the caller
2022-03-23 12:05:35 +08:00
Yo-An Lin
ae4a3d81fb
Merge pull request #489 from zenixls2/feature/market_trade
...
feature: add market trade subscription in binance
2022-03-22 20:18:39 +08:00
Andy Cheng
5eef2a2085
interact: pull out interface filter as a function
2022-03-21 17:49:18 +08:00
Andy Cheng
f4c87e5d75
interact: refactor strategy controller related interfaces
2022-03-21 16:19:55 +08:00
Andy Cheng
fb8b79f38d
interact: rename GetStrategyStatus() to GetStatus()
2022-03-21 16:12:23 +08:00
Andy Cheng
ffd5c646e9
interact: refactor interface func name
2022-03-21 15:08:15 +08:00
Andy Cheng
962645c2c8
interact: Pull out EmergencyStop to a single instance
2022-03-21 15:05:24 +08:00
Andy Cheng
5f7710103d
type: add StrategyStatus type
2022-03-21 15:01:15 +08:00
Andy Cheng
69a02f1664
interact: add EmergencyStop() to StrategyController interface
2022-03-21 11:42:54 +08:00
Andy Cheng
b6aff9674c
strategy: add StrategyController functions to support strategy
2022-03-21 10:20:12 +08:00
Andy Cheng
5de137ced8
interact: add StrategyController interface to control strategies from telegram bot
2022-03-18 18:43:07 +08:00
zenix
efec21ca4b
feature: add market trade subscription in binance
2022-03-18 18:30:39 +09:00
c9s
f85db9be61
improve asset summary layout and format
2022-03-18 17:13:37 +08:00
zenix
77a88aabe4
feature: add CancelOrders and CancelOrdersTo to executor
2022-03-16 21:38:09 +09:00
c9s
fdf64fd891
bbgo: fix emit trade profit
2022-03-15 14:29:15 +08:00
c9s
19f01bbca6
add doc comment
2022-03-14 21:21:58 +08:00
c9s
5567ef5676
fix emit trade
2022-03-14 21:21:58 +08:00
c9s
5db4e11167
rewrite trade profit handling
2022-03-14 21:21:58 +08:00
c9s
6fec30d79c
call record position on trade
2022-03-14 21:21:58 +08:00
c9s
322f31a56a
bbgo: improve RecordPosition method
2022-03-14 21:21:58 +08:00
c9s
5732555c2c
doc: update sync configuration doc
2022-03-14 21:21:58 +08:00
c9s
08ae53ba16
bbgo: assign strategy instance id fields automatically
2022-03-14 21:21:58 +08:00
c9s
6088f7b542
bbgo: add RecordPosition method
2022-03-14 21:21:58 +08:00
c9s
9faaed6892
bbgo: initialize position service
2022-03-14 21:21:58 +08:00
c9s
b1559bcbe3
fix persistence injection
2022-03-14 21:21:43 +08:00
Yo-An Lin
bfdf4c245f
Merge pull request #460 from zenixls2/feature/backtest_multiple_exchange
...
feature: add multiple exchange support in backtest
2022-03-07 14:28:20 +08:00
zenix
39572c5fe0
fix: remove maker/buyer/taker/sellerCommission
2022-03-07 14:32:00 +09:00
zenix
25b5eddc03
feature: add multiple exchange support in backtest
...
fix: change doc, since --exchange removed from backtest
fix: test for config changes
2022-03-07 13:18:56 +09:00
c9s
917684aa27
bbgo: inject environment object
2022-03-06 18:28:40 +08:00
c9s
099d860c5a
fix: fix Test_parseStructAndInject test
2022-03-06 18:28:40 +08:00
c9s
b1ba5386b3
fix bbgo.Notifiability injection
2022-03-06 16:09:15 +08:00
c9s
f6ec2e78e6
record profits
2022-03-06 15:37:41 +08:00
c9s
3a15738fec
pull out default persistence selector
2022-03-06 14:06:19 +08:00
c9s
35b0d8dc0d
bbgo: add profit service to environment
2022-03-05 13:40:20 +08:00
c9s
1f1c26a9e5
bbgo: inject more service objects
2022-03-05 13:37:27 +08:00
c9s
c1ac738ca0
bbgo: add doc comment for parseStructAndInject
2022-03-05 12:59:47 +08:00
c9s
bdcae5b763
bbgo: add more injection types
2022-03-05 12:49:53 +08:00
c9s
47023729ec
bbgo: rewrite field injection
2022-03-05 12:39:39 +08:00
c9s
a6053e0e59
bbgo: move inject function to injection.go
2022-03-05 03:20:20 +08:00
c9s
cd6b37ac3b
bbgo: skip unexported fields for injection
2022-03-05 03:19:45 +08:00
c9s
fa7bab2c3a
bbgo: improve dynamic injection
2022-03-05 02:51:43 +08:00
c9s
db4d8a31bc
bbgo: implement parseStructAndInject
2022-03-05 02:33:25 +08:00
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
c9s
8acada76a9
replace sliceorderbook with orderbook interface
2021-05-22 16:32:29 +08:00
c9s
fd710d533f
implement tree copy method
2021-05-22 12:18:08 +08:00
c9s
56b2c8845b
fix preorder, postorder and inorder
2021-05-22 11:36:58 +08:00
c9s
4fde442722
Add position Reset function
2021-05-21 00:08:04 +08:00
c9s
d737ab678f
support removing filled orders from the order store
2021-05-21 00:07:43 +08:00
c9s
422e85e3a3
twap: fix stop price check
2021-05-18 13:53:51 +08:00
c9s
896518f5c2
check if restQuantity is less than 0
2021-05-18 13:44:57 +08:00
c9s
21f7fa7846
twap: fix tick spread calculation
2021-05-18 13:38:23 +08:00
c9s
f6f1226bd0
integrate bollband indicator into xmaker
2021-05-17 20:04:13 +08:00
c9s
e7c718ee15
assign fee rate to position
2021-05-16 17:58:51 +08:00
c9s
187a9c795b
use exchange fee rate as a reference for profit
2021-05-16 17:50:08 +08:00
c9s
d0e4a5e65c
move addTrade lock section
2021-05-16 17:05:12 +08:00
c9s
e636a5008d
replace Exchange field type with ExchangeName
2021-05-16 17:02:23 +08:00
c9s
0a016cba75
split maker fee and taker fee
2021-05-16 16:50:26 +08:00
c9s
a4381a54a3
add fee rate field
2021-05-16 15:03:36 +08:00
c9s
c9cdf31df1
add pnl emoji
2021-05-16 01:16:03 +08:00
c9s
942eaac659
improve message formatting
2021-05-16 00:45:08 +08:00
c9s
1f449eca7f
implement SlackAttachment interface on Position
2021-05-15 23:50:03 +08:00
c9s
c85456b8e8
lock position for fetching base quantity
2021-05-15 10:06:48 +08:00
c9s
531799bdfb
use mutex composition since we may lock from out side
2021-05-15 10:05:39 +08:00
c9s
8071559f99
position: use pointer receiver
2021-05-15 10:02:04 +08:00
c9s
a636cdaec9
add mutex to Position since position could be changed from 2 goroutine
2021-05-15 10:01:41 +08:00
c9s
aa340f0db3
always check restQuantity
2021-05-15 10:00:32 +08:00
c9s
236df245a2
adjust quantity bases on the balances
2021-05-15 09:46:07 +08:00
c9s
f9cb414832
twap: add update-interval option
2021-05-15 09:29:44 +08:00
c9s
ae256ce9d3
add more quantity adjustment fix
2021-05-15 09:23:41 +08:00
c9s
356a8b77ac
adjust updateLimiter to 3 seconds one time
2021-05-15 09:20:46 +08:00
c9s
445feb016a
support price ticks option
2021-05-14 15:35:11 +08:00
c9s
bb34b1002a
improve order execution graceful shutdown
2021-05-14 14:53:26 +08:00
c9s
dc040bb82b
improving logs
2021-05-14 14:53:26 +08:00
c9s
f69cbe9c31
add basic TwapExecution
2021-05-14 14:53:26 +08:00
c9s
c8b97629e0
add NumOfOrders method on active book
2021-05-14 14:53:26 +08:00
c9s
a49cf531b5
fix cross exchange order executor for the basic risk control
2021-05-12 19:02:09 +08:00
c9s
98e0390c1d
improve slack notification
2021-05-12 12:43:03 +08:00
c9s
807c049d63
refactor notifiers and add liquidity field to the trade
2021-05-12 12:37:48 +08:00
c9s
85e1b6b1c7
move field assignment
2021-05-12 12:05:54 +08:00
c9s
df11112d64
refactor exchange session initialization
2021-05-12 12:05:54 +08:00
c9s
8d63647104
assign session.Withdrawal
2021-05-12 12:05:54 +08:00
c9s
29b7326f19
add withdrawal property to the exchange session
2021-05-12 12:05:54 +08:00
zenix
ba091dccf6
Fix: binance's cancel update is sent through New status with 0 quantity
2021-05-11 06:57:09 +00:00
c9s
95d58e9385
adjust hedge quantity according to the hedge account balances
2021-05-10 20:13:23 +08:00
c9s
ddab6083d4
xmaker: support quantity scale
2021-05-10 02:52:41 +08:00
c9s
ce63641d70
print otp auth guide when session is loaded
2021-05-10 01:38:19 +08:00
c9s
3f8f5616d7
add more order info the local order book printing
2021-05-09 20:03:16 +08:00
c9s
e06310da26
print unhandled order status
2021-05-09 19:44:43 +08:00
c9s
d01abffde3
add todo for the backtest trades
2021-05-08 01:09:06 +08:00
c9s
6bbd66a4f9
split environment start and init
2021-05-08 00:45:24 +08:00
c9s
494a270c54
insert trades to db only when backtest service is nil
2021-05-07 01:50:38 +08:00
c9s
584a4c2ef8
move fiat currency definition out
2021-05-07 01:30:09 +08:00
c9s
1ad8b0b641
remove unused SourceDir func
2021-05-04 01:06:20 +08:00
c9s
50db944053
fix initSymbol stages
2021-05-02 23:58:34 +08:00
c9s
2230c56e56
fix comment warning
2021-05-02 23:48:53 +08:00
c9s
2ef13293e9
fix IDE warnings
2021-05-02 23:47:57 +08:00
c9s
5ec0566888
add more injection checks
2021-05-02 23:46:16 +08:00
c9s
822a010932
add moving average configuration to the schedule strategy
2021-05-02 20:58:32 +08:00
c9s
e29d9af9c8
fix persistence config unmarshalling
2021-05-02 18:16:34 +08:00
c9s
9f77236999
fix and improve position accessor
2021-04-28 19:32:49 +08:00
c9s
70a53ed286
make config compatible with key 'strategies'
2021-04-28 17:58:50 +08:00
c9s
2ec4617694
add SyncService check
2021-04-09 12:44:30 +08:00
c9s
34fe915a9f
fix sync issue for pnl command
2021-04-09 12:43:13 +08:00
Larry850806
dbf5d27f30
Add a validator interface to validate strategy before run
2021-04-02 10:12:55 +08:00
c9s
6c8babfb27
allow public session
2021-03-22 17:40:17 +08:00
c9s
088b22f338
support bbgo-no-cache option
2021-03-22 17:32:21 +08:00
c9s
814a77ea39
xmaker: improve balance checking
2021-03-21 12:55:33 +08:00
ycdesu
c8447663db
refactor: use fixedpoint to store fee
2021-03-19 08:49:24 +08:00
ycdesu
83ae943a4f
ftx: calculate commission
2021-03-18 23:58:28 +08:00
c9s
a95c3b94a0
core: set default store ID
2021-03-18 17:20:07 +08:00
Yo-An Lin
40b376802e
Merge pull request #168 from c9s/feature/mark-trade-strategy
2021-03-18 10:31:59 +08:00
c9s
85b6cb81a2
make local active orderbook json marshallable
2021-03-18 01:15:06 +08:00
Yo-An Lin
7ecb17dbe2
Merge pull request #163 from c9s/feature/mark-trade-strategy
2021-03-16 22:34:09 +08:00
c9s
714d61a829
add grid restore behavior
2021-03-16 20:04:06 +08:00
Yo-An Lin
f5b65e795e
Merge pull request #160 from c9s/feature/grid-options
2021-03-16 12:59:14 +08:00
c9s
40fded70b2
reformat scale.go
2021-03-16 02:14:10 +08:00
c9s
2f7c7d344b
move emitStart method call into the stream Connect method
2021-03-16 01:32:27 +08:00
c9s
7951c38edc
skip connection if there is no subscription
2021-03-16 01:31:56 +08:00
ycdesu
c08899f7fb
ftx: add ftx to supported exchange
2021-03-15 20:40:04 +08:00
c9s
c3996aee2b
add Backup method to the local active order book
2021-03-15 18:25:36 +08:00
c9s
e311a182fa
add onStart callbacks
2021-03-15 18:04:03 +08:00
c9s
9f7af3ce82
assign SubAccount name to the new exchange session
2021-03-15 17:51:17 +08:00
c9s
e8ccc5eabf
pass SubAccount field to the factory
2021-03-15 10:23:00 +08:00
c9s
2eda012f43
add SubAccount field to the exchange session config
2021-03-15 10:13:41 +08:00
c9s
4b49fda463
refactor sync service
2021-03-14 11:18:22 +08:00
ben
40eadfeaca
add yaml tag for mapping basic risk control order executor.
2021-03-01 13:44:58 +08:00
Yo-An Lin
592a8d87ae
Merge pull request #137 from c9s/feature/scale
...
feature: add exp scale and log scale formula
2021-02-28 16:13:38 +08:00
c9s
b71ea867c5
ignore sync if sync service is nil
2021-02-28 15:05:49 +08:00
c9s
da79920ca9
rename scale struct name to PriceVolumeScale
2021-02-28 14:51:24 +08:00
c9s
83111c9eb9
test exponential scale with reverse range
2021-02-28 12:12:03 +08:00
c9s
99f236d2e0
integrate quantity scale into support strategy and grid strategy
2021-02-28 11:57:25 +08:00
c9s
bf87fbbf55
add LinearScale
2021-02-28 02:20:47 +08:00
c9s
8572df2cb3
add link to TestQuadraticScale
2021-02-28 02:07:48 +08:00
c9s
83af52c53b
add QuadraticScale
2021-02-28 02:06:33 +08:00
c9s
52395fd460
add log scale graph link
2021-02-28 01:55:35 +08:00
c9s
fbb8837c5c
add exp scale and log scale formula
2021-02-28 01:53:45 +08:00
c9s
5a7cf05701
integrate reward service into the sync service
2021-02-23 16:39:48 +08:00
c9s
73cb80ee96
improve logging
2021-02-22 17:06:43 +08:00
c9s
eaad414706
adjust max api call rate limiting
2021-02-22 15:01:05 +08:00
c9s
724dad70bb
remove trade sync from environ init
2021-02-22 14:14:39 +08:00
c9s
84775652fe
remove defer wrapper func
2021-02-22 13:49:26 +08:00
c9s
63ebbc0e73
fix frontend sync status checking
2021-02-21 19:36:03 +08:00
c9s
3629a1f5a2
pre-save syncing var for return
2021-02-21 18:54:48 +08:00
c9s
a8516edb98
add Get method to the persistence service facade
2021-02-21 16:55:45 +08:00
c9s
21b092037e
refactor notification configuration
2021-02-21 16:52:47 +08:00
c9s
fa4e813729
resolve cyclic imports
2021-02-21 01:01:39 +08:00
c9s
6845db6dd3
refactor database configure method
2021-02-21 00:58:34 +08:00
c9s
12ed5a1efe
move persistence service into the service package
2021-02-21 00:45:56 +08:00
c9s
be00aae81e
move trade configuration to the trader struct method
2021-02-20 12:23:31 +08:00
c9s
7684099f01
add /api/environment/syncing api
2021-02-20 11:54:48 +08:00
c9s
4ce6e85624
add sync status to the environment
2021-02-20 11:29:33 +08:00
c9s
dd13b9a8bf
remove start time query condition for trade sync since starting from trade id = 1 works
2021-02-19 14:18:50 +08:00
c9s
44fa74a4c9
refactor session sync
2021-02-19 10:42:24 +08:00
c9s
390c9b1a4b
move Sync method into the sync service
2021-02-19 10:26:13 +08:00
c9s
eaa8c647b5
refactor session sync
2021-02-18 22:40:46 +08:00
c9s
b2bcd3528c
use sqlx for testing connection
2021-02-17 17:35:54 +08:00
c9s
a1cb3859c3
fix db driver setup
2021-02-17 14:57:29 +08:00
c9s
3867fdde91
add stringer interface to Position
2021-02-16 16:40:11 +08:00
c9s
e3d3eacb78
fix trade service injection
2021-02-16 16:30:01 +08:00
c9s
8ae4cab550
inject TradeService field if we found it
2021-02-16 16:14:49 +08:00
c9s
c75eb6b5ba
pull out Persistence injection to the common injection
2021-02-16 16:13:52 +08:00
c9s
5c1630f000
refactor strategy executor
2021-02-16 16:12:00 +08:00
c9s
fc4419b49b
refactor injection
2021-02-16 15:58:21 +08:00
c9s
1c2646b0af
add Test_injectField
2021-02-16 15:49:57 +08:00
c9s
c219dc7be0
add test code for testing migration scripts
2021-02-15 21:04:44 +08:00
c9s
f8378957ee
add more checks for bollgrid
...
related to #93
2021-02-13 16:03:31 +08:00
c9s
ffa001fc29
fix quantity format
2021-02-11 00:21:56 +08:00
c9s
57435419b4
add marketData label
2021-02-10 22:40:36 +08:00
ycchen
6655e16889
minor tweaks
2021-02-08 22:41:44 +01:00
ycchen
61c98432f2
feat: tickers for asset calculation
2021-02-08 22:41:44 +01:00
c9s
99b56003eb
clean up legacy db connection handling with the new database service
2021-02-06 11:22:04 +08:00
c9s
276b6c1e48
drop the legacy upgradeDB
2021-02-06 11:22:04 +08:00
c9s
de51eb29e4
refactor db stuff with database service
2021-02-06 11:22:04 +08:00
c9s
d8d1249293
fix env var prefix by using os.Getenv directly
2021-02-04 15:14:54 +08:00
c9s
c35cef5b09
implement config saving api
2021-02-03 17:27:18 +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
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
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
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
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
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
42b66d6898
add OrderStore accessor on ExchangeSession
2021-01-24 19:08:12 +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
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
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
5eaa8f0778
add IsWrapperBinary flag and fix persistence error
2021-01-21 12:27:21 +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
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
d3f6841a27
improve sync command for margin trades and orders
2021-01-20 01:46:17 +08:00
c9s
f8a9610222
pass isolated margin symbol
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
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
d04e1e7816
refactory sync command and upgrade db automatically
2021-01-14 15:10:11 +08:00
c9s
2699c32b38
add rockhopper
2021-01-13 23:53:36 +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
92ab7e125a
improve RegisterStrategy method to register strategy between cross and single
2020-12-31 17:14:47 +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
275aa9494a
support canceling orders on max
2020-12-29 16:00:03 +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
728bf5fc81
bbgo: move some logs to debug level
2020-12-15 14:14:44 +08:00
c9s
0222c33330
fix kline tail method
2020-12-08 10:26:20 +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
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
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
4f399ebb9f
fix stop price formating
2020-12-03 09:25:47 +08:00
c9s
d38b16fb3e
fix cross exchange strategy subscription
2020-12-02 22:44:41 +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
914d5cdc94
try to keep all orders from order store
2020-11-17 15:53:46 +08:00
c9s
ed6d6342e7
fix account currency translation
2020-11-17 14:24:26 +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
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
cd283f2c28
remove unused logger field
2020-11-12 17:30:21 +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
35a5b61f60
add local active orderbook callback files
2020-11-11 23:19:16 +08:00
c9s
0264baa922
refactor and improve bollgrid
2020-11-11 23:18:53 +08:00
c9s
04f6da3cb8
add traditional grid strategy
2020-11-10 19:06:20 +08:00
c9s
4ab402a188
clean up legacy code
2020-11-10 16:56:30 +08:00
c9s
23c19c5968
use fixedpoint for balances
2020-11-10 14:19:33 +08:00
c9s
6c2aef31a3
improve backtest logging
2020-11-09 16:47:29 +08:00
c9s
e7cc79f3cf
replace errors.Errorf with fmt.Errorf
2020-11-09 16:34:35 +08:00
c9s
1e129e4c86
collect error object instead of logging
2020-11-09 15:29:40 +08:00
c9s
8414f406bf
drop the legacy order executor
2020-11-09 15:02:12 +08:00
c9s
4a2a542222
refactor basic risk controller
2020-11-09 14:56:54 +08:00
c9s
f69c87b3a8
fix fee calculation and add account balance checking
2020-11-08 21:52:44 +08:00
c9s
4b0bab31fb
Merge branch 'feature/backtest' into main
2020-11-07 20:34:55 +08:00
c9s
641784e1b1
calculate pnl after the backtest
2020-11-07 20:34:34 +08:00
c9s
a4a9067c6a
integrate matching engine with backtest exchange
2020-11-07 19:57:36 +08:00
c9s
0d8fa08171
add book Update method
2020-11-07 15:07:06 +08:00
c9s
b13a2deec5
emit klines and setup account balances
2020-11-07 03:18:05 +08:00
c9s
22a214328d
implement backtest command, stream and add backtest config
2020-11-07 02:57:50 +08:00
c9s
8823a39fc2
support backtesting kline verification
2020-11-07 00:49:17 +08:00
c9s
555fe57341
implement kline sync function from command
2020-11-06 21:40:48 +08:00
c9s
7fab2e24de
improve order persistence and support order data sync
2020-11-05 11:14:14 +08:00
c9s
eb67fc0f8f
make mysql-url optional for run command
2020-11-05 11:14:14 +08:00
c9s
8388f443a9
move active order book to the bbgo package
2020-11-05 11:14:14 +08:00
c9s
8e0b5d11a7
add max grid config and fix max price formatting
2020-10-31 20:38:20 +08:00
c9s
14abe3fb7e
pull out active order book to the types package
2020-10-31 20:38:20 +08:00
c9s
2397acd45f
fix type casting and assertion by passing pointer
2020-10-31 18:35:48 +08:00
c9s
0f8e9f6df7
add doc comment to Notifiability
2020-10-31 18:35:48 +08:00
c9s
eb05620f99
use Notifiability directly from environment
2020-10-31 18:35:48 +08:00
c9s
49ff9c4dd6
drop legacy trade reporter
2020-10-31 18:35:48 +08:00
c9s
c4d7476212
add submit order routing
2020-10-31 18:35:48 +08:00
c9s
ec9b5230aa
refactor trade report and move trade reporter to the environment layer
2020-10-31 18:35:48 +08:00
c9s
8867ceb951
initialize Notifiability for exchange session
2020-10-31 18:35:48 +08:00
c9s
dc547aa818
fix BOLL map allocation
2020-10-31 18:29:58 +08:00
c9s
c3961024cf
implement grid strategy update orders method
2020-10-31 18:29:58 +08:00
c9s
e60127090b
add GetBOLL access to standard indicator sets
2020-10-31 18:29:58 +08:00
c9s
d49b2be543
add bollinger indicator
2020-10-29 17:51:20 +08:00
c9s
4afabd92ed
clean up code
2020-10-29 17:05:01 +08:00
c9s
5f45d18ae2
fix struct composition
2020-10-29 13:08:33 +08:00
c9s
19b600bb35
simplify strategy registration api
2020-10-29 07:54:59 +08:00
c9s
c71f013916
let SMA indicator and EWMA indicator use IntervalWindow type
2020-10-29 07:51:23 +08:00
c9s
2f8bffeaca
add strict injection check fo pointer only objects
2020-10-29 07:49:06 +08:00
c9s
33257c591e
refactor swing strategy with types IntervalWindow
2020-10-29 07:44:22 +08:00
c9s
6d8ec7894e
refactor standard indicator set with store
2020-10-29 07:40:02 +08:00
c9s
67446670ac
finalize swing strategy and fix trade reporter issue
2020-10-28 17:48:16 +08:00
c9s
b22e0370b3
drop legacy OrderProcessor and remove slack debug
2020-10-28 17:48:16 +08:00
c9s
468864302e
fix submit order quantity formatting
2020-10-28 17:48:16 +08:00
c9s
2680ad5072
refactor environment, market data store, injection and add swing strategy
2020-10-28 17:48:16 +08:00
c9s
7d7d2c2fc7
assign standard indicator set to the session
2020-10-28 11:15:50 +08:00
c9s
e2df24f31c
support standard indicatorset
2020-10-28 09:43:19 +08:00
c9s
50693ae845
implement ewma and sma
2020-10-28 09:13:57 +08:00
c9s
388346b284
move injectStrategyField to a single file
2020-10-27 20:42:48 +08:00
c9s
e1c2f7cc3d
improve notifier signatures and fix slack Notify method
2020-10-27 20:13:10 +08:00
c9s
7905ba09d4
pull out fillStrategyNotifiability
2020-10-27 19:37:11 +08:00
c9s
ccc381143d
support pointer type filling
2020-10-27 19:33:11 +08:00
c9s
b3eaf832af
Add pricealert strategy for demonstrating notification
2020-10-27 13:54:39 +08:00
c9s
ab43de3efd
clean up comment for base order executor
2020-10-27 10:00:41 +08:00
c9s
ef598c3a0f
assign base order executor descendingly
2020-10-27 09:58:21 +08:00
c9s
8453e95300
configure channel routers
2020-10-27 09:38:29 +08:00
c9s
42f947506c
add route methods on Notifiability
2020-10-27 09:24:59 +08:00
c9s
c315b79bd7
add notification config
2020-10-27 08:48:47 +08:00
c9s
284a0676f7
remove unused confg package
2020-10-27 08:19:16 +08:00
c9s
955479486a
add symbol channel router and object channel router for notification
2020-10-27 08:19:16 +08:00
c9s
1d8e0bff5a
drop legacy NewDefaultEnvironment method
2020-10-27 08:19:16 +08:00
c9s
0fd9e8b95a
reset price field when market order is used
2020-10-26 22:08:16 +08:00
c9s
38c87bfecc
drop config dir
2020-10-26 21:46:38 +08:00
c9s
a1eeb55778
refactor and clean up bbgo config
2020-10-26 21:45:02 +08:00
c9s
c324a791f6
refactor and configure risk control order executor
2020-10-26 21:36:47 +08:00
c9s
59aa5c5ee2
implement RiskControlOrderExecutor
2020-10-26 18:28:34 +08:00
c9s
4e7c1a327b
pull out order formatter
2020-10-26 18:17:18 +08:00
c9s
a4b6a5f923
load order executor config
2020-10-26 17:57:28 +08:00
c9s
8274f6e97c
reformat OrderProcessor code
2020-10-26 16:45:09 +08:00
c9s
c9fa565c24
remove the legacy submit order method
2020-10-26 16:44:05 +08:00
c9s
359b3c56b4
move files
2020-10-26 16:15:30 +08:00
c9s
19f259111d
improve config loading by adding unmarshal yaml method
2020-10-26 15:33:25 +08:00
c9s
cd666fdf9e
pull out db parameter from the constructor
2020-10-26 15:06:39 +08:00
c9s
332ca7ffe8
make trade sync optional
2020-10-26 13:48:59 +08:00
c9s
931c646fde
configure notifier and make slack notification optional
2020-10-26 13:40:43 +08:00
c9s
145264aae4
cancel orders and re-submit maker orders
2020-10-26 00:26:17 +08:00
c9s
de11ef10f5
return created order objects from SubmitOrders method
2020-10-25 19:22:22 +08:00
c9s
308427416a
Add more exchange order features
...
- use uuid for client order id
- add stop limit and stop market order types
- add order convert functions
- improve submit orders
2020-10-25 19:22:22 +08:00
c9s
cd28fb8771
unmarshal imports into config
2020-10-23 14:49:54 +08:00
c9s
6b0f2b80d7
add multiple spec support
2020-10-23 00:21:03 +08:00
c9s
aea6a7c03d
integrate AverageCostPnLReporter
2020-10-22 15:57:50 +08:00
c9s
897d882c35
update Notifiability interface
2020-10-22 14:45:15 +08:00
c9s
ea3e9e7d05
add per-session-based trade reporter
2020-10-22 10:54:03 +08:00
c9s
678e4ef4ab
add trade reporter
2020-10-22 10:47:54 +08:00
c9s
a714af739a
implement TradeReporter
2020-10-21 19:52:55 +08:00
c9s
b1a9a66dba
assign account and stream when allocating session object
2020-10-21 17:42:37 +08:00
c9s
1f71fa623c
add channel argument to the notify method
2020-10-21 17:10:47 +08:00
c9s
58265d14f9
move cmdutil package
2020-10-21 15:58:58 +08:00
c9s
4ee10de40f
add LoadedCrossExchangeStrategies loader api
2020-10-20 14:21:46 +08:00
c9s
2fbf19455e
implement strategy yaml loader
2020-10-20 13:52:25 +08:00
c9s
a08aebaa17
bbgo: add SetTradeScanTime method
2020-10-20 13:11:04 +08:00
c9s
3b3df77ec3
clean up the legacy context struct
2020-10-20 12:24:30 +08:00
c9s
752fdf5c80
document WithCache function
2020-10-20 12:22:18 +08:00
c9s
2bbee6671a
make the first arg of WithCache as a key var
2020-10-20 12:18:29 +08:00
c9s
40c697275d
query market config with cache
2020-10-20 12:11:44 +08:00
c9s
180bfff558
loadedSymbols is not used in the init method
2020-10-20 11:49:18 +08:00
c9s
f6c1ed67e6
add CacheDir function
2020-10-20 11:48:44 +08:00
c9s
f62f3b8a02
define HomeDir and SourceDir helper functions
2020-10-20 11:46:44 +08:00
c9s
fc687f3174
max: implement kline event parser for websocket
2020-10-19 22:46:34 +08:00
c9s
d68564de28
improve logging
2020-10-19 22:26:43 +08:00
c9s
822e4c2703
receive trade in value instead of pointer
2020-10-19 22:06:43 +08:00
c9s
292dd2492a
add comment for loadedSymbols
2020-10-19 22:02:05 +08:00
c9s
a4b872fc8b
clean up init and connect phase
2020-10-19 22:00:44 +08:00
c9s
6d6e79eab3
fix session initialization issue
2020-10-19 21:58:50 +08:00
c9s
c1590786e8
integrate orderbook updates to market data store
2020-10-18 20:44:12 +08:00
c9s
75115774f6
rename kline store to market data store back
2020-10-18 20:44:12 +08:00
c9s
f9940a9c2f
rename market data store to kline store
2020-10-18 12:32:43 +08:00
c9s
f826bb014a
make markets field private
2020-10-18 12:30:13 +08:00
c9s
dab264a4ad
add more accessors to exchange session, so that we can make it as an interface
2020-10-18 12:29:38 +08:00
c9s
168cb355fc
add accessor to MarketDataStore
2020-10-18 12:27:11 +08:00
c9s
7d7828a556
move commented code
2020-10-18 12:25:08 +08:00
c9s
d2ba9cc4c3
move backtest related component to backtest package
2020-10-18 12:24:21 +08:00
c9s
028aef9402
move marketdata store to store package
2020-10-18 12:23:00 +08:00
c9s
90515855eb
move MovingAverageIndicator
2020-10-18 11:37:01 +08:00
c9s
a1c027471e
remove more empty files
2020-10-18 11:35:40 +08:00
c9s
d011bf275e
move stock_test file and testdata
2020-10-18 11:34:36 +08:00
c9s
cbeb809b22
delete empty pnl file
2020-10-18 11:33:58 +08:00
c9s
c878de10bf
delete empty market.go file
2020-10-18 11:33:43 +08:00
c9s
0d9c0bd51b
move cost distribution to the accounting package
2020-10-18 11:33:13 +08:00
c9s
985e02c57a
delete empty file
2020-10-18 11:31:44 +08:00
c9s
73e17730d7
move account type into types package
2020-10-18 11:30:37 +08:00
c9s
c224eb7af7
add kline to the market data store
2020-10-18 00:06:08 +08:00
c9s
9ebccc72ba
add exchange session constructor
2020-10-17 23:51:44 +08:00
c9s
25b4b22077
let strategy attach could be chained
2020-10-16 13:52:18 +08:00
c9s
4335cca0de
make it possible to attach multiple strategies in one call
2020-10-16 10:26:45 +08:00
c9s
27b582e948
move report struct
2020-10-16 10:21:37 +08:00
c9s
a6b99f6828
rename ProfitAndLossCalculator to AverageCostCalculator
2020-10-16 10:16:42 +08:00
c9s
ee86a71ebb
split files
2020-10-16 10:14:36 +08:00
c9s
98192ae91f
move Cmd to the strategy package
2020-10-16 10:09:42 +08:00
c9s
7482fa52d6
add error check and logger
2020-10-15 23:38:00 +08:00
c9s
300609e3db
fix subscription initialization
2020-10-15 22:36:22 +08:00
c9s
113cc8ee48
query markets and assign into the exchange session
2020-10-15 21:04:02 +08:00
c9s
f454136449
add exechange order executor and pull out Notifiability
2020-10-14 10:06:15 +08:00
c9s
a91f851ac7
pass types.SubmitOrder by value
2020-10-13 18:08:02 +08:00
c9s
ec23266cc2
implement buyandhold strategy to test the api design
2020-10-13 16:17:07 +08:00
c9s
d1b618850d
add context parameter to the strategy method
2020-10-13 14:50:59 +08:00
c9s
fe3ae14fc8
clean up
2020-10-13 11:23:22 +08:00
c9s
26f97b43e8
drop legacy backtest trader
2020-10-12 22:51:13 +08:00
c9s
4c20c9f4ff
replace LoadAccount with literal constructor
2020-10-12 22:49:27 +08:00