Andy Cheng
f673fc30ad
strategy: rename GenerateTrailingStopOrder() to GenerateStopOrder() in support strategy
2022-02-06 17:47:13 +08:00
Andy Cheng
2a8938fce0
re-indent with tabs
2022-02-06 17:47:13 +08:00
Andy Cheng
66b042fea7
strategy: trailing stop TP for support strategy
2022-02-06 17:47:11 +08:00
c9s
bf8558e9ad
bollmaker: add BuyBelowNeutralSMA option
2022-02-01 01:40:51 +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
eb5064ccfe
bollmaker: separate bidSpread and askSpread
2022-01-31 01:11:30 +08:00
c9s
2e7621ca55
add BidSpread and AskSpread
2022-01-31 01:08:33 +08:00
c9s
701e80d0d8
bollmaker: pull out trailing stop order logics into SmartStops struct
2022-01-31 01:07:00 +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
e1fc0e7b8d
bollmaker: remove redundant log and fix return
2022-01-30 02:00:42 +08:00
c9s
20938895a8
bollmaker: merge skip condition
2022-01-30 01:40:33 +08:00
c9s
a185f3fdbe
bollmaker: improve trailing stop order log
2022-01-30 01:37:36 +08:00
c9s
9adc3a9243
bollmaker: always collect trades and check balance
2022-01-30 01:21:36 +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
584dd3e279
bollmaker: add TradeInBand option
2022-01-28 01:29:12 +08:00
c9s
f49b7165d8
bollmaker: fix MinNotional adjustment
2022-01-27 19:56:10 +08:00
c9s
a6cbb2fb2d
bollmaker: rewrite trend detection
2022-01-27 18:51:51 +08:00
c9s
4f6e04323f
bollmaker: add more logs
2022-01-27 02:25:23 +08:00
c9s
aea8f97ab9
bollmaker: add Test_calculateBandPercentage test
2022-01-27 02:22:26 +08:00
c9s
f9d650cd23
bollmaker: add DynamicExposurePositionScale
2022-01-27 02:04:57 +08:00
c9s
49f671ef54
add PercentageScale and its tests
2022-01-27 01:40:54 +08:00
c9s
e82379a668
bollmaker: add QuantityOrAmount struct
2022-01-27 01:10:39 +08:00
c9s
9bdc05b69c
strategy/grid: use background context for canceling orders
2022-01-19 18:26:57 +08:00
c9s
9953a30717
xgap: fix subscribe interval
2022-01-19 13:08:50 +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
a68ad20ddc
bollmaker: add shadow protection
2022-01-16 04:06:19 +08:00
c9s
1e370ff244
bollmaker: collect trades before we shutdown
2022-01-16 01:27:28 +08:00
c9s
898204f5fa
bollmaker: adjust quantity to met the min notional condition before we submit
2022-01-16 01:15:34 +08:00
c9s
fd4a3bb000
bollmaker: remove unused cancelOrders function
2022-01-16 01:08:50 +08:00
austin362667
904e7c03ad
strategy: cleanup funding strategy
...
strategy: cleanup funding strategy
2022-01-15 08:28:02 +08:00
austin362667
d0e26c66e4
strategy: add funding strategy
2022-01-15 08:28:02 +08:00
c9s
93722e6db3
implement position closer interaction
2022-01-15 02:52:46 +08:00
c9s
317d8e9d49
xgap: add minSpread option
2022-01-14 12:49:46 +08:00
Yo-An Lin
e797e597b1
Merge pull request #435 from jessy1092/fix/correct-bollmaker-params
...
fix: Correct uptrendSkew and downtrendSkew parameters setting on bollmaker strategy
2022-01-14 12:18:18 +08:00
c9s
eef14fa950
xgap: add jitter
2022-01-14 12:03:29 +08:00
c9s
1f6076ae18
plus a quantity jitter
2022-01-14 11:59:40 +08:00
Lee
965fc6989d
fix: Correct uptrendSkew and downtrendSkew parameters setting on bollmaker strategy
2022-01-13 23:06:23 +08:00
c9s
dc6d60216b
types: fix order book copy
2022-01-13 11:09:50 +08:00
c9s
98247385f9
xmaker: use GracefulCancel to cancel active orders
2022-01-13 11:01:46 +08:00
c9s
5cc3a88911
xmaker: show order book last update time
2022-01-12 22:11:28 +08:00
c9s
c3356fa694
types: add test for PriceHeartBeat
2022-01-12 14:42:11 +08:00
c9s
5755c44845
move PriceHeartBeat to types
2022-01-12 14:33:55 +08:00
c9s
420e221f5b
xmaker: pull out PriceHeartBeat
2022-01-12 12:14:51 +08:00
c9s
7195c6ed27
xmaker: add price quoting protection
2022-01-12 11:55:45 +08:00
c9s
940c675cae
xmaker: add rate limit hit alert
2022-01-11 22:48:28 +08:00
c9s
081a143ec0
xmaker: add DepthQuantity
2022-01-11 22:47:40 +08:00
c9s
70dec09f26
xmaker: fix minQuantity buffer
2022-01-10 23:17:19 +08:00
c9s
b26141ac1f
support: set default s.triggerEMA
2022-01-10 13:51:14 +08:00
c9s
b56e988fc9
support: fix triggerEMA check
2022-01-10 13:49:36 +08:00
c9s
3907f99e70
xmaker: keep rate reservation token
2022-01-10 12:25:13 +08:00
c9s
1b27c4e9c4
remove hedge error limiter
2022-01-09 23:45:46 +08:00
c9s
9ca4e23aaf
add strategy documentation
2022-01-09 22:43:49 +08:00
c9s
bba4e86fdf
bollmaker: adjust default skew parameter
2022-01-09 22:37:27 +08:00
c9s
b98777afe4
bollmaker: pull out skew options
2022-01-09 22:32:23 +08:00
c9s
d94cc2df31
bbgo: add recover callbacks to trace collector
2022-01-09 15:39:59 +08:00
c9s
6ce8edba7d
xmaker: add error rate limiter
2022-01-09 11:33:34 +08:00
c9s
471a1b2baa
xmaker: adjust minimal quantity and minimal notional threshold
2022-01-09 10:18:31 +08:00
c9s
cd340bd596
bollmaker: check s.MaxExposurePosition
2022-01-09 03:03:54 +08:00
c9s
0cec652f38
bollmaker: skip submitOrder calls if submitOrders is empty
2022-01-09 02:35:12 +08:00
c9s
656ef942e4
bollmaker: add disable short option
2022-01-09 02:24:10 +08:00
c9s
4df5847647
bollmaker: add quantity scaling for closing position
2022-01-09 01:57:51 +08:00
c9s
4cdb5b607b
rename bollpp to bollmaker
2022-01-09 01:20:47 +08:00
c9s
7e2acdc416
all: add lock protected GetBase method for Position
2022-01-09 00:35:45 +08:00
c9s
9b92c8948d
xmaker: fix quantity truncation and add check for min quantity n min notional
2022-01-09 00:30:18 +08:00
c9s
cb189d885c
fix backtest for limit maker order and bollpp strategy
2022-01-08 02:18:44 +08:00
c9s
f4ebae17bb
xmaker: when recover the trade, notify
2022-01-07 13:13:57 +08:00
c9s
a49d001c29
xmaker: add trade scanner
2022-01-07 01:03:12 +08:00
c9s
41574a2390
xmaker: use millisecond jitter from the util package
2022-01-07 00:14:24 +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
1d5406ef21
xmaker: always update maker market
2022-01-06 23:27:06 +08:00
c9s
c8bf85f4e2
xmaker: improve pips
2022-01-05 11:34:07 +08:00
c9s
e997220321
xmaker: fix ask pips
2022-01-05 11:32:56 +08:00
c9s
6ff24e713e
xmaker: fix notification format
2022-01-01 01:34:48 +08:00
c9s
6055f90680
xmaker: add cover and uncover logs
2021-12-31 15:26:51 +08:00
c9s
1116fc1de1
session: print klines only when debug-kline is enabled
2021-12-31 15:13:26 +08:00
c9s
899e8d2d58
Revert "xmaker: fix s.state.CoveredPosition.AtomicAdd add"
...
This reverts commit 5999dc1151
.
2021-12-31 14:23:02 +08:00
c9s
5999dc1151
xmaker: fix s.state.CoveredPosition.AtomicAdd add
2021-12-31 02:00:39 +08:00
c9s
aaa52ecea4
xmaker: remove unsued localTimeZone var
2021-12-31 01:53:30 +08:00
c9s
f78a7d37a2
xgap: subscribe 1m kline
2021-12-28 02:14:49 +08:00
c9s
8f4ae1e15b
xgap: check balance and adjust order quantity according to the available balance
2021-12-28 02:11:11 +08:00
c9s
958dd97f52
xgap: add SimulateVolume
2021-12-28 01:48:24 +08:00
c9s
1fa03cdfd6
xmaker: add back profit function
2021-12-27 02:59:55 +08:00
c9s
f7c39290a0
call tradeCollector process to check trades
2021-12-27 00:51:57 +08:00
c9s
dcdf33e2c9
xmaker: pull out notifyTrade to a single callback
2021-12-27 00:12:35 +08:00
c9s
65da02af2c
xmaker: call TruncateQuantity when the quantity is adjusted
2021-12-26 15:45:39 +08:00
c9s
902e27ede4
xmaker: truncate quantity when hedging
2021-12-26 15:44:41 +08:00
c9s
05a0745d08
fix InitExchange for publicOnly session
2021-12-26 15:29:42 +08:00
c9s
30a7ca1ce1
rename gap to xgap
2021-12-26 15:13:51 +08:00
c9s
1c54e59d55
xmaker: fix trade handling
2021-12-26 12:10:10 +08:00
なるみ
4a8be9cc1a
Fix log
2021-12-22 02:04:44 +08:00
なるみ
2999e41ef0
Validate config
2021-12-22 01:59:38 +08:00
なるみ
41d4001872
Add log
2021-12-22 01:59:25 +08:00
Yo-An Lin
1ab20e6397
Merge pull request #381 from narumiruna/maxamount
...
strategy: rebalance: adjust quantity by max amount
2021-12-21 20:20:44 +08:00
なるみ
531805a449
Adjust quantity by max amount
2021-12-20 23:46:22 +08:00
Andy Cheng
e4bdb1de06
strategy: allow setting the interval and the window for trigger MA
2021-12-19 18:28:47 +08:00
Andy Cheng
d281182432
strategy: fix support strategy criteria
2021-12-19 17:53:34 +08:00
Yo-An Lin
d531e041dd
Merge pull request #357 from narumiruna/rebalance
...
feature: add portfolio rebalancing strategy
2021-12-14 12:01:07 +08:00
なるみ
f320d78f2f
Refactor
2021-12-14 02:18:08 +08:00
なるみ
f494a0f514
Initial commit of rebalance strategy
2021-12-13 05:19:44 +08:00
austin362667
1703fff8b2
types: refactor Position and related files
2021-12-11 19:16:16 +08:00
c9s
ca85aa69e6
pull out global premium index type and funding rate type
2021-12-09 00:10:18 +08:00
c9s
1de4e5ee4c
grid: fix parameter checking for fixed amount
2021-12-07 15:37:37 +08:00
c9s
85bb9f214e
grid: disable trade marking
2021-12-06 01:34:08 +08:00
TonyQ
056afb577c
fix generateGridSellOrders with ProfitSpread for begining
2021-11-30 11:55:00 +08:00
c9s
513a799ced
fix ewma calculation
2021-11-22 02:14:44 +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
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
6002a958d2
grid: fix format error
2021-11-04 13:08:38 +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
c9s
6cb593cd90
techsignal: use realtime funding rate
2021-10-20 14:01:19 +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
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
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
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
77e7f814d9
support: refactor PercentageTargetStop logics
2021-10-15 16:10:57 +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
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
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
e2f58d0466
xmaker: use report ticker to report profit stats
2021-10-14 08:53:44 +08:00
c9s
d3fa0a964b
bbgo: add slack attachment support for profit
2021-10-14 01:27:50 +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
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
45645d0a3d
use the profit struct to pass profit info
2021-10-08 19:16:40 +08:00
c9s
d058125f78
bbgo: refactor profit stats
2021-10-08 14:57:44 +08:00
c9s
9e93cd66de
strategy: update trade collector api
2021-10-08 13:24:14 +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
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
193961c4e0
add bpp strategy
2021-10-07 16:39:20 +08:00
c9s
1bc36b17ff
xbalance: add verbose flag
2021-09-03 14:25:26 +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
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
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
490eb15748
schedule: fix order notification
2021-08-16 12:11:15 +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
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
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
990da5ad3b
xbalance: add foreign fee for withdrawal
2021-06-09 01:37:33 +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
b60fd9e356
support: fix quantity formatting
2021-06-07 00:57:47 +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
69e76485c5
xbalance: fix ticker usage
2021-05-30 18:06:31 +08:00
c9s
38fd5422ab
xmaker: use uncovered position
2021-05-30 14:46:48 +08:00
c9s
9a68cfd288
xmaker: fix trade checking
2021-05-30 00:11:35 +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
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
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
45f1a13870
rename Stream field to UserDataStream and add MarketDataStream
2021-05-27 14:45:06 +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
c9s
117b26840e
show net profit margin percentage
2021-05-23 01:17:20 +08:00
c9s
9b9643e1f9
improve order cancellation mechanisim
2021-05-22 17:44:20 +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
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
c9s
1c19c02206
xmaker: fix order submission
2021-05-17 21:33:55 +08:00
c9s
f6f1226bd0
integrate bollband indicator into xmaker
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
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
e7c718ee15
assign fee rate to position
2021-05-16 17:58:51 +08:00
c9s
fad1e39bba
update state asset name for legacy caches
2021-05-16 01:22:55 +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
a582fdbfa7
xbalance: add jitter and notification messages
2021-05-15 10:42:16 +08:00
c9s
638cc40516
fix notification arguments
2021-05-15 09:59:17 +08:00
c9s
a2bcfc8630
fix bollgrid function call
2021-05-14 15:34:58 +08:00
c9s
abd6f4c7ef
rename bbgo.AdjustQuantityByMaxAmount to bbgo.AdjustFloatQuantityByMaxAmount
2021-05-14 14:53:26 +08:00
c9s
f69cbe9c31
add basic TwapExecution
2021-05-14 14:53:26 +08:00
c9s
c520cfa540
xmaker: fix price calculation
2021-05-14 14:53:26 +08:00
Larry850806
4b53b3c96a
bollgrid: generate the last order if balance is not enough
2021-05-12 20:45:54 +08:00
c9s
a49cf531b5
fix cross exchange order executor for the basic risk control
2021-05-12 19:02:09 +08:00
c9s
29b7326f19
add withdrawal property to the exchange session
2021-05-12 12:05:54 +08:00
c9s
9ff7b62123
add xbalance strategy
2021-05-12 01:21:40 +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
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
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
c9s
c1ea9ff9ed
xmaker: move cancel order calls to the go routine
2021-05-10 13:18:57 +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
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
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
2f326d0fed
xmaker: add interval jitter
2021-05-09 20:03:06 +08:00
c9s
74e01ce444
fix order waiting for graceful shutdown
2021-05-09 19:44:51 +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
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
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
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
858d6bdf05
grid: adjust callback registration ordering
2021-05-07 02:14:35 +08:00
Larry850806
f1309c46fc
bollgrid: check balance before submit reverse order
2021-05-03 16:18:58 +08:00
c9s
822a010932
add moving average configuration to the schedule strategy
2021-05-02 20:58:32 +08:00
c9s
20d673f769
add schedule strategy
2021-05-02 18:03:41 +08: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
c9s
13a8597d59
add MaxExposurePosition settings
2021-04-04 11:14:09 +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
c9s
c82df27cf3
grid: fix message format
2021-03-25 15:22:52 +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
5de221524f
adjust state and reset per day
2021-03-22 18:48:18 +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
865dda14f5
gap: accumulate fee
2021-03-22 17:32:22 +08:00
c9s
e86f29b7cc
add gap strategy
2021-03-22 17:32:21 +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
4e3f325bb6
first commit of xmaker strategy from mobydick
2021-03-21 12:55:33 +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
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
0e6918a352
grid: add profit field
2021-03-18 15:46:14 +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
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
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
2bf4a555ec
use OnStart instead of OnConnect
...
this is for avoiding re-connect issue
2021-03-15 18:04:55 +08:00
Larry850806
689734567a
Remove unused conditions when generating orders
2021-03-03 14:55:11 +08:00
c9s
da79920ca9
rename scale struct name to PriceVolumeScale
2021-02-28 14:51:24 +08:00
c9s
99f236d2e0
integrate quantity scale into support strategy and grid strategy
2021-02-28 11:57:25 +08:00
c9s
21a4669905
adjust max query limiter and sync before running trader
2021-02-22 16:54:08 +08:00
c9s
ff5233ba3e
support: use Notfiy
2021-02-20 10:51:01 +08:00
c9s
e3d3eacb78
fix trade service injection
2021-02-16 16:30:01 +08:00
c9s
0c9ca851e5
improve support strategy
2021-02-15 01:26:46 +08:00
c9s
f8378957ee
add more checks for bollgrid
...
related to #93
2021-02-13 16:03:31 +08:00
Yo-An Lin
de195b3c17
Merge pull request #130 from Larry850806/fix/bollgrid
2021-02-11 15:38:50 +08:00
Larry850806
ca31179b40
Fix balance calculation
2021-02-11 14:48:13 +08:00
c9s
4a0bd45301
remove order test code
2021-02-11 00:30:37 +08:00
c9s
88411a134b
add supportAndTargets strategy
2021-02-11 00:21:06 +08:00
c9s
4b66deec3d
subscribe RepostInterval as well
...
might be related to issue #93
2021-02-10 22:45:23 +08:00
c9s
061312771c
fix float formatting
2021-02-10 22:41:42 +08:00
Larry850806
9f6d9028fa
Use fixedpoint type to calculate the balance
2021-02-10 16:01:11 +08:00
Larry850806
6d399647cf
Remove unused functions
2021-02-10 11:37:37 +08:00
Larry850806
11a176145e
Refactor placeGridOrders into three functions
2021-02-10 11:37:33 +08:00
Larry850806
d22a8e9c63
Improve bollgrid strategy's balance check and quote calculation
2021-02-10 10:11:32 +08:00
c9s
ffb6a29d0d
fix startPrice value conversion
2021-02-08 13:21:22 +08:00
c9s
173074f5e4
improve grid strategy's balance check and quote calculation
2021-02-07 11:37:24 +08:00
c9s
367e9fcae1
fix price range check
2021-02-07 10:58:31 +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
84b6982033
add order store to exchange session
2021-01-24 14:14:25 +08:00
c9s
995f9a9ea0
grid: add order amount field
2021-01-06 13:31:17 +08:00
c9s
208c88cbd5
support single exchange trailingstop
2020-12-31 17:12:35 +08:00
c9s
87568ede70
reformat
2020-12-31 14:29:53 +08:00
c9s
395d3f17df
grid: add long mode support
2020-12-31 13:54:32 +08:00
c9s
45e4d8c558
rename movingstop to trailingstop
2020-12-31 13:07:39 +08:00
c9s
f485c1ba7f
fix grid strategy order placing
2020-12-29 18:18:32 +08:00
c9s
3eae58322a
add trade update callbacks and order update callbacks to order executor
2020-12-21 13:40:23 +08:00
c9s
e282a8a917
improve order submit loop
2020-12-17 17:54:48 +08:00
c9s
64dea71249
grid: use the default active order book order handler
2020-12-17 16:29:00 +08:00
c9s
6962582236
grid: add orders to the order store
2020-12-17 16:22:43 +08:00
c9s
9e1476dcb1
grid: improve position management by fixedpoint
2020-12-17 15:52:53 +08:00
c9s
572f7a0e12
buyandhold: remove kline event debug log
2020-12-14 14:59:46 +08:00
c9s
6d15c629a7
fix buyandhold strategy
2020-12-14 14:40:31 +08:00
c9s
cabd8f8dcb
improve buyandhold strategy
2020-12-14 14:21:02 +08:00
c9s
846f463cfc
print loaded position
2020-12-08 16:32:39 +08:00
c9s
03afa060d5
add updateInterval for mirrormaker
2020-12-08 16:01:46 +08:00
c9s
0222c33330
fix kline tail method
2020-12-08 10:26:20 +08:00
c9s
3aa8d70622
add mirrormaker
2020-12-07 23:04:09 +08:00
c9s
b188901ed0
fix ewma calculation
2020-12-05 13:32:41 +08:00
c9s
936650d879
rename kline trend to direction
2020-12-04 10:18:51 +08:00
c9s
976a4c6732
add verbose log message for movingstop
2020-12-03 16:46:02 +08:00
c9s
17fd6a405b
add StopPriceRatio support
2020-12-03 09:50:36 +08:00
c9s
19d76928fd
support movingstop by BalancePercentage
2020-12-03 09:41: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
2b264905f9
add warnings and fix subscription
2020-12-03 09:26:10 +08:00
c9s
9d7aa2fe22
add movingstop strategy
2020-12-03 08:52:32 +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
e8b5379202
bollgrid: add warn messages
2020-11-12 17:41:28 +08:00
c9s
2b6547df47
bollgrid: add profit orderbook for bolling grid
2020-11-12 17:38:13 +08:00
c9s
1a6f5b99ae
bollgrid: submit orders on connect
2020-11-12 16:31:09 +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
af8826a9e4
improve messages
2020-11-12 08:30:57 +08:00
c9s
6740541bcd
improve bollgrid
2020-11-12 08:28:59 +08:00
c9s
0264baa922
refactor and improve bollgrid
2020-11-11 23:18:53 +08:00
c9s
3912de235b
rename baseQuantity to just quantity
2020-11-11 17:55:44 +08:00
c9s
b2cd595069
grid: rename baseQuantity to just quantity
2020-11-11 17:55:16 +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
941c93794c
fix grid strategy for backtesting
2020-11-10 14:18:54 +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
0d8fa08171
add book Update method
2020-11-07 15:07:06 +08:00
c9s
1e925cac6e
move onConnect to the standard stream
2020-11-07 12:38:57 +08:00
c9s
94bb7f5dac
max: fix order symbol convertion
2020-11-07 12:19:57 +08:00
c9s
573a082391
add flashcrash strategy
2020-11-07 12:02:15 +08:00
c9s
5bdf5e0034
remove goroutine from the strategy
2020-11-06 11:01:19 +08:00
c9s
b86b74effb
fix max kline parsing
2020-11-05 15:04:56 +08:00
c9s
c54c0788ab
rewrite grid strategy trigger
2020-11-05 14:27:22 +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
1eb263de23
use AnyFilled to simplify the order management in the strategy
2020-10-31 20:38:20 +08:00
c9s
e264257d23
implement OrderMap and SyncOrderMap
2020-10-31 20:38:20 +08:00
c9s
a60207db2a
only re-submit the order when the order is filled on the opposite side
2020-10-31 18:33:04 +08:00
c9s
458fa8aa9d
add types.OrderStatusFilled
2020-10-31 18:29:58 +08:00
c9s
17a2f74add
finalize grid strategy
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
f0681177f9
inject market into the skeleton strategy
2020-10-29 17:06:34 +08:00
c9s
b0cc128b79
pull out trend types
2020-10-29 17:03:36 +08:00
c9s
a7325e86f0
document swing strategy
2020-10-29 13:42:53 +08:00
c9s
19b600bb35
simplify strategy registration api
2020-10-29 07:54:59 +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
d6553a1155
move strategy subscribe out
2020-10-28 17:49:49 +08:00
c9s
67446670ac
finalize swing strategy and fix trade reporter issue
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
e2df24f31c
support standard indicatorset
2020-10-28 09:43:19 +08:00
c9s
e1c2f7cc3d
improve notifier signatures and fix slack Notify method
2020-10-27 20:13:10 +08:00
c9s
ccc381143d
support pointer type filling
2020-10-27 19:33:11 +08:00
Yo-An Lin
1e5327a5e4
Update strategy.go
2020-10-27 15:51:36 +08:00
c9s
b3eaf832af
Add pricealert strategy for demonstrating notification
2020-10-27 13:54:39 +08:00
c9s
085d02bee4
clean up strategy code since we can loaded from the config
2020-10-26 22:04:48 +08:00
c9s
cd666fdf9e
pull out db parameter from the constructor
2020-10-26 15:06:39 +08:00
c9s
aa6ccbf905
refactor xpuremaker strategy
2020-10-26 10:08:58 +08:00
c9s
fbba9b12ce
xpuremaker: final clean up
2020-10-26 10:01:18 +08:00
c9s
145264aae4
cancel orders and re-submit maker orders
2020-10-26 00:26:17 +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
1e12de28da
Add xpuremaker skeleton
2020-10-25 18:32:46 +08:00
c9s
944b673626
Add skeleton strategy
2020-10-25 18:32:43 +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
fc687f3174
max: implement kline event parser for websocket
2020-10-19 22:46:34 +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
c224eb7af7
add kline to the market data store
2020-10-18 00:06:08 +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
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
6398f049d0
bind market data store and query avg price before we start
2020-10-12 22:46:06 +08:00