c9s
3d536efec8
types: extend FuturesSettings fields for isolated margin
2021-12-05 16:47:01 +08:00
c9s
c8ba2e59e3
types: reformat account usd cal expression
2021-12-05 16:28:30 +08:00
c9s
91f26cc501
types: add account types for futures
2021-12-05 16:28:19 +08:00
c9s
0431014867
bump version to v1.18.4
2021-12-05 12:25:06 +08:00
c9s
b301ea549a
adjust default rate to DefaultFeeRate 0.075%
2021-12-05 12:24:51 +08:00
c9s
f692ef2c31
realign account fields
2021-12-05 12:23:27 +08:00
c9s
44d7055809
fix backtest fee rate calculation
2021-12-05 12:10:45 +08:00
c9s
4d7fe7f37d
call matchingBooksMutex when assigning matching book
2021-12-05 12:06:36 +08:00
c9s
dac1967e2f
bump version to v1.18.3
2021-12-05 12:03:53 +08:00
c9s
298e981de0
bump version to v1.18.2
2021-12-05 12:01:37 +08:00
c9s
df683bdf56
use position to calculate the pnl
2021-12-05 02:17:15 +08:00
Yo-An Lin
9d38dc2c87
Merge pull request #297 from tony1223/bug/261-default-notification
...
fix #261 provide default config for notification setting
2021-12-05 01:17:04 +08:00
c9s
35da3ba3a0
check env vars for query related tests
2021-12-05 01:11:47 +08:00
c9s
062f9243c6
max: fix query ticker tests
2021-12-05 01:08:50 +08:00
c9s
715363298f
fix query ticker tests
2021-12-05 00:58:01 +08:00
Yo-An Lin
19548a9449
Merge pull request #296 from tony1223/feature/294-force-backtest
...
add force parameter for backtest
2021-12-05 00:25:23 +08:00
TonyQ
bd325f02a5
add force parameter for backtest
2021-12-04 16:18:51 +00:00
c9s
52218c513f
compile and update migration package
2021-12-04 23:03:35 +08:00
TonyQ
a1b6be3bda
compile and update migration package
2021-12-04 03:06:04 +00:00
TonyQ
30c14a6828
fix #261 provide default config for notification setting
2021-12-04 02:37:21 +00:00
TonyQ
056afb577c
fix generateGridSellOrders with ProfitSpread for begining
2021-11-30 11:55:00 +08:00
c9s
5ed337926d
add mutex lock protection for backtesting
...
solving issue #282
2021-11-30 10:40:28 +08:00
c9s
9a589bf71c
show broadcast enabled
2021-11-25 18:49:29 +08:00
c9s
032b62e4e1
broadcast should also send message to owner
2021-11-25 16:22:20 +08:00
c9s
fc81f7b6cb
add Command function
2021-11-25 11:54:09 +08:00
c9s
6326d52c1b
add /start command
2021-11-25 11:52:14 +08:00
c9s
8acc2cd87f
fix chat nil pointer issue
2021-11-25 11:50:14 +08:00
c9s
4bde40f2db
override binance default http client timeout instead of zero timeout
2021-11-23 10:54:43 +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
Austin
c5d1a70a61
add Continuous Contract Kline/Candlestick Streams
2021-11-16 14:26:27 +08:00
Austin
a36739f119
add MarkPriceUpdateEvent
2021-11-16 01:24:36 +08:00
c9s
aceca1b49f
adjust listen key keep alive to 30 min
2021-11-07 23:40:13 +08:00
c9s
7a3963b34e
techsignal: if it's already high funding rate, do not show change
2021-11-06 15:23:52 +08:00
c9s
a2c2646a16
binance: adjust rate limiter bucket
2021-11-05 01:25:16 +08:00
c9s
82d859a43d
binance: fix binance order rate limiter
2021-11-05 01:21:58 +08:00
c9s
0c8addc58b
grid: refactor trade callback for s.TradeService.Mark
2021-11-05 01:05:43 +08:00
c9s
6851d8d254
grid: add field guards
2021-11-05 01:04:13 +08:00
c9s
7db7596abe
grid: refactor trade handler with trade collector
2021-11-05 00:30:04 +08:00
c9s
7787edffa0
refactor grid strategy state loading/saving
2021-11-05 00:22:44 +08:00
c9s
bfaec8fdd8
increase min amount if it's not greater than min notional
2021-11-04 23:22:01 +08:00
c9s
13577fc2b4
improve SubmitOrder formating
2021-11-04 23:21:01 +08:00
c9s
6002a958d2
grid: fix format error
2021-11-04 13:08:38 +08:00
c9s
1a861c98a1
binance: add order rate limiter for binance
2021-11-04 12:50:32 +08:00
c9s
7eb91cc7cc
adjust grid quantity if it does not match min notional and min quantity
2021-11-04 12:50:32 +08:00
c9s
ed1d0ea27e
add xnav strategy
2021-10-29 10:40:14 +08:00
Yo-An Lin
b8e5942f1c
Merge pull request #274 from kkc/fix_emwa_indicator_in_backtest_mode
2021-10-20 18:03:51 +08:00
c9s
6cb593cd90
techsignal: use realtime funding rate
2021-10-20 14:01:19 +08:00
Kakashi Liu
8938478d93
Truncate emwa slice to be the same size as given kLines
2021-10-19 21:38:12 +08:00
c9s
16fca0150d
implement futures PremiumIndex support
2021-10-19 15:54:16 +08:00
c9s
1e6692ec8d
rename funding rate query method name
2021-10-19 15:29:55 +08:00
c9s
af602df302
techsignal: add math.Round for quote volumes
2021-10-18 20:06:23 +08:00
c9s
3a68d9dae4
techsignal: fix arg cast
2021-10-18 19:40:51 +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
721d63bee0
techsignal: add skip log
2021-10-18 11:10:54 +08:00
c9s
ebc61de946
techsignal: fix ma subscription
2021-10-18 09:00:56 +08:00
c9s
c36bbd6c35
bbgo: show pnl in the slack fields
2021-10-18 08:45:27 +08:00
c9s
d446dbbed7
bollpp: send profit stat notification
2021-10-18 01:16:46 +08:00
c9s
d6b707c832
bollpp: fix order quantity
2021-10-18 00:56:22 +08:00
c9s
0bd32094ee
bollpp: improve bolling ping pong maker
2021-10-18 00:42:01 +08:00
c9s
e3431ef970
binance: fix binance order type for limit maker
2021-10-18 00:41:41 +08:00
c9s
759b6a812b
techsignal: fix funding rate diff
2021-10-17 22:26:04 +08:00
c9s
a3f68d7b72
xmaker: use bbgo.NewPositionFromMarket
2021-10-17 22:24:57 +08:00
c9s
450b7bb61e
bollpp: improve boll ping pong strategy with profit stats
2021-10-17 22:23:34 +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
2b17124d06
telegramnotifier: support broadcast flag
2021-10-15 18:01:11 +08:00
c9s
77e7f814d9
support: refactor PercentageTargetStop logics
2021-10-15 16:10:57 +08:00
c9s
f5f96b585a
apply broadcast option from config file
2021-10-15 16:10:39 +08:00
c9s
6c46c2cad1
telegramnotifier: add broadcast option
2021-10-15 16:10:25 +08:00
c9s
2b0793ee49
bbgo: add telegram config
2021-10-15 16:10:09 +08:00
c9s
a2c29f4519
support: remove legacy resistance code
2021-10-15 12:38:16 +08:00
c9s
d704e19f04
move signedPercentage method to fixedpoint
2021-10-15 12:22:53 +08:00
c9s
01f6d70d28
telegramnotifier: add broadcast function and subscribe command
2021-10-15 12:14:15 +08:00
c9s
a1779b6823
telegramnotifier: add warning
2021-10-15 12:03:15 +08:00
c9s
08c300fbad
add warning if owner's chat is not configured
2021-10-15 11:56:17 +08:00
c9s
0fe11438bd
telegramnotifier: rename Chat to OwnerChat
2021-10-15 11:55:05 +08:00
c9s
93e297dd7e
adjust qutoe currency formatter symbol for fiat currency
2021-10-15 11:53:01 +08:00
c9s
952bdf8218
move currency formatter to market struct
2021-10-15 11:50:37 +08:00
c9s
790b3357d7
techsignal: adjust funding rate notification
2021-10-15 11:13:00 +08:00
c9s
4523135012
techsignal: add funding rate checker
2021-10-14 23:01:10 +08:00
c9s
e7fe443cbe
show kline in the notification
2021-10-14 14:32:49 +08:00
c9s
fbbefe2878
techsignal: show interval in the message
2021-10-14 14:30:45 +08:00
c9s
a6848a6af4
add strategy/techsignal
2021-10-14 14:24:08 +08:00
c9s
c84ba12735
implement PlainText interface for kline
2021-10-14 14:22:24 +08:00
c9s
3581c1768c
fix SMA indicator value length check
2021-10-14 14:22:07 +08:00
c9s
47e4847034
fix kline query endtime
2021-10-14 14:21:38 +08:00
c9s
4c2897a86d
use Float64 indicator from the types package
2021-10-14 13:15:08 +08:00
c9s
4c061439d3
rename buyandhold to pricedrop
2021-10-14 13:10:00 +08:00
c9s
768a88247b
rename bpp to bollpp (bollinger pingpong)
2021-10-14 12:52:54 +08:00
c9s
6e7f12ca9f
rename trailingstop to emastop
2021-10-14 12:04:56 +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
e2f58d0466
xmaker: use report ticker to report profit stats
2021-10-14 08:53:44 +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
a4a9ef015e
slacknotifier: fallback to PlainText if it's not supported
2021-10-14 01:27:46 +08:00
c9s
c55cc4323e
notifier: making slackAttachmentCreator as private interface
2021-10-14 01:27:42 +08:00
c9s
e4281b1a02
xmaker: update notification message with strategy ID
2021-10-14 01:27:37 +08:00
c9s
bbc1775ec5
xmaker: update symbol, base, quote currency to profit stats
2021-10-14 01:26:40 +08:00
c9s
b6b2e33cc0
extend profit stats fields for quote,base currency and symbol
2021-10-14 01:26:36 +08:00
c9s
8374c98609
xmaker: fix time type casting
2021-10-14 01:26:31 +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
db7a681290
types: merge field decls
2021-10-14 01:25:18 +08:00
c9s
44a0b10240
bbgo: load last price from 1m interval kline only
2021-10-14 00:37:40 +08:00
c9s
764a8be46a
adjust grid backtest parameters
2021-10-13 10:43:56 +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
9e93cd66de
strategy: update trade collector api
2021-10-08 13:24:14 +08:00
c9s
ded740107f
bbgo: refactor TradeCollector bind stream for background and foreground
2021-10-08 13:24:07 +08:00
c9s
8f74c106d6
support: merge stash
2021-10-08 13:14:21 +08:00
c9s
184f93ce79
support: fix interval check
2021-10-08 13:13:49 +08:00
c9s
01de2c5f66
support: fix long term ema kline subscription
2021-10-08 13:13:49 +08:00
c9s
f97eb8914a
support: add resistance check
2021-10-08 13:13:49 +08:00
c9s
1091010f64
support: move property configuration to the top
2021-10-08 13:13:49 +08:00
c9s
3539047a39
support: show ema price
2021-10-08 13:13:49 +08:00
c9s
8ada9eef02
bbgo: optimize AdjustQuantityByMaxAmount, early return
2021-10-08 12:09:05 +08:00
c9s
31358a69d1
types: calculate boolean logics outside of critical section
2021-10-08 12:08:57 +08:00
c9s
dab45cf3ba
types: add balance map copy method
2021-10-08 12:08:33 +08:00
c9s
6917b98a74
schedule: show closed price
2021-10-08 11:59:23 +08:00
c9s
f0503b99a1
schedule: add interval check
2021-10-08 11:58:50 +08:00
c9s
7016d24fad
import types.FuturesSettings into binance exchange
2021-10-07 21:29:52 +08:00
c9s
454564506f
add futures exchange interface and futures settings struct
2021-10-07 21:29:14 +08:00
c9s
193961c4e0
add bpp strategy
2021-10-07 16:39:20 +08:00
c9s
60e4442f85
add document for the backtest engine
2021-10-05 22:06:36 +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
Jui-Nan Lin
feca628319
fix(ftx): array length should > 0
2021-09-03 15:38:02 +08:00
c9s
1bc36b17ff
xbalance: add verbose flag
2021-09-03 14:25:26 +08:00
c9s
b6fff482a4
binance: fix withdrawal time parsing
2021-09-03 14:21:59 +08:00
c9s
35ec9ae7b6
binance: fix binance withdrawal api
2021-09-02 00:27:57 +08:00
c9s
f177860450
binance: fix withdrawal service
2021-09-02 00:21:56 +08:00
c9s
99f97df43b
etf: use break instead of return
2021-08-26 11:58:25 +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
e8f0cbcff8
cmd: register etf strategy
2021-08-26 11:31:52 +08:00
c9s
2c378d6047
add etf strategy
2021-08-26 11:31:36 +08:00
c9s
0dd7438fd7
schedule: show scheduled order price
2021-08-26 10:29:27 +08:00
c9s
684bfcea19
xbalance: capitalize message
2021-08-19 16:35:16 +08:00
c9s
66b7e1fc3f
schedule: fix schedule subscription
2021-08-19 16:35:05 +08:00
c9s
cf29cfadd0
xbalance: show balance error message
2021-08-17 12:18:29 +08:00
c9s
fc860cd9a9
bbgo: add json tags to interval window
2021-08-17 11:37:27 +08:00
c9s
47258b31c6
xbalance: fix message
2021-08-17 11:36:51 +08:00
c9s
5a0ae6773c
xbalance: configure middle value automatically from total value
2021-08-16 12:52:12 +08:00
c9s
732281b55d
bump version
2021-08-16 12:20:04 +08:00
c9s
490eb15748
schedule: fix order notification
2021-08-16 12:11:15 +08:00
zebra
2e1400d594
add transfer function
2021-08-07 15:30:51 +08:00
sincoew
4f2b1d975a
fix type change on max api
2021-07-15 17:51:14 +08:00
c9s
5cf134a756
cmd: add account cmd --total option
2021-07-06 12:19:59 +08:00
c9s
5e2b8af4dc
xmaker: fix reset today
2021-07-06 12:19:59 +08:00
c9s
1d316ed89c
xmaker: call reset today if the date exceeded
2021-07-06 12:19:59 +08:00
c9s
3ab4a570fb
bbgo: limit max kline slice
2021-06-28 14:33:32 +08:00
c9s
01bdef502b
indicator: rename consts for max ma values
2021-06-28 14:33:27 +08:00
c9s
4ccbb82237
indicator: truncate values if length exceeded
2021-06-28 14:33:23 +08:00
c9s
a8048703b3
max: fix order delete refurl
2021-06-27 11:33:00 +08:00
c9s
3fdcf466bf
max: set reqcount for nonce by default 1
2021-06-27 11:32:54 +08:00
c9s
3165d10986
support: use trade collector
2021-06-26 20:26:47 +08:00
c9s
aab0c377d7
xmaker: reformat code
2021-06-26 20:26:47 +08:00
c9s
b58b48d668
xmaker: refactor profit stats
2021-06-26 20:26:47 +08:00
c9s
cef28fa651
xbalance: use time util function from the util package
2021-06-26 20:26:47 +08:00
c9s
c6d66ebb46
util: add BeginningOfTheDay function
2021-06-26 20:26:47 +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
5621effd6b
add resistance
2021-06-21 19:03:50 +08:00
c9s
4bc0612265
support: add minBaseAssetBalance
2021-06-17 19:28:11 +08:00
c9s
f9fa6e96c3
support: refactor kline handler
2021-06-16 20:33:52 +08:00
c9s
811319fa25
support: fix sensitivity calculation
2021-06-16 14:16:39 +08:00
c9s
5fecccedd6
add resistance check
2021-06-16 13:23:33 +08:00
c9s
3d12a7df59
support: add sensitivity settings
2021-06-16 13:14:10 +08:00
c9s
15ed802a54
util: add TimeProfile
2021-06-16 13:04:23 +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
fd2928fc82
types: add maker/taker fee rate fields to the account struct
2021-06-16 13:04:23 +08:00
c9s
657e1dc9bf
maxapi: pre-parse relative url and cache them
2021-06-16 13:04:05 +08:00
c9s
cbd0180939
maxapi: remove extra user agent header
2021-06-16 13:04:05 +08:00
c9s
16e5e08d58
maxapi: fix dump request error check
2021-06-16 13:04:05 +08:00
c9s
48c84824cf
maxapi: volume, side, market is always required for creating orders
2021-06-16 13:04:05 +08:00
c9s
2da633c221
maxapi: add HTTP_TRANSPORT_IDLE_CONN_TIMEOUT env var for override
2021-06-16 13:04:05 +08:00
c9s
7c5b676366
maxapi: create an isolated http transport rather than the default one
2021-06-16 13:04:05 +08:00
c9s
684232041c
maxapi: load http transport settings from env vars
2021-06-16 13:04:05 +08:00
c9s
b31b830b2b
max: add request dump for debugging request
2021-06-16 13:03:45 +08:00
c9s
8c3992d514
max: no need to check order volume separately
2021-06-16 13:02:21 +08:00
c9s
fdf1ee9258
max: use precision -1 to trim zeros
2021-06-16 13:02:21 +08:00
c9s
a8eda62a8d
max: set debug vars from env vars
2021-06-16 13:02:21 +08:00
c9s
990da5ad3b
xbalance: add foreign fee for withdrawal
2021-06-09 01:37:33 +08:00
c9s
18f72a9118
fixedpoint: add more multiplication benchmarks
2021-06-09 01:37:29 +08:00
c9s
3d1d659c81
fixedpoint: add math/big version multiplication support
2021-06-09 01:37:24 +08:00
c9s
0df26e0570
binance: adjust listen key keep alive to 20 minutes
2021-06-09 01:37:19 +08:00
c9s
457ca79517
binance: for network error, we should retry the request
2021-06-09 01:37:14 +08:00
c9s
3c4eb5aec7
telegram: add more emojis
2021-06-09 01:37:09 +08:00
c9s
89c3df730b
telegram: add emoji for greetings
2021-06-09 01:37:04 +08:00
c9s
ac71a392c6
fixedpoint: fix fixedpoint value int64 cast
2021-06-09 01:36:32 +08:00
c9s
ecf888dfd6
util: add env var util functions
2021-06-09 01:36:16 +08:00
c9s
ec6c10a96a
binance: adjust read timeout and increase read buffer size
2021-06-09 01:36:06 +08:00
c9s
3fd170a4ff
xmaker: check book before copying
2021-06-09 01:35:56 +08:00
c9s
f5a241a1a8
xmaker: improve warn message
2021-06-09 01:35:50 +08:00
c9s
a0d8a3718a
xmaker: fix bid/ask price check
2021-06-07 02:50:11 +08:00
c9s
d5617d44aa
xmaker: pass source market and maker market for formatting
2021-06-07 02:49:54 +08:00
c9s
0a74cc7171
xmaker: add useDepthPrice option
2021-06-07 02:49:44 +08:00
c9s
2486d04332
rbt: fix copyNode
2021-06-07 02:44:30 +08:00
c9s
5a5cb71a5e
rbt: add more rbtorderbook test
2021-06-07 02:44:25 +08:00
c9s
062443a29c
rbt: check if returned node is neel
2021-06-07 02:44:21 +08:00
c9s
3b0ed4e3dc
rbt: add more test cases
2021-06-07 02:44:14 +08:00
c9s
9622956c71
rbt: fix rbtree search for neel
2021-06-07 02:44:09 +08:00
c9s
5d8f7b3ea6
rbt: fix preorder
2021-06-07 02:44:04 +08:00
c9s
7805dcd72e
rbt: fix pointer check of iteration
2021-06-07 02:44:00 +08:00
c9s
9bc55def44
rbt: fix deleting, copy value to the deleting node's memory
2021-06-07 02:43:54 +08:00
c9s
f34631c7ae
rbt: add pointer check
2021-06-07 02:43:50 +08:00
c9s
6d2771aca9
rbt: fix rightmost and leftmost
2021-06-07 02:43:43 +08:00
c9s
06bf0d0f2b
rbt: fix rbtree deletion
2021-06-07 02:43:39 +08:00
c9s
103b1ea560
rbt: add rbt insert test
2021-06-07 02:43:34 +08:00
c9s
7512f56b84
rbt: avoid sharing rbtree neel pointer
2021-06-07 02:43:22 +08:00
c9s
f487b53d9e
binance: fix client order id checking
2021-06-07 01:07:00 +08:00
c9s
5fd0ab4cd3
skip client order id when no client order is given
2021-06-07 01:03:21 +08:00
c9s
291fdbaf25
optimize max submit order api priority
2021-06-07 01:03:09 +08:00
c9s
f20e809940
types: add bestBidAndAsk method
2021-06-07 01:02:43 +08:00
c9s
e8205556ff
show bbgo version name
2021-06-07 00:57:47 +08:00
c9s
b60fd9e356
support: fix quantity formatting
2021-06-07 00:57:47 +08:00
c9s
b9584117d6
add QueryLastFundingRate api to binance exchange
2021-06-01 03:15:19 +08:00
c9s
b5c4fc3e4e
fix kline record insert fields
2021-06-01 01:39:23 +08:00
c9s
4bec8984c0
add klines columns
2021-06-01 01:39:23 +08:00
c9s
507ae934c0
compile and update migration package
2021-06-01 01:39:23 +08:00
c9s
f66095eff9
support: add target orders to the orders
2021-06-01 01:39:22 +08:00
c9s
e5db780be8
notify trades and update position
2021-06-01 01:39:22 +08:00
c9s
40c3a5870f
support strategy improvements:
...
- add taker buy base volume ratio option
- add max base asset balance config
- add min quote asset balance config
- record orders and trades
2021-06-01 01:39:22 +08:00
c9s
6a999b2906
kline: show taker buy base volume and taker buy quote volume
2021-06-01 01:39:22 +08:00
c9s
4da7d3b50b
fix side effect order type
2021-06-01 01:39:22 +08:00
c9s
bf73def701
binance: embed fixedpoint.Value into binance Balance struct
2021-06-01 01:39:22 +08:00
c9s
e3473572e9
types: add TakerBuyBaseAssetVolume and TakerBuyQuoteAssetVolume fields to kline
2021-06-01 01:39:22 +08:00
c9s
2925a77815
binance: use fixedpoint.Value for parsing floating number string
2021-06-01 01:39:22 +08:00
Jui-Nan Lin
7abd7225e1
fix(ftx): klines should not be empty
2021-05-31 22:56:26 +08:00
c9s
7ff4051c61
binance: fix websocket handshake
2021-05-30 18:20:14 +08:00
c9s
0b935eff4f
fix connection lock call
2021-05-30 18:14:22 +08:00
c9s
69e76485c5
xbalance: fix ticker usage
2021-05-30 18:06:31 +08:00
Yo-An Lin
406f592963
Merge pull request #258 from c9s/feature/okex
...
feature: add okex exchange user data stream and public stream
2021-05-30 16:21:12 +08:00
c9s
8d12c9262f
okex: move connection context cancel calls
2021-05-30 15:54:31 +08:00
c9s
d6bd33a682
okex: remove unused code
2021-05-30 15:53:43 +08:00
c9s
d112dbb1a4
binance: check connCancel only when new context is allocated
2021-05-30 15:53:01 +08:00
c9s
f9d4068145
binance: pull out listen key from stream and reduce critical section
2021-05-30 15:51:25 +08:00
c9s
d863766e00
fix quote quantity alignment
2021-05-30 15:51:00 +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
1a05f6fbd4
okex: pull read timeout and adjust to 30 seconds
2021-05-30 00:32:06 +08:00
c9s
9a68cfd288
xmaker: fix trade checking
2021-05-30 00:11:35 +08:00
c9s
d962dbe542
adjust read timeout
2021-05-29 20:40:47 +08:00
c9s
70284a8c0f
xmaker: move notify trade
2021-05-29 01:41:29 +08:00
c9s
3789315214
show accumulated net profit
2021-05-29 01:38:44 +08:00
c9s
df10e175f9
xmaker: fix wording
2021-05-29 01:32:33 +08:00
c9s
e2561bde96
xmaker: add NotifyTrade option
2021-05-29 01:31:13 +08:00
c9s
65a38e56b8
slacknotifier: spawn notify worker as a go routine
2021-05-29 01:30:57 +08:00
c9s
6e0bc7c1e2
xmaker: use trade channel to buffer trades
2021-05-29 01:03:43 +08:00
c9s
33db0b5c6f
xmaker: add trade stores for trade buffering
2021-05-29 00:28:13 +08:00
c9s
426a6157af
okex: fix ping connection lock
2021-05-29 00:27:28 +08:00
c9s
64b9c78a5b
okex: fix order detail segmentation
2021-05-29 00:27:05 +08:00
c9s
2a5ef30135
add ping worker to max
2021-05-29 00:26:53 +08:00
c9s
e11553139e
binance: make convert functions private
2021-05-29 00:26:39 +08:00
c9s
8d31435ded
add trade store
2021-05-29 00:25:23 +08:00
c9s
f49490f986
fix websocket ping/pong issue
2021-05-28 23:34:21 +08:00
c9s
002b28f75a
okex: implement candlestick api and improve kline console format
2021-05-28 20:51:10 +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
d932a686a0
fix strategy market data stream usage
2021-05-28 03:15:29 +08:00
c9s
4f16f6b1f8
fix market data stream usage
2021-05-28 03:13:50 +08:00
c9s
b430128ba1
okex: fix okex order cancellation
2021-05-28 03:05:59 +08:00
c9s
29304d14ba
okex: implement submit orders and cancel order api
2021-05-28 02:45:09 +08:00
c9s
6407eab9c1
okex: convert order details into trades and orders
2021-05-28 02:21:35 +08:00
c9s
19b700dfba
okex: parse and convert account information
2021-05-28 01:14:11 +08:00
c9s
777701c0cb
add userdatastream cmd for testing private stream
2021-05-28 00:47:34 +08:00
c9s
545d0f18e3
okex: handle kline close event
2021-05-27 18:43:42 +08:00
c9s
2844b7c3a7
okex: add kline command for testing kline data
2021-05-27 18:35:34 +08:00
c9s
76048633cc
okex: support websocket candle data
2021-05-27 17:55:23 +08:00
c9s
4fdd9d5097
okex: convert interval to candle types
2021-05-27 17:40:24 +08:00
c9s
1d400e281c
okex: convert book data to book snapshot and book update
2021-05-27 16:01:15 +08:00
c9s
884e764fe7
okex: order book parsing
2021-05-27 15:48:51 +08:00
c9s
03431da00c
okex: remove private dial method
2021-05-27 15:16:01 +08:00
c9s
f4f4304df6
move Dial method to StandardStream
2021-05-27 15:14:58 +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
18045bb1e7
Move ReconnectC to the StandardStream
2021-05-27 14:42:14 +08:00
Yo-An Lin
7804415873
Merge pull request #254 from c9s/feature/okex
...
feature: add okex exchange
2021-05-27 01:28:41 +08:00
Yo-An Lin
930467d9c6
Merge pull request #257 from jnlin/ftx/symbol-map
...
feat(ftx): use go generate to build symbol map
2021-05-27 01:28:10 +08:00
c9s
8c50ce725c
add stream callbacks
2021-05-27 01:07:38 +08:00
c9s
2538824661
okex: implement basic stream
2021-05-27 01:07:25 +08:00
c9s
2381df5009
add okex to the exchange factory
2021-05-27 00:35:51 +08:00
c9s
29ad95a639
add okex to the valid exchange name
2021-05-27 00:29:16 +08:00
c9s
18daf54500
ftx: add LocalSymbol to test
2021-05-27 00:27:46 +08:00
c9s
5becfb99e6
okex: implement query account balance
2021-05-27 00:24:16 +08:00
c9s
859eaf3c2a
okex: add trade service function skeletons
2021-05-27 00:05:43 +08:00
c9s
c6c353b29a
okex: implement QueryTickers
2021-05-27 00:05:43 +08:00
c9s
c9aa0df054
gensymbols to generate spot symbol map
2021-05-27 00:05:43 +08:00
c9s
d8c6545d2d
okex: implement query ticker
2021-05-27 00:05:43 +08:00
c9s
3511bcf13f
okex: move go generate to the convert file
2021-05-27 00:05:43 +08:00
c9s
364e6fc990
okex: add local symbol convert function
2021-05-27 00:05:43 +08:00
c9s
016c60796d
pull out BNB currency string
2021-05-27 00:05:43 +08:00
c9s
ea78c0308b
add LocalSymbol field for exchange specific symbol
2021-05-27 00:05:43 +08:00
c9s
97b377da0a
okex: implement query markets
2021-05-27 00:05:43 +08:00
c9s
4ded82c94e
pull out types.Exchange interfaces to make it minimal
2021-05-27 00:05:43 +08:00
c9s
c8cb75cabc
add funding rate api support
2021-05-27 00:05:43 +08:00
c9s
1fb456d8ad
add Stringer interface to fixedpoint
2021-05-27 00:05:43 +08:00
c9s
2bd79bcaf0
okex: add PublicDataService NewGetInstrumentsRequest
2021-05-27 00:05:43 +08:00
c9s
365b4c3837
okex: refactor trade service and fix order details api
2021-05-27 00:05:43 +08:00
c9s
5f8108f93e
okex: add GetPendingOrderRequest
2021-05-27 00:05:43 +08:00
c9s
172239ddf6
okex: add order detail request
2021-05-27 00:05:43 +08:00
c9s
7e97163207
okex: implement batch place and batch cancel orders
2021-05-27 00:05:43 +08:00
c9s
1acbaefcd9
okex: implement place order and cancel order requests
2021-05-27 00:05:43 +08:00
c9s
b1aadb4bf0
okex: parse numbers as fixedpoints
2021-05-27 00:05:43 +08:00
c9s
8842208441
okex: add market ticker api support
2021-05-27 00:05:43 +08:00
c9s
e678289577
implement okex balances endpoint
2021-05-27 00:05:43 +08:00
c9s
fe269fd93d
okex: implement base rest client
2021-05-27 00:05:43 +08:00
c9s
36071d6649
move MillisecondsJitter to the util package
2021-05-26 23:41:45 +08:00
c9s
9d7f147fbf
fix address UnmarshalJSON
2021-05-26 23:37:08 +08:00
c9s
967c7e9f9d
xbalance: add withdrawal options
2021-05-26 23:24:05 +08:00
c9s
8781902b68
xmaker: fix stop hedge balance condition
2021-05-26 23:05:41 +08:00
Jui-Nan Lin
72e7915d8d
feat(ftx): use go generate to build symbol map
2021-05-26 20:53:51 +08:00
zenix
698ec9911f
Fix error formating on depth load fail
2021-05-26 00:57:35 +00:00
zenix
3d2a27fc10
Fix: nil pointer exception in indicator creation, add stoch util func
2021-05-26 00:20:31 +00:00
c9s
9c331063f4
improve depth error messages
2021-05-26 01:31:58 +08:00
c9s
06e982124b
fix depth reset
2021-05-26 01:27:42 +08:00
c9s
07ded04a9b
fix depth reset
2021-05-26 01:20:24 +08:00
c9s
44ff833c91
binance: buffer depth events
2021-05-26 01:05:12 +08:00
c9s
edeaa597f1
fix loadDepthSnapshot mutex lock issue
2021-05-26 00:58:40 +08:00
c9s
47bf7a1e03
remove time sleep for depthframe
2021-05-26 00:58:40 +08:00
Yo-An Lin
31871143a0
Merge pull request #249 from jnlin/ftx/websocket-kline
...
Implement kline stream and subaccount feature for FTX exchange
2021-05-26 00:31:35 +08:00
Jui-Nan Lin
1dd397f900
fix(ftx): return original symbol if not found (e.g. BTC-PREP)
2021-05-25 23:29:50 +08:00
Jui-Nan Lin
2e749bb7a8
fix(ftx): always update since to avoid infinite loop
2021-05-25 23:21:38 +08:00
Jui-Nan Lin
bca57e017b
fix(ftx): set lastTradeID from options{} to filter trades
2021-05-25 23:14:49 +08:00
Jui-Nan Lin
2fd82ef775
fix(ftx): should use local symbol in fillResponse
2021-05-25 22:43:26 +08:00
Jui-Nan Lin
ab8c1ec18c
fix(ftx): allow subaccount to be empty
2021-05-25 22:12:10 +08:00
c9s
686dcef2c5
binance: fix depth snapshot buffering
2021-05-25 21:36:14 +08:00
Jui-Nan Lin
bee3b913f2
fix(ftx): typo
2021-05-25 21:30:15 +08:00
c9s
d3f06bc9d7
fix binance depth stream buffering
2021-05-25 19:13:10 +08:00
Jui-Nan Lin
1318f221b2
fix(ftx): iterate subscription arraywhile polling klines
2021-05-25 18:37:48 +08:00
c9s
bf684c0a5e
fix empty bids and ask issues
2021-05-25 15:54:41 +08:00
c9s
28c646a4db
reformat code
2021-05-25 01:50:36 +08:00
c9s
c8ca19a298
fixedpoint: fix percentage parsing
2021-05-25 01:36:17 +08:00
Jui-Nan Lin
a7a141c3ea
fix(ftx): rename to pollKLines()
2021-05-24 14:21:40 +08:00
Jui-Nan Lin
239d55ce33
fix(ftx): use ID()
2021-05-24 14:18:40 +08:00
Jui-Nan Lin
9226d086b3
fix(ftx/rest): use Id() to make rest requests
2021-05-24 11:20:39 +08:00
Jui-Nan Lin
7fd3375741
fix(ftx/rest): add Id() for setting restful id
2021-05-24 11:19:30 +08:00
Jui-Nan Lin
2467d3fcf6
fix(ftx): get current kline candle in the beginning
2021-05-24 10:22:48 +08:00
Jui-Nan Lin
ddcd0d3969
fix(ftx): send ctx to handleChannelKlineMessage()
2021-05-24 10:16:17 +08:00
Jui-Nan Lin
64387ed2cb
Merge branch 'main' into ftx/websocket-kline
2021-05-24 10:01:58 +08:00
Jui-Nan Lin
bd9a61ea97
fix(ftx): use select to handle kline message
2021-05-24 10:00:43 +08:00
Jui-Nan Lin
bbeafab59b
fix(ftx): remove unused variables
2021-05-24 09:51:00 +08:00
Jui-Nan Lin
301ed621e6
fix(ftx): use timer.ticker()
2021-05-24 09:45:33 +08:00
Jui-Nan Lin
2394aab32e
fix(ftx): start go routine while connecting to ftx websocket
2021-05-24 09:22:47 +08:00
Jui-Nan Lin
02912f362c
fix(ftx): subscribe channel first to avoid losing order update
2021-05-24 09:21:49 +08:00
c9s
956ef71a48
use stamp time with milliseconds
2021-05-23 01:29:41 +08:00
c9s
fbe850b364
improve floating number formatting
2021-05-23 01:19:26 +08:00
c9s
117b26840e
show net profit margin percentage
2021-05-23 01:17:20 +08:00
c9s
de768296f1
fix rbtree memory error, check neel
2021-05-23 01:12:16 +08: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
9fa10ee1fd
fix rbtree price volume order
2021-05-23 00:42:27 +08:00
c9s
7a653affa6
slice orderbook: do not copy book callbacks
2021-05-23 00:21:57 +08:00
c9s
0061e51dc9
fix rbtree copy depth
2021-05-23 00:21:57 +08:00
なるみ
2052d05bb3
Move Float64Slice to types
2021-05-22 20:20:48 +08:00
c9s
1531f2bb1b
fix rbtree insertion and rotation
2021-05-22 18:11:32 +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
Yo-An Lin
20f02886de
Merge pull request #250 from narumiruna/feature/kd
...
feature: add stochastic oscillator (KD) indicator
2021-05-22 16:52:46 +08:00
Yo-An Lin
890323c87b
Merge pull request #251 from narumiruna/fix/kline-window
...
fix: KLineWindow
2021-05-22 16:51:53 +08:00
c9s
6df72d54a8
add callbacks
2021-05-22 16:47:34 +08:00
c9s
8acada76a9
replace sliceorderbook with orderbook interface
2021-05-22 16:32:29 +08:00
c9s
cca37d309a
fix rbtree iteration
2021-05-22 14:57:14 +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
なるみ
0377a7321e
Rename KD to STOCH
2021-05-22 05:52:10 +08:00
なるみ
b9ced0955d
Fix test
2021-05-22 05:36:38 +08:00
なるみ
25f76235e9
Fix GetHigh, GetLow and Mid
2021-05-22 05:26:27 +08:00
なるみ
50d96f1276
Fix KLineWindow.Tail
2021-05-22 05:22:38 +08:00
なるみ
ec6cbb05aa
Add kd_test.go
2021-05-22 05:00:27 +08:00
なるみ
b82fbbb2ab
Add pop, max, min, sum, mean and tail methods to Float64Slice
2021-05-22 03:28:25 +08:00
なるみ
c58e252ff2
Add stochastic oscillator indicator
2021-05-22 03:24:09 +08:00
Jui-Nan Lin
14abd1436b
fix(ftx): call EmitConnect() after connected
2021-05-21 23:33:05 +08:00
Jui-Nan Lin
dd0bfab292
fix(ftx): call EmitStart() after connected
2021-05-21 23:25:26 +08:00
Jui-Nan Lin
c7f9352e20
fix(ftx): keep in the loop
2021-05-21 23:10:05 +08:00
Jui-Nan Lin
fb47a4882f
fix(ftx): support subaccount in websocket
2021-05-21 23:07:53 +08:00
Jui-Nan Lin
05bde543b7
feat(ftx): emulating kline channel with polling
2021-05-21 23:07:39 +08:00
c9s
09d68057c5
move price volume slice to a separated file
2021-05-21 12:32:47 +08:00
c9s
94fb0e320e
implement RBTree orderbook benchmark
2021-05-21 12:31:18 +08:00
c9s
f6229515ac
fix color ref
2021-05-21 02:18:45 +08:00
c9s
31f9920ddc
fix func comment
2021-05-21 02:17:57 +08:00
c9s
d2003bbc3d
remove unused emit function calls
2021-05-21 02:17:40 +08:00
c9s
d930816672
define RBOrderBook
2021-05-21 02:15:31 +08:00
c9s
be646fbac2
move rbtree to types package
2021-05-21 01:44:53 +08:00
c9s
edf8902b28
implement rbtree delete
2021-05-21 01:36:58 +08:00
c9s
d14137b878
add rbtree functions
2021-05-21 00:10:53 +08:00
c9s
57a78777df
move Time type to types.Time
2021-05-21 00:10:53 +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
Yo-An Lin
343f184252
Merge pull request #248 from jnlin/fix/ftx-orderid
...
fix(ftx): use generated order id if not specified
2021-05-20 01:06:37 +08:00
Jui-Nan Lin
02649bdd63
fix(ftx): use generated order id if not specified
2021-05-19 21:37:29 +08:00
c9s
d1ad802806
improve trade command output layout
2021-05-19 17:54:30 +08:00
c9s
44901572ac
show order id in the slack attachment
2021-05-19 17:21:17 +08:00
c9s
e95429bbc3
binance: save newer events for later usage
2021-05-19 01:02:41 +08:00
c9s
2fddc9166f
show bid/ask volume in the message
2021-05-19 00:41:34 +08:00
c9s
7f86c75360
add CopyDepth for avoid copying the whole book
2021-05-19 00:15:11 +08:00
c9s
34106cf65e
add cpu profile option
2021-05-18 15:38:22 +08:00
c9s
9406682944
improve maxapi websocket reconnect issue
2021-05-18 14:14:58 +08:00
c9s
c3c3c47808
move lock section
2021-05-18 13:59:58 +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
b8139e6e86
add xarb strategy
2021-05-18 10:19:35 +08:00
c9s
c4ccd8094f
make max client order id factory public
2021-05-18 09:10:43 +08:00
c9s
e23932f99c
xbalance: add checkOnStart option
2021-05-18 08:32:00 +08:00
c9s
d722b76564
adjust pips by bollband ratio
2021-05-17 23:57:20 +08:00
Yo-An Lin
d1bfeccc72
Merge pull request #246 from jnlin/fix/ftx-symbol
...
fix(ftxExchange): setup a symbol mapping table
2021-05-17 21:37:46 +08:00
c9s
1c19c02206
xmaker: fix order submission
2021-05-17 21:33:55 +08:00
Jui-Nan Lin
c0cf529db7
fix(ftx): allow empty TimeInForce to place market orders
2021-05-17 21:05:44 +08:00
c9s
f6f1226bd0
integrate bollband indicator into xmaker
2021-05-17 20:04:13 +08:00
c9s
b8fe100b5e
move balance printing to debug-balance env var
2021-05-17 20:04:13 +08:00
c9s
f80c98b97c
since we always receive balance update from websocket we do not need to subscribe 1m from the maker exchange
2021-05-17 20:04:13 +08:00
c9s
6370b39cde
adjust quantity by max amount if balance is not enough
2021-05-17 20:04:13 +08:00
c9s
c6ae1b54b8
remove redundant word
2021-05-17 20:04:13 +08:00
c9s
a1c888f04b
adjust profit margin percentage precesion
2021-05-17 20:04:13 +08:00
Jui-Nan Lin
31993d7ccf
fix(ftx): update test toGlobalOrderBook
2021-05-17 18:53:43 +08:00
Jui-Nan Lin
316799d5a0
fix(ftxExchange): setup a symbol mapping table
...
ftx uses BTC/USDT symbol styles, however bbgo uses the BTCUSDT style
We setup a mapping table in Markets() to make conversion
2021-05-17 18:32:29 +08:00
Yo-An Lin
345c3c9e2c
Merge pull request #245 from jnlin/fix/ftx-subaccount
2021-05-17 16:34:05 +08:00
Jui-Nan Lin
2d5ae1dde3
fix(ftxExchange): the env variable is "FTX_ACCOUNT"
2021-05-17 12:42:04 +08:00
c9s
6069102099
fix percentage
2021-05-17 09:02:34 +08:00
c9s
82e85dd27a
add profit margin
2021-05-17 08:59:20 +08:00
c9s
61d95a4c34
render trade time
2021-05-17 00:53:19 +08:00
c9s
45e930a086
use slack attachment title instead of pretext
2021-05-16 18:07:06 +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
491c4bbada
fixedpoint: support percentage parsing
2021-05-16 15:16:04 +08:00
c9s
a4381a54a3
add fee rate field
2021-05-16 15:03:36 +08:00
c9s
5c10f8a4e2
binance: call set server time service
2021-05-16 15:03:31 +08:00
c9s
fad1e39bba
update state asset name for legacy caches
2021-05-16 01:22:55 +08:00
c9s
b4f6653ccc
prefer PlainText interface over String interface
2021-05-16 01:21:35 +08:00
c9s
f176afee6f
remove duplicated notify
2021-05-16 01:18:54 +08:00
c9s
c9cdf31df1
add pnl emoji
2021-05-16 01:16:03 +08:00
c9s
6f79a7eea8
improve support strategy messages
2021-05-16 01:07:53 +08:00
c9s
f28cc18ce4
support: check target quantity and min notional
2021-05-16 01:04:46 +08:00
c9s
9aaad2d28c
add emoji icons to the messages
2021-05-16 01:03:28 +08:00
c9s
933765defb
add State PlainText method test
2021-05-16 00:59:57 +08:00
c9s
2652bee83b
remove arrow from the message text
2021-05-16 00:52:53 +08:00
c9s
f09e248c02
improve slack attachment title
2021-05-16 00:51:51 +08:00
c9s
16fbbd0e4b
notify transfer states
2021-05-16 00:51:12 +08:00
c9s
40b5baeda7
add maxDailyAmountOfTransfer check
2021-05-16 00:50:15 +08:00
c9s
942eaac659
improve message formatting
2021-05-16 00:45:08 +08:00
c9s
8eb8a3de72
refactor state functions
2021-05-16 00:32:27 +08:00
c9s
ca10135646
translate WithdrawalRequest to slack attachment
2021-05-16 00:03:19 +08:00
c9s
e0d3b7a418
fix message formating
2021-05-15 23:55:13 +08:00
c9s
1f449eca7f
implement SlackAttachment interface on Position
2021-05-15 23:50:03 +08:00
c9s
a582fdbfa7
xbalance: add jitter and notification messages
2021-05-15 10:42:16 +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
638cc40516
fix notification arguments
2021-05-15 09:59:17 +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
a2bcfc8630
fix bollgrid function call
2021-05-14 15:34:58 +08:00
c9s
e3cb2ad86c
fix telegram arguments index update
2021-05-14 14:57:22 +08:00
c9s
abd6f4c7ef
rename bbgo.AdjustQuantityByMaxAmount to bbgo.AdjustFloatQuantityByMaxAmount
2021-05-14 14:53:26 +08:00
c9s
f1fe492117
improve string format
2021-05-14 14:53:26 +08:00
c9s
66bc06bc5f
add more order execution parameter checks
2021-05-14 14:53:26 +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
c520cfa540
xmaker: fix price calculation
2021-05-14 14:53:26 +08:00
c9s
3437515d6a
rename placeOrder to submitOrder for making the api consistent
2021-05-14 14:53:26 +08:00
Yo-An Lin
2aea0dee4f
Merge pull request #230 from LarryLuTW/bollgrid-enhance
...
bollgrid: generate the last order if balance is not enough
2021-05-14 11:51:25 +08:00
Lee
d1cef15f75
Fix: Correct the Order FILLED event on binance
2021-05-13 00:41:23 +08:00
Larry850806
4b53b3c96a
bollgrid: generate the last order if balance is not enough
2021-05-12 20:45:54 +08:00
c9s
3becb32843
bump version to v1.16.0
2021-05-12 19:41:03 +08:00
c9s
a49cf531b5
fix cross exchange order executor for the basic risk control
2021-05-12 19:02:09 +08:00
Yo-An Lin
dcd66d3449
Merge pull request #235 from jessy1092/binance_parser
...
Fix: Correct the binance executionReport parser
2021-05-12 19:01:14 +08:00
Lee
b0e71e4258
Fix: Correct the binance executionReport parser
...
Let JSON parse to be explicit for prevent Unmarshal case-insensitive issue
2021-05-12 18:45:16 +08:00
Yo-An Lin
4028c39dbf
Merge pull request #234 from narumiruna/fix/macd-vwap-test-case
2021-05-12 16:52:49 +08:00
なるみ
f1d88188e8
Fix test case
2021-05-12 14:39:10 +08:00
c9s
aa6520ec18
improve error messages
2021-05-12 12:54:46 +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
Yo-An Lin
ca0061856d
Merge pull request #231 from zenixls2/binance_cancel
2021-05-12 09:25:34 +08:00
Yo-An Lin
3b61a16a81
Merge pull request #227 from narumiruna/feature/add-ad-indicator
2021-05-12 09:22:09 +08:00
Yo-An Lin
037f564b03
Merge pull request #226 from narumiruna/feature/add-obc-indicator
2021-05-12 09:21:27 +08:00
c9s
fd6fe56f32
implement withdrawal request on binance
2021-05-12 02:15:22 +08:00
c9s
9ff7b62123
add xbalance strategy
2021-05-12 01:21:40 +08:00
c9s
1e3e570edb
add ExchangeWithdrawalService interface
2021-05-12 01:21:21 +08:00
c9s
ff7ead9bdf
fix max withdrawal address bug
2021-05-12 01:21:04 +08:00
c9s
61319fb4ff
implement Withdrawal method on max exchange
2021-05-12 00:23:13 +08:00
c9s
0b7c9a1437
implement withdrawal request api
2021-05-11 22:35:31 +08:00
c9s
f197a0fc4f
improve log messages
2021-05-11 15:57:44 +08:00
c9s
9d53adc6ef
xmaker: ignore self trade
2021-05-11 15:56:46 +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
610c33b819
improve support quantity for spot session
2021-05-11 13:25:29 +08:00
c9s
15086996e4
add balance warning
2021-05-11 12:53:32 +08:00
c9s
5f8e3259eb
add stopHedgeQuoteBalance and stopHedgeBaseBalance
2021-05-11 12:47:45 +08:00
c9s
d2a770bc05
adjust second layer price according to the pips
2021-05-11 01:06:39 +08:00
c9s
b86ed36aa2
calculate price by depth
2021-05-11 00:58:11 +08:00
c9s
4429a29c29
disable hedge quote adjustment
2021-05-11 00:10:49 +08:00
c9s
fa3ca54a55
improve warning messages
2021-05-10 23:52:17 +08:00
c9s
fe4e4bf5ea
use bbgo.AdjustQuantityByMaxAmount
2021-05-10 23:50:19 +08:00
c9s
b16d2553b5
remove floating point
2021-05-10 23:49:25 +08:00
c9s
1f9558cd64
use local timezone
2021-05-10 23:27:08 +08:00
なるみ
7cc5485bff
Add ad indicator
2021-05-10 20:39:27 +08:00
c9s
af8f718228
add more pnl details to the state
2021-05-10 20:22:33 +08:00
c9s
95d58e9385
adjust hedge quantity according to the hedge account balances
2021-05-10 20:13:23 +08:00
なるみ
f82a344964
Rename test function
2021-05-10 18:16:12 +08:00
なるみ
67f66153ab
Add obv test
2021-05-10 17:46:46 +08:00
なるみ
a2d7a40147
Add obv indicator
2021-05-10 17:17:50 +08:00
c9s
c1ea9ff9ed
xmaker: move cancel order calls to the go routine
2021-05-10 13:18:57 +08:00
c9s
c90871fb39
implement pending removal order ids
2021-05-10 13:06:23 +08:00
c9s
ddab6083d4
xmaker: support quantity scale
2021-05-10 02:52:41 +08:00
c9s
dde998aced
fix graceful shutdown
2021-05-10 02:17:19 +08:00
c9s
405f9c863f
xmaker: call cancel orders everytime
2021-05-10 01:47:17 +08:00
c9s
ce63641d70
print otp auth guide when session is loaded
2021-05-10 01:38:19 +08:00
Yo-An Lin
8a9fe7ea23
Merge pull request #221 from frankurcrazy/fix/skip-cancel-profit-order-on-graceful-exit
...
fix(bollgrid): skip canceling profit orders on graceful exit
2021-05-10 01:11:20 +08:00
c9s
8995300cbe
use go routine to send message so that we wont be blocked
2021-05-10 00:02:08 +08:00
c9s
0307a740e3
calculate accumulatedProfit
2021-05-09 23:56:54 +08:00
c9s
a98fbeea77
reduce notify calls
2021-05-09 21:14:51 +08:00
c9s
3f8f5616d7
add more order info the local order book printing
2021-05-09 20:03:16 +08:00
c9s
2f326d0fed
xmaker: add interval jitter
2021-05-09 20:03:06 +08:00
c9s
c278cdbf30
improve order sync map lock handling
2021-05-09 19:50:26 +08:00
c9s
74e01ce444
fix order waiting for graceful shutdown
2021-05-09 19:44:51 +08:00
c9s
e06310da26
print unhandled order status
2021-05-09 19:44:43 +08:00
c9s
ff90a704d9
fix fixedpoint format
2021-05-09 19:40:56 +08:00
c9s
e35eef2b72
fix message formatting
2021-05-09 19:15:37 +08:00
c9s
9525a334d2
add more fix
2021-05-09 19:04:44 +08:00
c9s
1b454be0f3
fix quote quantity label
2021-05-09 18:58:05 +08:00
c9s
b343ecad61
xmaker: add more helpful messages
2021-05-09 18:55:56 +08:00
c9s
dc282182a5
fix xmaker order cancellation in the graceful shutdown
2021-05-09 18:48:25 +08:00
c9s
569bbfea54
use new bbgo position for calculating profits
2021-05-09 18:46:09 +08:00
c9s
f44d85d704
fix QuantityMultiplier
2021-05-09 18:33:11 +08:00
c9s
c0f12cf452
xmaker: add active maker order cancellation check
2021-05-09 18:32:29 +08:00
なるみ
52248fcf2e
feature: add MACD indicator ( #219 )
2021-05-09 00:56:44 +08:00
Frank Chang
da0ea3d390
fix(bollgrid): skip canceling profit order on graceful exit
...
profit orders shouldn't be canceled on graceful exit unless
properly persisted.
a new strategy parameter `shutdownCancelProfitOrders` is added.
Issue: #220
2021-05-08 15:19:04 +08:00
なるみ
3f39131d76
feature: add volume weighted average price (vwap) indicator ( #211 )
2021-05-08 02:09:45 +08:00
c9s
fd7081e96f
bump version to v1.15.5
2021-05-08 01:11:31 +08:00
c9s
d01abffde3
add todo for the backtest trades
2021-05-08 01:09:06 +08:00
c9s
13d9f2ba49
grid: fix order generator checking
2021-05-08 01:00:57 +08:00
c9s
a94c42d9c2
grid: improve error messages
2021-05-08 00:59:30 +08:00
c9s
ee68deb114
apply limit param to the queries
2021-05-08 00:57:25 +08:00
c9s
d8d2e17b9e
fix backtest exchange query klines methods
2021-05-08 00:57:12 +08:00
c9s
6bbd66a4f9
split environment start and init
2021-05-08 00:45:24 +08:00
c9s
14eedecd0e
fix backtest sync from time
2021-05-08 00:44:43 +08:00
c9s
61ad2b6567
emit start callback for backtest
2021-05-08 00:43:53 +08:00
c9s
3501e8f5fd
refactor backtest, add BootstrapBacktestEnvironment
2021-05-08 00:14:25 +08:00
c9s
f67075c818
bump version to v1.15.4
2021-05-07 14:08:11 +08:00
c9s
858d6bdf05
grid: adjust callback registration ordering
2021-05-07 02:14:35 +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
1264c50e83
improve balances, account command usability
2021-05-06 23:50:26 +08:00
c9s
1a81813e17
add --session option check
2021-05-06 23:44:05 +08:00
c9s
03cee5eb0b
apply types.ExchangeMAX
2021-05-05 16:57:01 +08:00
c9s
859bf35255
set sync-from from config by default
2021-05-05 16:45:17 +08:00
c9s
a70d5cbcdc
fix kline sync conditions
2021-05-05 16:33:15 +08:00
c9s
d85037f9ea
add binance kline query documentation
2021-05-05 16:23:46 +08:00
c9s
1ad8b0b641
remove unused SourceDir func
2021-05-04 01:06:20 +08:00
c9s
0fbc388333
add --webserver-bind option and add option to --enable-webserver
2021-05-03 17:24:39 +08:00
Larry850806
f1309c46fc
bollgrid: check balance before submit reverse order
2021-05-03 16:18:58 +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
20d673f769
add schedule strategy
2021-05-02 18:03:41 +08:00
c9s
8fea2022e5
adjust rate limit for backtest data syncing
2021-05-02 17:46:08 +08:00
c9s
471e0a4c45
pass string format quantity and price
2021-04-28 19:48:17 +08:00
c9s
9f77236999
fix and improve position accessor
2021-04-28 19:32:49 +08:00
c9s
e87c2e271f
add broker id on max
2021-04-28 19:24:07 +08:00
c9s
5d2296eddd
extract client order id generation
2021-04-28 19:20:55 +08:00
c9s
36beabaa0b
bump version to v1.15.3
2021-04-28 18:00:23 +08:00
c9s
70a53ed286
make config compatible with key 'strategies'
2021-04-28 17:58:50 +08:00
zenix
2bda296194
Fix: upgrade binance api, fix go fmt, add hard start time for binance to reduce sync execution time
2021-04-21 19:50:33 +09:00
zenix
2d6eb02e6c
compile and update migration package
2021-04-21 11:21:15 +09:00
Larry850806
453a906a5a
bollgrid: use onStart instead of onConnect
2021-04-15 15:51:23 +08:00
Larry850806
980f1ae3e7
bollgrid: submit buy/sell orders separately
2021-04-15 12:31:18 +08:00
Larry850806
aa950b3dc4
bollgrid: track createdOrders when error occurs
2021-04-15 12:31:18 +08:00
Larry850806
a80afff0c2
grid: track createdOrders when error occurs
2021-04-15 12:31:18 +08:00
Wei-Ning Huang
e7961be86a
binance: set TimeInForce to GTC by default for limit orders
...
Binance does not allow submitting order without TimeInForce set for
certain order types. Set TimeInforce to GTC (Good-Til-Cancel) by
default.
2021-04-14 09:49:03 +08:00
David Chang
f884fcd45c
fix: add ioc trade type to order type
2021-04-12 14:35:46 +08:00
David Chang
0db2cc2c96
fix: add ioc trade type to order type
2021-04-12 09:35:59 +08:00
David Chang
c9198d498e
feature: add ioc order type support to max exchange
2021-04-11 12:29:23 +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
c9s
d315c12f2d
call environ.Init to setup sessions
2021-04-09 00:46:36 +08:00
Yo-An Lin
435f7fb12e
Merge pull request #190 from jnlin/feat/telegram-group
...
feat: allow telegram bot send to group
2021-04-04 11:21:20 +08:00
c9s
13a8597d59
add MaxExposurePosition settings
2021-04-04 11:14:09 +08:00
Jui-Nan Lin
1b953d88d4
feat: allow bot send to group
2021-04-03 12:50:13 +08:00
Larry850806
6718aace8c
Add validation for support strategy
2021-04-02 10:32:38 +08:00
Larry850806
53133851cc
Add validation for grid strategy
2021-04-02 10:32:38 +08:00
Larry850806
2c41ec28ae
Add validation for bollgrid strategy
2021-04-02 10:32:34 +08:00
Larry850806
dbf5d27f30
Add a validator interface to validate strategy before run
2021-04-02 10:12:55 +08:00
ycdesu
1e3ce81c06
ftx: pull out map
2021-04-01 11:55:27 +08:00
ycdesu
a659bacb0d
ftx: remove back slash from symbol
2021-04-01 11:54:16 +08:00
ycdesu
28c9ac95ac
ftx: query kline using rest api
2021-03-31 18:09:13 +08:00
ycdesu
f912fde6e3
ftx: panic if subscribe unsupported channel
2021-03-29 22:11:39 +08:00
ycdesu
66f165584f
fix: make since/until optional
2021-03-29 22:11:39 +08:00
ycdesu
f526a937d1
ftx: websocket keepalive
2021-03-29 22:11:39 +08:00
ycdesu
53c9b0a606
ftx: remove redundant abstraction
2021-03-29 22:11:39 +08:00
ycdesu
e152aa1036
ftx: trade update
2021-03-29 22:11:39 +08:00
ycdesu
f345730778
ftx: handle err response
2021-03-29 22:11:38 +08:00
ycdesu
9c4ccbd6e2
ftx: subscribe order update
2021-03-29 22:11:38 +08:00
ycdesu
34ea325499
ftx: refactor websocket_messages structs
2021-03-29 22:11:38 +08:00
ycdesu
d3cdd3c2a6
ftx: define order update response
2021-03-29 22:11:38 +08:00
ycdesu
2e2ae46bae
ftx: subscribe order update
2021-03-29 22:11:38 +08:00
ycdesu
f60f1ef52e
ftx: authenticate websocket
2021-03-27 18:16:52 +08:00
ycdesu
24254a869d
ftx: invoke SetPublicOnly in orderbook command
2021-03-27 17:37:16 +08:00
ycdesu
34548f185c
ftx: add missing ftx case
2021-03-27 17:00:55 +08:00
ycdesu
691251169d
ftx: define ws login request
2021-03-27 16:58:51 +08:00
ycdesu
3bcd5a8e83
ftx: null guard in close
2021-03-27 09:54:12 +08:00
ycdesu
9e77b3afd8
ftx: support queryTrades method
2021-03-26 00:43:15 +08:00
c9s
c82df27cf3
grid: fix message format
2021-03-25 15:22:52 +08:00
c9s
13af4505f7
bump version to v1.15.2
2021-03-25 13:41:44 +08:00
c9s
129b25d86e
fix persistence key
2021-03-25 13:18:38 +08:00
c9s
89c01adf60
xmaker: fix state passing for persistence
2021-03-25 13:16:48 +08:00
c9s
121a679d4a
fix margin struct tag
2021-03-25 13:16:27 +08:00
c9s
8122fddd02
add exchange field to binance trades and binance orders
2021-03-24 17:51:19 +08:00
YC
80e5144950
Merge pull request #184 from c9s/ftx/add-missing-query-string
2021-03-24 16:26:33 +08:00
ycdesu
241f1ee9de
ftx: support lastOrderID
2021-03-23 22:27:11 +08:00
ycdesu
17b6122cf8
ftx: assign query string to order/wallet requests
2021-03-23 22:26:18 +08:00
ycdesu
bce749c13b
ftx: add missing query string
2021-03-23 22:25:57 +08:00
ycdesu
33046df35b
ftx: list closed orders
2021-03-23 22:25:21 +08:00
ycdesu
cb52b436cb
ftx: add log
2021-03-23 22:25:05 +08:00
c9s
cbd43c159f
bump version
2021-03-23 21:52:42 +08:00
c9s
29f77c2176
add environ.DatabaseService nil check for backtest
2021-03-22 22:48:43 +08:00
c9s
3a842836cd
bump version
2021-03-22 18:51:32 +08:00
c9s
5de221524f
adjust state and reset per day
2021-03-22 18:48:18 +08:00
c9s
6c8babfb27
allow public session
2021-03-22 17:40:17 +08:00
c9s
67bfc508c8
max: remove unnecessary log
2021-03-22 17:40:00 +08:00
c9s
2b27815929
move out groupID to the maxapi package
2021-03-22 17:32:22 +08:00
c9s
706b38efa3
gap: finalize the implementation
2021-03-22 17:32:22 +08:00
c9s
111b3ba036
max: improve multi-order request
2021-03-22 17:32:22 +08:00
c9s
3c5071b87e
use uint32 for groupID
2021-03-22 17:32:22 +08:00
c9s
cd5ac1ddf5
fix convert for limit maker
2021-03-22 17:32:22 +08:00
c9s
865dda14f5
gap: accumulate fee
2021-03-22 17:32:22 +08:00
c9s
24c4d05e91
max: load websocket base url from the env var
2021-03-22 17:32:21 +08:00
c9s
088b22f338
support bbgo-no-cache option
2021-03-22 17:32:21 +08:00
c9s
e86f29b7cc
add gap strategy
2021-03-22 17:32:21 +08:00
ycdesu
ab743f85c2
ftx:support deposit histories
2021-03-21 20:17:41 +08:00
ycdesu
d2a5a755be
ftx: implement queryMarket
2021-03-21 13:06:46 +08:00
ycdesu
14652c6918
ftx: define market request
2021-03-21 13:06:46 +08:00
ycdesu
c30a026243
ftx: support market cmd
2021-03-21 13:06:46 +08:00
Yo-An Lin
1293dbb64b
Merge pull request #180 from c9s/strategy/xmaker
...
feature: add strategy xmaker
2021-03-21 13:00:00 +08:00
c9s
814a77ea39
xmaker: improve balance checking
2021-03-21 12:55:33 +08:00
c9s
2a067e5cb4
add more balance check for hedging
2021-03-21 12:55:33 +08:00
c9s
1f744b0fa5
convert limit maker type to post only
2021-03-21 12:55:33 +08:00
c9s
837934e690
add post_only order type
2021-03-21 12:55:33 +08:00
c9s
6b877e1394
add limit maker order type
2021-03-21 12:55:33 +08:00
c9s
4e3f325bb6
first commit of xmaker strategy from mobydick
2021-03-21 12:55:33 +08:00
ycdesu
04870acbab
fixedpoint: get num of fractional parts
2021-03-21 12:52:45 +08:00
c9s
cf1262c1a9
update version.go
2021-03-21 10:20:00 +08:00
c9s
ca27bf100d
grid: use instance id for persistence
2021-03-20 23:07:04 +08:00
c9s
ef8543db8a
show accumulative arbitrage profit in the message
2021-03-20 23:05:11 +08:00
c9s
b4083bdf10
fix fee calc tests
2021-03-20 22:59:53 +08:00
c9s
a52101b163
remove bps from the fee calc
2021-03-20 22:53:14 +08:00
c9s
d97275e408
query max account fee from the vip level api
2021-03-19 17:06:48 +08:00
YC
062a008674
Merge pull request #174 from c9s/ftx/fix-placeorder-init
2021-03-19 10:35:54 +08:00
ycdesu
a7bdcdff38
fix: fix placeorder cmd
2021-03-19 10:07:39 +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
ycdesu
a62481590e
ftx: support PlatformCurrency
2021-03-18 23:58:28 +08:00
ycdesu
8a75b21a38
ftx: support account info
2021-03-18 23:53:55 +08:00
Yo-An Lin
9e596a0f63
Merge pull request #171 from c9s/feature/grid-profit-notification
...
strategy: calculate grid arbitrage profit per order
2021-03-18 18:19:09 +08:00
c9s
dffd9fc980
add VipLevel api query support
2021-03-18 17:58:18 +08:00
c9s
890324a4ad
maxapi: add VipLevel
2021-03-18 17:58:18 +08:00
c9s
761d51597d
add todo fee rate here
2021-03-18 17:48:05 +08:00
c9s
4975fb5498
track arbitrage orders
2021-03-18 17:20:21 +08:00
c9s
a95c3b94a0
core: set default store ID
2021-03-18 17:20:07 +08:00
c9s
0e6918a352
grid: add profit field
2021-03-18 15:46:14 +08:00
Yo-An Lin
40b376802e
Merge pull request #168 from c9s/feature/mark-trade-strategy
2021-03-18 10:31:59 +08:00
Yo-An Lin
06381c250b
Merge pull request #165 from Larry850806/remove-useless-code-in-balances-cmd
2021-03-18 10:31:41 +08:00
Larry850806
28f4584191
Use empty config if config file doesn't exist
2021-03-18 10:04:41 +08:00
c9s
cad8349a1a
remove state OrderStateFinalizing from the order state
...
since we are only interested in the closed orders
2021-03-18 01:15:49 +08:00
c9s
dd87bde785
fix reward sync time range issue
2021-03-18 01:15:38 +08:00
c9s
85b6cb81a2
make local active orderbook json marshallable
2021-03-18 01:15:06 +08:00
c9s
8d784576cd
put state vars into the state struct for persistence
2021-03-18 01:14:56 +08:00
c9s
72c1f55b70
fix grid price calculation
2021-03-18 00:46:25 +08:00
c9s
4a415a43b3
fix reward query
2021-03-18 00:46:10 +08:00
c9s
90477826cf
implement byte parser for fixedpoint parsing
2021-03-17 22:20:25 +08:00
ycdesu
4a5a53ea28
ftx: support queryClosedOrders
2021-03-17 21:26:25 +08:00
Larry850806
4dc478590f
Remove configuring database in balances cmd
2021-03-17 14:35:00 +08:00
ycdesu
54ca62ac5c
ftx: define ordersHistory in rest client
2021-03-17 08:18:37 +08:00
ycdesu
342b0dd1dd
ftx: cancel orders
2021-03-16 22:36:44 +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
216c12b49e
backup and restore position
2021-03-16 20:07:54 +08:00
c9s
a1667010eb
fix filled grid map assignment
2021-03-16 20:05:03 +08:00
c9s
714d61a829
add grid restore behavior
2021-03-16 20:04:06 +08:00
c9s
8c08cfebb7
rename MarkStrategyID to just Mark
2021-03-16 14:07:47 +08:00
Yo-An Lin
f5b65e795e
Merge pull request #160 from c9s/feature/grid-options
2021-03-16 12:59:14 +08:00
c9s
ebcef65b01
mark trades with the strategy ID
2021-03-16 10:58:51 +08:00
c9s
478bef526d
copy the position object and send notification
2021-03-16 02:22:00 +08:00
c9s
98995bc75c
use debug log for skipping filled grid
2021-03-16 02:21:46 +08:00
c9s
f56df038aa
fix position and add catchup mode for grid strategy
2021-03-16 02:18:17 +08:00
c9s
60aa7df69a
adjust withdraw/deposit query limit since there are no many in most cases
2021-03-16 02:14:24 +08:00
c9s
40fded70b2
reformat scale.go
2021-03-16 02:14:10 +08:00
c9s
c5eb6483a5
integrate QueryTicker for backtesting
2021-03-16 02:13:52 +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
ycdesu
c88297117b
ftx: new rest everytime
2021-03-15 19:02:14 +08:00
c9s
c3996aee2b
add Backup method to the local active order book
2021-03-15 18:25:36 +08:00
c9s
46c59f5009
add both side and support json unmarshalling
2021-03-15 18:09:55 +08:00
c9s
2bf4a555ec
use OnStart instead of OnConnect
...
this is for avoiding re-connect issue
2021-03-15 18:04:55 +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
c95e712420
binance: emit disconnect
2021-03-15 17:48:16 +08:00
c9s
6d249cf83c
bypass disconnect event
2021-03-15 17:48:16 +08:00
c9s
61a19cbfb4
align fields and tags
2021-03-15 17:31:07 +08:00
c9s
ab6b56d91e
fix taker volume parsing
2021-03-15 15:37:53 +08:00
c9s
7b7811bbc3
revise orderbook command options
2021-03-15 10:23:53 +08:00
c9s
b24c69729a
improve orderbook print layout
2021-03-15 10:23:42 +08:00
c9s
3ffa319ba8
improve max websocket reconnecting issue
2021-03-15 10:23:20 +08:00
c9s
e8ccc5eabf
pass SubAccount field to the factory
2021-03-15 10:23:00 +08:00
c9s
97d427a9ca
add ftx into the standard exchange factory
2021-03-15 10:22:45 +08:00
c9s
2eda012f43
add SubAccount field to the exchange session config
2021-03-15 10:13:41 +08:00
c9s
b7da47411e
split exchange interface into ExchangeMarketDataService, ExchangeTradingService
2021-03-15 10:06:02 +08:00
c9s
c788601856
add disconnect callbacks on stream
2021-03-15 09:49:22 +08:00
Yo-An Lin
e0d7fefbf2
Merge pull request #150 from c9s/fix/pnl
...
feature: add deposit service and withdraw service for sync
2021-03-15 09:01:24 +08:00
Yo-An Lin
806a32724f
Merge pull request #153 from c9s/improve/balances-cmd
2021-03-14 11:51:49 +08:00
c9s
afb8105694
add reward service todo
2021-03-14 11:18:23 +08:00
c9s
38b9baf340
connect sync with deposit and withdraw services
2021-03-14 11:18:23 +08:00
c9s
54ba240317
implement deposit sync
2021-03-14 11:18:22 +08:00
c9s
0246e298d2
apply launch date if since time is empty
2021-03-14 11:18:22 +08:00
c9s
75c6a2791c
reduce log
2021-03-14 11:18:22 +08:00
c9s
ccbb78ce4d
migration: extend tx id and address size
2021-03-14 11:18:22 +08:00
c9s
8e85274876
fix used time field for withdraw
2021-03-14 11:18:22 +08:00
c9s
b25671c864
fix max deposits history ordering
2021-03-14 11:18:22 +08:00
c9s
75778675e3
fix withdraw query order
2021-03-14 11:18:22 +08:00
c9s
dbcf35e4a4
add FeeCurrency field
2021-03-14 11:18:22 +08:00
c9s
2d6b6e7427
fix withdrawal data ordering
2021-03-14 11:18:22 +08:00
c9s
4d3b1ec938
fix QueryWithdrawHistory and QueryDepositHistory
2021-03-14 11:18:22 +08:00
c9s
4b49fda463
refactor sync service
2021-03-14 11:18:22 +08:00
c9s
3c90aa515d
add deposit service and withdraw service
2021-03-14 11:18:22 +08:00
c9s
f22a6ee697
implement sync method on the trade service
2021-03-14 11:18:22 +08:00
c9s
8fc7c4798e
implement sync method on reward service
2021-03-14 11:18:22 +08:00
c9s
5a02cdbda3
implement sync method on the order service
2021-03-14 11:18:22 +08:00
c9s
877ea73435
maxapi: align fields
2021-03-14 11:18:22 +08:00
c9s
be672c89e6
max: update deposit and withdraw types
2021-03-14 11:18:22 +08:00
c9s
3f0290479b
binance: update withdraw and deposit types
2021-03-14 11:18:22 +08:00
c9s
ac45bb306a
types: update deposit fields and withdraw fields
2021-03-14 11:18:22 +08:00
c9s
2b485602ad
split ExchangeTransferService
2021-03-14 11:18:22 +08:00
c9s
b0ea2bfe14
types: add exchange name sql value and unmarshalling
2021-03-14 11:18:22 +08:00
c9s
4e9973681a
add migration files
2021-03-14 10:58:26 +08:00
c9s
22a9809327
improve balances command
2021-03-14 10:35:01 +08:00
c9s
33213746f4
cmd: add --all option to the cancel command
2021-03-14 10:29:45 +08:00
ycdesu
a83b95d262
ftx: implemenet place order func
2021-03-13 10:41:04 +08:00
ycdesu
c3a677e2b8
ftx: rename orders cmd to listorders
2021-03-13 10:41:04 +08:00
ycdesu
506fdcd84f
ftx: add conversion helper
2021-03-13 09:51:16 +08:00
ycdesu
778ceb2985
ftx: define orderResponse struct
2021-03-13 09:51:03 +08:00
ycdesu
0e611dbee4
ftx: rename orders to ordersResponse
2021-03-12 23:03:08 +08:00
c9s
48fe6054b0
exchange/max: fix query reward issue
2021-03-10 14:18:01 +08:00
Yo-An Lin
b58e96a8a2
Merge pull request #148 from jnlin/fix/telegram-config
2021-03-10 12:42:28 +08:00
Jui-Nan Lin
19e523c1e9
fix: typo of telegram bot auth token
2021-03-10 12:31:26 +08:00
YC
b33402df24
Merge pull request #147 from c9s/ftx/query-open-orders
2021-03-08 18:50:56 +08:00
ycdesu
ee8ebde12d
ftx: add todo
2021-03-07 12:53:41 +08:00
ycdesu
6599f276db
ftx: implement query open orders
2021-03-07 12:51:13 +08:00
ycdesu
3676450e4b
ftx: convert open order
2021-03-07 12:51:13 +08:00
ycdesu
16366b09a4
ftx: rename responses.go to rest_responses.go
2021-03-07 12:51:13 +08:00
ycdesu
26963ce7ab
ftx: rename balance.go to rest_balance_request.go
2021-03-07 12:51:13 +08:00
ycdesu
f6f3fcab02
ftx: orderbook snapshot checksum
2021-03-06 19:23:44 +08:00
ycdesu
be7c393fcb
ftx: print orderbook update
2021-03-04 10:02:40 +08:00
ycdesu
cd6457f5c0
orderbook: extract String() from Print()
2021-03-04 08:55:33 +08:00
ycdesu
43275d08bc
ftx: use pure function to convert orderbook snapshot
2021-03-03 22:36:14 +08:00
ycdesu
55b9569777
ftx: use the same struct to handle orderbook snapshot/update
2021-03-03 22:33:06 +08:00
Larry850806
689734567a
Remove unused conditions when generating orders
2021-03-03 14:55:11 +08:00
ycdesu
e34f68ab90
ftx: unmarshal all fields at the same time
2021-03-03 10:31:46 +08:00
ycdesu
081aa17deb
doc: modify comment
2021-03-03 08:38:55 +08:00
ycdesu
160f6323e8
ftx: emit orderbook snapshot
2021-03-02 22:18:41 +08:00
ycdesu
253810556e
ftx: unmarshal orderbook snapshot
2021-03-02 18:33:19 +08:00
ycdesu
45528fa219
ftx: modify log
2021-03-02 18:33:19 +08:00
ycdesu
a26c0553ee
cmd: raise symbol not found err
2021-03-02 18:33:19 +08:00
ycdesu
6f81b0ee17
orderbook: fix IsValid logic
...
The original implementation always returns an error.
2021-03-02 10:33:46 +08:00
ben
40eadfeaca
add yaml tag for mapping basic risk control order executor.
2021-03-01 13:44:58 +08:00
c9s
ea5554cf52
fix Makefile and update version file
2021-03-01 12:07:00 +08:00
Yo-An Lin
a52f487d4e
Merge pull request #138 from c9s/feature/global-margin-structure
...
feature: convert and parse binance margin structure into global types
2021-02-28 16:13:48 +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
3e616c5fac
convert and parse binance margin account structure
2021-02-28 15:06:20 +08:00
c9s
32c2780b16
convert binance margin account data into the global structure
2021-02-28 15:06:20 +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
3c9bcd8c9d
add more margin order side effect alias
2021-02-28 12:00:51 +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
ycdesu
f7ef4a8028
cmd: create orderbook command to print orderbook snapshot and updates
2021-02-27 19:28:01 +08:00
ycdesu
883b7ef028
ftx: handle message in a new struct
2021-02-27 19:27:44 +08:00
ycdesu
d9ad022a81
ftx: define subscribed msg
2021-02-27 19:27:37 +08:00
ycdesu
73d05fe7bb
ftx: send subscriptions when connected
2021-02-27 18:42:46 +08:00
ycdesu
2a0bd5f962
ws: make Reconnect() public
2021-02-27 18:42:45 +08:00
ycdesu
282ce3ee99
cmd: move simple session factory to cmd/utils.go
2021-02-27 18:42:45 +08:00
ycdesu
fd5574b006
cmd: add balances testing cmd
...
Only support ftx
2021-02-27 17:24:59 +08:00
ycdesu
c52f918dd4
ftx: add missing types.exchange methods
2021-02-27 17:24:08 +08:00
ycdesu
45da7ca1f5
cmd: add ftx flags
2021-02-27 17:23:59 +08:00
ycdesu
8b838b9a59
ftx: make logger private
2021-02-27 17:01:20 +08:00
ycdesu
b28d9631ab
ftx: return ftx stream but hasn't implement it yet
2021-02-27 16:48:50 +08:00
ycdesu
bf97af34f3
ws: implement base websocket client
2021-02-27 16:48:50 +08:00
c9s
03d7290e03
pull out time range group by clause generator
2021-02-26 17:22:08 +08:00
c9s
28a8ab34a2
pull out time range column name
2021-02-26 16:16:41 +08:00
c9s
02e7451ed6
bump version
2021-02-26 16:16:34 +08:00
c9s
1d29009133
fix max trade query ordering and sql query ordering for query last
2021-02-25 13:55:04 +08:00
c9s
854014f49a
add currency position aggregation and tests
2021-02-24 10:46:42 +08:00
c9s
14830c442c
refactor and implement reward sync and query
2021-02-23 22:53:00 +08:00
c9s
5a7cf05701
integrate reward service into the sync service
2021-02-23 16:39:48 +08:00
c9s
fb62af05a4
add global Reward type
2021-02-23 10:08:01 +08:00
c9s
96362a4936
max: add rewards api and example
2021-02-22 18:45:44 +08:00
c9s
507586b560
fix max websocket subscription
2021-02-22 17:36:30 +08:00
c9s
73cb80ee96
improve logging
2021-02-22 17:06:43 +08:00
c9s
21a4669905
adjust max query limiter and sync before running trader
2021-02-22 16:54:08 +08:00
c9s
e93b5a1868
add version command
2021-02-22 15:23:09 +08:00
c9s
f7c952f8ca
add version files
2021-02-22 15:16:12 +08:00
c9s
59d68e7f0d
max: adjust trades limit to 1000
2021-02-22 15:03:15 +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
cdb7ce84c8
apply rate limit
2021-02-22 13:36:39 +08:00
c9s
63ebbc0e73
fix frontend sync status checking
2021-02-21 19:36:03 +08:00
c9s
f2978fa89c
pull out ping interval parameter
2021-02-21 18:58:25 +08:00
c9s
3629a1f5a2
pre-save syncing var for return
2021-02-21 18:54:48 +08:00
c9s
9ea1a22b3f
wrap errors
2021-02-21 17:48:03 +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
1763fb8904
improve the warning message
2021-02-21 00:48:26 +08:00
c9s
12ed5a1efe
move persistence service into the service package
2021-02-21 00:45:56 +08:00
c9s
b7a3f2ee03
refactor telegram initialization
2021-02-20 12:33:43 +08:00
c9s
be00aae81e
move trade configuration to the trader struct method
2021-02-20 12:23:31 +08:00
c9s
c72b7b2dfa
add sync api for syncing trades in the background
2021-02-20 11:56:39 +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
ff5233ba3e
support: use Notfiy
2021-02-20 10:51:01 +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
90069a8589
improve sync command to find possible trading symbols automatically
2021-02-18 22:07:54 +08:00
c9s
65ff2894c5
binance: calculate quote quantity manually if it's not defined
2021-02-18 18:24:00 +08:00
c9s
3a89b0a714
improve trade sync
2021-02-18 18:20:18 +08:00
c9s
654ad62f36
remove type assert
2021-02-18 17:42:14 +08:00
c9s
0ba595bd55
Fix trade sync for self trades
...
MAX uses one single trade for presenting self trade.
BINANCE uses two trade records for presenting self trade. the trade
creation time are the same.
2021-02-18 17:37:49 +08:00
c9s
c3dbb1b204
avoid using last trade id for syncing data
2021-02-18 16:40:47 +08:00
c9s
29bbd03836
add binance single ticker query method and fix quantity formating
2021-02-18 16:17:40 +08:00
c9s
b9564690b5
fix go migration loader
2021-02-17 19:06:55 +08:00
c9s
b2bcd3528c
use sqlx for testing connection
2021-02-17 17:35:54 +08:00
c9s
88f7f0f61c
compile and update migration package
2021-02-17 17:35:11 +08:00
c9s
ea27a291db
compile and update migration package
2021-02-17 17:28:05 +08:00
c9s
a1cb3859c3
fix db driver setup
2021-02-17 14:57:29 +08:00
c9s
e372a53835
refactor transfer history command
2021-02-17 14:43:50 +08:00
c9s
49f4039a23
add timestamp parameter
2021-02-16 17:11:15 +08:00
c9s
9a7437de53
set default limit to 1000
2021-02-16 17:10:58 +08:00
c9s
5f759780c3
remove unused since flag
2021-02-16 17:10:48 +08:00
c9s
3867fdde91
add stringer interface to Position
2021-02-16 16:40:11 +08:00
c9s
bc3754d989
check if limit is set
2021-02-16 16:39:56 +08:00
c9s
02512805f8
set default query trade limit to 1000 for max
2021-02-16 16:32:48 +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
bf0ba89aee
convert StrategyID field to NullString
2021-02-16 16:00:14 +08:00