c9s
|
882c56a820
|
grid2: add RecoverWhenStart option
|
2022-12-23 17:54:30 +08:00 |
|
c9s
|
8a45fe522e
|
grid2: pull out session dependency from the recoverGrid method
|
2022-12-23 16:48:40 +08:00 |
|
c9s
|
c721274adc
|
grid2: implement scanMissingGridOrders
|
2022-12-23 15:35:26 +08:00 |
|
c9s
|
28beca18e1
|
bump version to v1.43.0
|
2022-12-23 13:08:06 +08:00 |
|
Yo-An Lin
|
8bcfb78bc0
|
Merge pull request #1030 from c9s/feature/grid2
WIP: Feature/grid2
|
2022-12-23 12:59:43 +08:00 |
|
c9s
|
bf87d04d57
|
binance: change rate limit unit to minute
|
2022-12-22 19:07:55 +08:00 |
|
c9s
|
1ea72099ed
|
service: fix margin sync with asset condition
|
2022-12-22 14:10:35 +08:00 |
|
c9s
|
c59c8638be
|
grid2: find lastOrderTime and firstOrderTime range
|
2022-12-22 13:21:39 +08:00 |
|
c9s
|
5b4be1f9fc
|
max: drop unused toMaxSubmitOrder
|
2022-12-22 13:14:25 +08:00 |
|
zenix
|
1ca79db4e5
|
fix: volume profile
|
2022-12-22 13:35:04 +09:00 |
|
zenix
|
2811dbb580
|
fix: tsi, add test
|
2022-12-22 11:55:17 +09:00 |
|
zenix
|
75caa6565e
|
feature: add sar indicator
|
2022-12-22 11:55:17 +09:00 |
|
zenix
|
c0f82977b0
|
feature: add psar
|
2022-12-22 11:55:17 +09:00 |
|
zenix
|
2b62616513
|
doc: add description about indicators generated by chatgpt
|
2022-12-22 11:55:17 +09:00 |
|
zenix
|
38461167ba
|
feature: add tsi and klinger oscillator, fix wdrift div 0 issue
|
2022-12-22 11:55:17 +09:00 |
|
c9s
|
441e5d867b
|
grid2: add todo mark
|
2022-12-20 17:34:20 +08:00 |
|
c9s
|
f92ba9cbf1
|
grid2: implement recover func loading
|
2022-12-20 17:33:53 +08:00 |
|
c9s
|
130cf2468d
|
types: implement lookup method
|
2022-12-20 17:33:40 +08:00 |
|
c9s
|
330be79ec6
|
grid2: add recoverGrid
|
2022-12-20 15:56:38 +08:00 |
|
Yo-An Lin
|
2b20ff4da9
|
Merge pull request #1027 from andycheng123/strategy/linregmaker
Strategy: LinReg Maker
|
2022-12-20 14:55:48 +08:00 |
|
c9s
|
756bfe2402
|
types: print message body when message parse error
|
2022-12-19 19:00:35 +08:00 |
|
c9s
|
30f471db00
|
binance: fix execution report parsing
|
2022-12-19 19:00:14 +08:00 |
|
c9s
|
6f2664b03e
|
grid2: fix test for orderTag
|
2022-12-19 18:51:39 +08:00 |
|
c9s
|
811be78933
|
grid2: update log message
|
2022-12-17 11:57:32 +08:00 |
|
Andy Cheng
|
d5e37f03e2
|
feature/dynamic_*: move dynamic_* to risk/dynamicrisk package
|
2022-12-16 11:51:52 +08:00 |
|
c9s
|
fa73b0e7f7
|
grid2: add warning message
|
2022-12-15 19:20:15 +08:00 |
|
c9s
|
bbc47bb63a
|
grid2: remove todo item
|
2022-12-15 19:06:34 +08:00 |
|
c9s
|
78f10212b9
|
grid2: fix base fee format
|
2022-12-15 18:57:21 +08:00 |
|
c9s
|
fcd7a20b78
|
bbgo,grid2: add place order error log
|
2022-12-15 18:54:02 +08:00 |
|
c9s
|
051aa19989
|
grid2: add newOrderUpdateHandler and send profit to notification
|
2022-12-15 18:47:45 +08:00 |
|
c9s
|
c2133a1712
|
grid2: call bbgo sync api to sync profit stats
|
2022-12-15 18:42:25 +08:00 |
|
c9s
|
1964763f58
|
grid2: add more logs
|
2022-12-15 18:41:04 +08:00 |
|
c9s
|
a340cd321b
|
max: add submit order limiter
|
2022-12-15 18:38:57 +08:00 |
|
c9s
|
ac8186d43d
|
grid2: debug submitOrder before sending them to the api
|
2022-12-15 18:30:28 +08:00 |
|
c9s
|
bc8d7e9968
|
grid2: add skipSpreadCheck option
|
2022-12-15 18:09:43 +08:00 |
|
Andy Cheng
|
e39b94cf51
|
bbgo/standard_indicator_set: embed BOLL's SMA initialization into the constructor literal
|
2022-12-15 17:50:05 +08:00 |
|
c9s
|
c0598a05f6
|
grid2: add slack attachment footer
|
2022-12-15 17:47:34 +08:00 |
|
Andy Cheng
|
095eb9c134
|
feature/dynamic_exposure: undo move dynamic_exposure and dynamic_spread
|
2022-12-15 17:25:56 +08:00 |
|
Andy Cheng
|
754f8da5d4
|
strategy/linregmaker: move private fields to the end of the struct
|
2022-12-15 17:23:43 +08:00 |
|
Andy Cheng
|
5b017cd361
|
feature/dynamic_spread: rename DynamicSpreadAmp to DynamicAmpSpread
|
2022-12-15 17:12:04 +08:00 |
|
Andy Cheng
|
5c7c125c99
|
feature/dynamic_spread: move to risk package
|
2022-12-15 17:09:47 +08:00 |
|
Andy Cheng
|
4c98bed76f
|
feature/dynamic_quantity: add comment for getQuantity()
|
2022-12-15 17:08:36 +08:00 |
|
Andy Cheng
|
1002c13062
|
feature/dynamic_exposure: move to risk package
|
2022-12-15 17:08:35 +08:00 |
|
c9s
|
19478b1fbc
|
grid2: add profit stats since field
|
2022-12-15 15:39:48 +08:00 |
|
c9s
|
a7c8da7e88
|
grid2: add SlackAttachment on profit stats
|
2022-12-15 15:39:16 +08:00 |
|
c9s
|
7a35a652c3
|
grid2: add SlackAttachment on grid profit
|
2022-12-15 15:33:26 +08:00 |
|
c9s
|
a6a4be9878
|
grid2: sync order tag
|
2022-12-15 14:58:50 +08:00 |
|
c9s
|
16df170ca3
|
grid2: pull out order tag
|
2022-12-15 14:58:50 +08:00 |
|
c9s
|
aa4130ed30
|
grid2: add PlainText method on GridProfit struct
|
2022-12-15 14:58:31 +08:00 |
|
c9s
|
532d474564
|
grid2: pull out processFilledOrder method
|
2022-12-15 14:57:25 +08:00 |
|
Andy Cheng
|
8b1d19124f
|
strategy/linregmaker: allow using amount for order qty calculation
|
2022-12-14 14:42:56 +08:00 |
|
Andy Cheng
|
d510c37e91
|
improve/dynamic_quantity: fix dynamic qty logic
|
2022-12-14 12:28:39 +08:00 |
|
Andy Cheng
|
2b8a5fe755
|
strategy/linregmaker: fix faster decrease logic
|
2022-12-14 11:52:15 +08:00 |
|
Andy Cheng
|
2ecdae6530
|
strategy/linregmaker: remove wrong test file
|
2022-12-13 17:49:31 +08:00 |
|
Andy Cheng
|
c6f9b0feed
|
strategy/linregmaker: update config
|
2022-12-13 17:37:47 +08:00 |
|
Andy Cheng
|
ff334ca13d
|
strategy/linregmaker: calculated allowed margin when leveraged
|
2022-12-13 17:16:30 +08:00 |
|
Andy Cheng
|
30f3ef2180
|
strategy/linregmaker: add more tg notification
|
2022-12-13 12:12:46 +08:00 |
|
Andy Cheng
|
79dcda5f52
|
strategy/linregmaker: add more trend reverse logs
|
2022-12-13 11:06:18 +08:00 |
|
Andy Cheng
|
a6956e50b7
|
strategy/linregmaker: add more logs
|
2022-12-12 18:23:49 +08:00 |
|
c9s
|
d83feec9ec
|
cmd: add log message for rollbar token
|
2022-12-12 17:37:40 +08:00 |
|
c9s
|
c8098b414b
|
cmd: add rollbar support
|
2022-12-12 17:18:40 +08:00 |
|
c9s
|
df6a34f5af
|
binanceapi: adjust http timeout to 10s
|
2022-12-09 21:30:33 +08:00 |
|
c9s
|
096defc331
|
add test flag and disable lfs in test
|
2022-12-09 17:34:24 +08:00 |
|
c9s
|
6c0cc71c1c
|
binance: avoid using fromId and timeRange at the same time
|
2022-12-09 17:28:06 +08:00 |
|
c9s
|
ae678d1b3b
|
binance: add workaround for the myTrades api
|
2022-12-09 17:09:03 +08:00 |
|
c9s
|
85097840f1
|
binance: replace /api/v3/myTrades api
|
2022-12-09 16:44:27 +08:00 |
|
c9s
|
b515c24505
|
grid2: add earnBase test case
|
2022-12-07 14:48:51 +08:00 |
|
c9s
|
120a22f0cd
|
grid2: add compound mode order test
|
2022-12-07 14:42:06 +08:00 |
|
c9s
|
9d24540826
|
grid2: add order executor mock for testing reverse order
|
2022-12-07 14:19:49 +08:00 |
|
c9s
|
9215e401d0
|
grid2: fix quantity, amount, quoteInvestment validation
|
2022-12-07 12:29:14 +08:00 |
|
c9s
|
df6187dc98
|
grid2: remove default fee rate
|
2022-12-07 12:25:30 +08:00 |
|
c9s
|
489b025702
|
grid2: refactor check spread
|
2022-12-07 12:24:52 +08:00 |
|
c9s
|
02bebe8ed1
|
grid2: use min quantity instead of max quantity
|
2022-12-07 11:44:22 +08:00 |
|
c9s
|
e1e521cec5
|
grid2: add comment to the minimal quote investment test
|
2022-12-06 16:38:12 +08:00 |
|
c9s
|
46d1207adb
|
grid2: fix TestStrategy_checkMinimalQuoteInvestment
|
2022-12-06 16:37:12 +08:00 |
|
c9s
|
b0381fd927
|
grid2: pull out debugGridOrders func
|
2022-12-06 16:35:52 +08:00 |
|
c9s
|
b8e5bf1ddd
|
grid2: add test case for testing checkMinimalQuoteInvestment
|
2022-12-06 16:09:46 +08:00 |
|
c9s
|
47759236e0
|
grid2: improve log
|
2022-12-06 15:57:03 +08:00 |
|
c9s
|
0cf43ffb11
|
grid2: pull out aggregateTradesQuantity func
|
2022-12-06 15:57:03 +08:00 |
|
c9s
|
b4e403d632
|
grid2: remove fee check from verifyOrderTrades
|
2022-12-06 15:57:03 +08:00 |
|
c9s
|
423fe521b6
|
grid2: add build tag for backtest_test
|
2022-12-06 15:57:03 +08:00 |
|
c9s
|
482b6f5e7b
|
grid2: add test case for aggregateOrderBaseFee Retry
|
2022-12-06 15:46:21 +08:00 |
|
c9s
|
3d0cfd16b5
|
grid2: add test case for aggregateOrderBaseFee
|
2022-12-06 15:46:21 +08:00 |
|
c9s
|
555d2c5046
|
mocks: add mocks
|
2022-12-06 15:46:20 +08:00 |
|
c9s
|
c6ce223a13
|
all: refactor backtest functions so that we can run backtest in test
|
2022-12-06 13:16:12 +08:00 |
|
c9s
|
846695e632
|
grid2: add retry to orderQuery
|
2022-12-06 11:56:30 +08:00 |
|
c9s
|
75521352a9
|
grid2: pull out aggregateOrderBaseFee
|
2022-12-06 11:48:32 +08:00 |
|
c9s
|
68e7d0ec24
|
grid2: add doc comment for gridNumber
|
2022-12-06 10:47:19 +08:00 |
|
c9s
|
402b625126
|
grid2: add stringer method on gridProfit
|
2022-12-06 10:06:58 +08:00 |
|
c9s
|
e29f3c50e8
|
grid2: calculate TotalFee
|
2022-12-06 10:05:43 +08:00 |
|
c9s
|
d1f3d201ef
|
grid2: add todo in the test
|
2022-12-06 02:40:22 +08:00 |
|
c9s
|
2a22866d55
|
grid2: inject strategy into user config and run backtest
|
2022-12-06 02:40:22 +08:00 |
|
c9s
|
d9e230a433
|
grid2: add TestBacktestStrategy skeleton for backtesting in unit test
|
2022-12-06 02:40:22 +08:00 |
|
c9s
|
35297b9bbf
|
bbgo: fix backtesting flag setter
|
2022-12-06 02:40:22 +08:00 |
|
c9s
|
aa5f2a032a
|
grid2: call TruncatePrice on profitSpread
|
2022-12-06 02:13:32 +08:00 |
|
c9s
|
dd591c936f
|
grid2: add min order quantity protection
|
2022-12-06 02:07:05 +08:00 |
|
c9s
|
fc80cfb714
|
grid2: fix quote investment calculation for profit spread
|
2022-12-06 01:57:33 +08:00 |
|
c9s
|
e7ff7a49db
|
grid2: fix calculateQuoteInvestmentQuantity for profitSpread
|
2022-12-06 01:51:50 +08:00 |
|
c9s
|
7e0ac66ea1
|
grid2: fix calculateQuoteBaseInvestmentQuantity grid calculation
|
2022-12-06 01:21:41 +08:00 |
|
c9s
|
541c0e76b5
|
grid2: consider profitSpread in calculateQuoteBaseInvestmentQuantity
|
2022-12-06 01:19:24 +08:00 |
|
c9s
|
a8c957fc8d
|
grid2: fix profit spread behavior and tests
|
2022-12-06 01:17:29 +08:00 |
|
c9s
|
bee528c7c5
|
grid2: set enable prune for trade history
|
2022-12-06 00:55:08 +08:00 |
|
c9s
|
a6205e0d1d
|
bbgo: add EnablePrune option
|
2022-12-06 00:28:38 +08:00 |
|
c9s
|
beb862be44
|
bbgo: add TradeStore prune func and its tests
|
2022-12-06 00:15:09 +08:00 |
|
c9s
|
6408224663
|
bbgo: add TradeStore prune
|
2022-12-05 23:54:20 +08:00 |
|
c9s
|
79733b963b
|
grid2: fix take profit handler
|
2022-12-05 23:42:03 +08:00 |
|
c9s
|
9be3c79f8a
|
grid2: handle take profit
|
2022-12-05 19:46:08 +08:00 |
|
c9s
|
a67d01e821
|
grid2: fix log format
|
2022-12-05 19:43:58 +08:00 |
|
c9s
|
c4544cf8b2
|
grid2: improve debug logging
|
2022-12-05 19:42:36 +08:00 |
|
c9s
|
8e3bfe8499
|
grid2: consider base sell quantity reduction
|
2022-12-05 19:37:42 +08:00 |
|
c9s
|
fae61bd91f
|
grid2: narrow down orderQueryService support checking
|
2022-12-05 19:31:44 +08:00 |
|
c9s
|
5d441e3efe
|
grid2: collect fees and check if we need to reduce the quantity for sell
|
2022-12-05 19:30:06 +08:00 |
|
c9s
|
16224583ff
|
grid2: add historicalTrades store
|
2022-12-05 19:23:39 +08:00 |
|
c9s
|
5c83044297
|
bbgo: let tradeStore be able to collect trades from stream
|
2022-12-05 19:23:27 +08:00 |
|
c9s
|
537e9e14ec
|
add GetOrderTrades method to TradeStore
Signed-off-by: c9s <yoanlin93@gmail.com>
|
2022-12-05 19:00:39 +08:00 |
|
c9s
|
fcf8613319
|
grid2: fix feeRate var
|
2022-12-05 18:15:54 +08:00 |
|
c9s
|
f727f314e6
|
grid2: add FeeRate configuration for checking profit spread
|
2022-12-05 18:15:30 +08:00 |
|
c9s
|
4bba5510dd
|
grid2: position reset should reset the total fee
|
2022-12-05 18:11:44 +08:00 |
|
c9s
|
5be140de0e
|
grid2: improve sell,buy price calculation
|
2022-12-05 15:19:24 +08:00 |
|
c9s
|
27b42db3d7
|
grid2: add test case for enough base investment
|
2022-12-05 11:23:21 +08:00 |
|
c9s
|
6df4a3c319
|
grid2: add TestStrategy_generateGridOrders
|
2022-12-05 11:21:07 +08:00 |
|
c9s
|
0b824a09fc
|
grid2: fix tests
|
2022-12-05 00:47:08 +08:00 |
|
c9s
|
076ec3b3c2
|
grid2: pull out grid order generation
|
2022-12-05 00:20:18 +08:00 |
|
c9s
|
002ce1958e
|
grid2: add omitempty to struct tag
|
2022-12-04 21:44:03 +08:00 |
|
c9s
|
19e0a20c67
|
grid2: fill fixedpoint.Zero for stats
|
2022-12-04 21:43:40 +08:00 |
|
c9s
|
ec6b170f01
|
grid2: add more log messages for stop loss
|
2022-12-04 21:09:39 +08:00 |
|
c9s
|
3b821c8b58
|
grid2: fix order price shifting
|
2022-12-04 21:06:52 +08:00 |
|
c9s
|
8d78399335
|
grid2: fix order shifting
|
2022-12-04 19:48:12 +08:00 |
|
c9s
|
efcfcf7c18
|
grid2: add position reset
|
2022-12-04 18:42:03 +08:00 |
|
c9s
|
a5e6173038
|
grid2: fix openGrid method
|
2022-12-04 18:33:28 +08:00 |
|
c9s
|
943912f6bf
|
grid2: add grid order debug logs
|
2022-12-04 18:32:17 +08:00 |
|
c9s
|
ea34b3a962
|
grid2: another fix
|
2022-12-04 18:28:34 +08:00 |
|
c9s
|
01b013fcc7
|
grid2: fix trigger price check for onStart handler
|
2022-12-04 18:27:21 +08:00 |
|
c9s
|
bce004106c
|
grid2: check price
|
2022-12-04 18:21:43 +08:00 |
|
c9s
|
9d62720111
|
grid2: add log for trigger price
|
2022-12-04 18:17:05 +08:00 |
|
c9s
|
4f3a160bbf
|
grid2: add stopLossPrice handler
|
2022-12-04 18:01:58 +08:00 |
|
c9s
|
bec1103a64
|
grid2: add more parameters to the test strategy
|
2022-12-04 17:36:35 +08:00 |
|
c9s
|
5344b3d768
|
grid2: add TestStrategy_calculateProfit test
|
2022-12-04 17:35:35 +08:00 |
|
c9s
|
427daba6d0
|
grid2: change fee rate validation
|
2022-12-04 15:56:35 +08:00 |
|
c9s
|
bbab8728e3
|
grid2: add orderQueryService for querying order trades
|
2022-12-04 15:43:27 +08:00 |
|
c9s
|
813f9c45a7
|
grid2: add order object into the profit structure
|
2022-12-04 15:24:59 +08:00 |
|
c9s
|
a8fe55c284
|
grid2: push profit into stats
|
2022-12-04 15:24:13 +08:00 |
|
c9s
|
bc4c22f633
|
grid2: pull out quoteQuantity
|
2022-12-04 15:15:16 +08:00 |
|
c9s
|
bf62fb7d2d
|
grid2: calculate grid profit
|
2022-12-04 15:01:52 +08:00 |
|
c9s
|
9506516ea3
|
grid2: add grid profit stats to the strategy
|
2022-12-04 14:45:04 +08:00 |
|
c9s
|
8d601a6cb4
|
grid2: add exchange session field
|
2022-12-04 14:24:04 +08:00 |
|
c9s
|
dc2ce372c4
|
grid2: reset grid field when it's closed
|
2022-12-04 14:23:00 +08:00 |
|
c9s
|
0ea6dfb158
|
grid2: add triggerPrice protection
|
2022-12-04 14:22:11 +08:00 |
|
c9s
|
5148fadf67
|
types: remove duplciated klineCallback type
|
2022-12-04 14:22:01 +08:00 |
|
c9s
|
7abc799da4
|
grid2: make openGrid and closeGrid as private method
|
2022-12-04 13:04:14 +08:00 |
|