zenix
938dc3c497
feature: add serialmarketdatastore, add elliottwave strategy to replace ewoDgtrd, add active cancel on general order executor, add pca
2022-09-05 19:32:35 +09:00
Raphanus Lo
65cd17dbbb
bbgo: add G-H & Kalman filters to the standard indicator set
2022-09-05 17:13:50 +08:00
Larry Lu
269529afa4
Fix typo
2022-09-04 13:35:01 +08:00
c9s
5c8d2a019a
backtest: rename BackTest to Backtest
2022-09-02 14:16:16 +08:00
c9s
8cd646668a
bbgo: use enumer to generate enumer parser
2022-09-02 14:16:16 +08:00
c9s
3d32faff46
backtest: add fee mode config
2022-09-02 14:16:15 +08:00
c9s
51972e9e28
bbgo: fix indicator load key duplicate issue
2022-08-31 01:45:06 +08:00
c9s
8fcc3ee368
indicator: update pivot low and pivot high indicator
2022-08-31 01:44:38 +08:00
c9s
179a9b1ddb
fix: ensure that orders.tsv are rendered in local timezone
2022-08-26 19:09:11 +08:00
c9s
17ba1c142d
bbgo: fix support take profit field type
2022-08-26 18:12:42 +08:00
c9s
fb9a4994c0
bbgo: add supportTakeProfit method to the core exit methods
2022-08-26 18:11:45 +08:00
c9s
11854db51a
pivotshort: move SupportTakeProfit to the core api
2022-08-26 18:09:46 +08:00
c9s
a48471d4c8
pivotshort: refactor trend ema and stop ema
2022-08-26 17:52:46 +08:00
c9s
8b7f4c6222
bbgo: add ProtectiveStopLoss doc comment
2022-08-26 17:52:46 +08:00
c9s
09cc91bab8
bbgo: update VWMA and add VWMA to the indicator method
2022-08-24 17:45:43 +08:00
c9s
469c6bfb28
bbgo: move rightWindow to the IntervalWindow struct
2022-08-24 17:43:28 +08:00
c9s
d930065bea
bbgo: move stoch to the simple indicator set
2022-08-24 17:34:19 +08:00
c9s
8a020c34e3
bbgo: add package doc to bbgo
2022-08-24 16:54:31 +08:00
c9s
c86b29e6dc
all: resolve import cycle
2022-08-23 02:12:26 +08:00
zenix
2720ee90b1
fix: equation of exit dump
2022-08-18 17:38:27 +09:00
zenix
5e7ea71613
feature: withdraw print config functionality from drift to be a general function
2022-08-18 17:38:27 +09:00
c9s
df8a4bef93
bbgo: remove unused trade store symbol argument
2022-08-17 16:02:42 +08:00
zenix
da28750313
feature: dump parameter to tg, esp series, fix: order tag, position calculation and bp/sp of drift
2022-08-15 21:05:29 +09:00
zenix
6a4eec71d6
feature: create simpleinteract and remove command in notification
2022-08-15 21:03:48 +09:00
zenix
90e596f463
feature: send photo through telegram, register handler dynamically in strategy, fix canvas rendering
2022-08-15 21:03:14 +09:00
Andy Cheng
62d450b92d
Merge pull request #872 from andycheng123/fix/trailing-stop
...
fix: trailing stop properly works on both long and short positions
2022-08-11 17:37:07 +08:00
Andy Cheng
8527d4996e
trailingstop: add default case
2022-08-11 17:23:42 +08:00
Andy Cheng
8d3dfd17c7
trailingstop: add side both
2022-08-11 16:39:16 +08:00
Andy Cheng
6f2eb1688b
generalorderexecutor: retry submit/cancel order once
2022-08-11 13:49:16 +08:00
Andy Cheng
df0e527e1e
exits/trailingstop: properly works on both long and short positions
2022-08-11 13:36:31 +08:00
c9s
677b122964
bbgo: use types.KLineWith for roi take profit
2022-08-10 23:45:21 +08:00
Yo-An Lin
62aff676da
Revert "feature: add smart cancel to drift"
2022-08-09 16:25:36 +08:00
Yo-An Lin
55b4edc595
Merge pull request #853 from zenixls2/feature/smartcancel_drift
...
feature: add smart cancel to drift
2022-08-09 16:23:33 +08:00
Raphanus Lo
ed975b7ed9
Merge pull request #860 from COLDTURNIP/feature/exchange_order_amount_protection
...
exchange: order fee-amount protection
2022-08-09 15:01:53 +08:00
c9s
0283f2ad55
bbgo: fix doneTrades lock
2022-08-09 14:52:05 +08:00
zenix
45e819ebe7
feature: create simpleinteract and remove command in notification
2022-08-09 13:26:56 +09:00
zenix
4117a83cd1
feature: send photo through telegram, register handler dynamically in strategy, fix canvas rendering
2022-08-09 13:26:56 +09:00
Andy Cheng
ef18791c6a
Merge pull request #865 from andycheng123/fix/protective-stoploss
...
fix: protectivestoploss not working on long position
2022-08-09 12:15:33 +08:00
c9s
9867aa9c68
bbgo: add mutex protection to tradecollector
2022-08-09 11:37:44 +08:00
c9s
f191d3c091
bbgo: make position object optional for trade collector
2022-08-09 11:36:17 +08:00
c9s
cae8bc2882
bbgo: add mutli symbol support to active order book
2022-08-09 11:36:10 +08:00
Andy Cheng
6c2fc3fee0
exits/protectivestoploss: fix shouldStop()
2022-08-08 17:57:05 +08:00
Andy Cheng
b133767e47
exit/protectivestoploss: works in long position
2022-08-08 16:49:19 +08:00
Raphanus Lo
d76245cb43
exchange: adjust tests for order fee-amount protection
2022-08-02 15:12:14 +08:00
Raphanus Lo
ed7df4ddbe
exchange: order fee-amount protection
...
Reduce the order amount to prevent submit rejection because of balance exceeding.
submit_amount = original_amount / (1 + fee_rate)
Currently supported only by FTX Pro.
2022-08-02 13:35:24 +08:00
Andy Cheng
4bc70820c4
positionmodifier: move functions into types.Position
2022-07-29 14:40:54 +08:00
Andy Cheng
9588a6f6bd
positionupdater: update command flow
2022-07-29 13:45:33 +08:00
Andy Cheng
2724949678
positionupdater: update avaerage cost
2022-07-29 12:05:39 +08:00
Andy Cheng
32b91b67dd
positionupdater: update quote position
2022-07-29 12:00:11 +08:00
Andy Cheng
8c53c7e575
positionupdater: update base position
2022-07-29 11:52:20 +08:00
zenix
d46267aff9
feature: use ma for tp coefficient, rewrite trailing stop for drift, export all window param to yaml
2022-07-28 19:34:12 +09:00
c9s
93593ffa06
bbgo: add close position tag log
2022-07-28 10:27:04 +08:00
Yo-An Lin
3aeb6912c9
Merge pull request #846 from c9s/strategy/pivotshort
...
strategy/pivotshort: refactor breaklow + add fake break stop
2022-07-27 12:18:50 +08:00
c9s
7438798390
bbgo: add ClosedKLineStop trigger
2022-07-27 11:47:12 +08:00
Yo-An Lin
4fd571d712
Merge pull request #813 from zenixls2/feature/drift_study
...
feature: drift study
2022-07-27 11:29:48 +08:00
c9s
3fbc634d81
bbgo: narrow down indicator interface type
2022-07-27 02:21:25 +08:00
c9s
3959e288fd
all: refactor standard indicator helper and fix tests
2022-07-26 18:35:50 +08:00
c9s
0456cdc7a9
bbgo: add hull to the standard indicator
2022-07-26 18:27:22 +08:00
c9s
808d742efc
bbgo: add CCI helper
2022-07-26 18:07:43 +08:00
c9s
f5e64e8e70
bbgo: add ATR, ATRP, EMV to the standard indicator set
2022-07-26 18:07:43 +08:00
c9s
1d6b1de8ba
bbgo: rename standard indicator receiver name
2022-07-26 18:07:43 +08:00
c9s
46afc54559
bbgo: refactor standard indicator set
2022-07-26 18:07:43 +08:00
c9s
0df321c880
indicator: drop the legacy CalculateAndUpdate for standard indicators
2022-07-26 17:30:41 +08:00
zenix
a5039de6aa
feature: add omega ratio, print sharpe/omega/interval profit from trade_stats, use stdev for high/low diff for drift to estimate the variance and improve profit, add yaml marshal for dnum fixedpoint
2022-07-26 18:00:05 +09:00
zenix
f2d37650a5
fix: drift bias on long entry position condition, make cancel faster
2022-07-26 18:00:05 +09:00
zenix
6a9e00ebd4
fix: update drift strategy
2022-07-26 18:00:05 +09:00
c9s
83c8bc819a
all: drop the legacy smart stops
2022-07-26 12:08:47 +08:00
c9s
76def2fe9d
pull out AccountValueCalculator
2022-07-21 19:46:58 +08:00
c9s
763ae1f62f
bbgo: fix missing var
2022-07-21 12:36:26 +08:00
c9s
1079757833
bbgo: bind market data store to market data stream when allocating new instance
2022-07-21 12:35:38 +08:00
c9s
de62d9dd67
bbgo: fix injection
2022-07-21 12:33:29 +08:00
c9s
c78ba6a539
bbgo: fix strategy struct field injection phase
2022-07-21 12:18:09 +08:00
c9s
946fb96b03
bbgo: reformat
2022-07-21 01:32:09 +08:00
c9s
02c978b812
bbgo: remove volatility from the standard indicator set
2022-07-21 01:31:42 +08:00
c9s
9f937f529e
bbgo: refactor standard indicator
2022-07-21 01:05:08 +08:00
c9s
ab83805b34
bbgo: add StrategyShutdown interface
2022-07-19 17:13:35 +08:00
c9s
8af2f2f83f
add defaulter interface
2022-07-19 16:59:56 +08:00
c9s
808ba2fc02
bbgo: make slack-app-token optional
2022-07-19 11:41:49 +08:00
c9s
9302474d51
add 1m subscribe to RoiTakeProfit
2022-07-19 11:00:45 +08:00
c9s
6e4c28ed1b
disable marketTrade stop
2022-07-17 00:59:35 +08:00
c9s
2d0fbe4b99
fix ProtectiveStopLoss subscribe
2022-07-16 14:45:02 +08:00
c9s
2a3118a086
indicator: clean up and update calculator method names
2022-07-14 09:18:42 +08:00
Yo-An Lin
8119afbb44
Merge branch 'main' into strategy/pivotshort
2022-07-12 23:38:23 +08:00
c9s
5bd292d0b2
bbgo: add notify(profit)
2022-07-08 16:43:32 +08:00
c9s
81560746bd
all: reformat code
2022-07-07 02:26:39 +08:00
c9s
3131786c02
bbgo: fix trailing stop binding
2022-07-07 02:26:39 +08:00
c9s
74593720a7
add ExitMethodSet.Bind method
2022-07-07 02:26:39 +08:00
c9s
d2637ce261
trailing stop: apply ClosePosition parameter
2022-07-07 02:26:39 +08:00
c9s
b3e04a68da
bbgo: fix trailing stop binding
2022-07-06 21:50:38 +08:00
c9s
3d9db2786d
add trailing stop to the exit method
2022-07-06 10:56:10 +08:00
c9s
b49f12300c
add long position test for trailing stop
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-07-06 10:54:53 +08:00
c9s
03481000cc
reset activated flag when stop order is submitted
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-07-06 03:09:57 +08:00
c9s
2bc12c0522
add trailing stop and it's test cases with gomock
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-07-06 03:04:01 +08:00
c9s
4de5b0bc9b
add TrailingStop2
2022-07-05 16:10:55 +08:00
c9s
b643b8ed0d
fix LowerShadowTakeProfit kline filter condition
2022-07-05 12:15:31 +08:00
c9s
8ac21fa16e
fix LowerShadowTakeProfit kline filter condition
2022-07-05 12:14:53 +08:00
c9s
193703a9a0
all: use tradeStats constructor
2022-07-05 11:14:50 +08:00
c9s
ecd4df86f9
backtest: assign user data stream to backtest.Exchange before we call EmitStart
2022-07-04 02:21:14 +08:00
c9s
b158c44b95
fix profit stats notification
2022-07-01 17:32:40 +08:00
c9s
1af18a5fac
pivotshort: fix breakLow handle event
2022-07-01 15:30:06 +08:00
c9s
910c17a567
dynamic: implement CallWithMatch for dynamic calls
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-07-01 13:09:30 +08:00
c9s
a4af4776d2
pivotshort: use active orderbook to maintain the resistance orders
2022-07-01 00:57:19 +08:00
c9s
3e6b975c2c
pivotshort: refactor ResistanceShort entry method
2022-06-30 18:29:02 +08:00
c9s
6aa6e57d96
add ema condition to the lower shadow take profit
2022-06-30 17:42:23 +08:00
c9s
b15e8d0ce4
all: refactor exit method set and fix dynamic call/merge
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-06-30 15:49:18 +08:00
c9s
e2ab363e64
dynamic: add CallStructFieldsMethod for map struct field call
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-06-30 15:49:18 +08:00
c9s
527070d13d
all: rewrite and clean up graceful shutdown api
2022-06-30 15:49:18 +08:00
c9s
cf0ca70d24
move and rename isSymbolBasedStrategy
2022-06-30 15:49:18 +08:00
c9s
3013eeccc7
move dynamic stuff to the pkg/dynamic package
2022-06-30 15:49:18 +08:00
c9s
a74decc47d
add more test case for reflect
2022-06-30 15:49:18 +08:00
c9s
fa917b0b77
bbgo: implmenet reflectMergeStructFields so that we can merge field values
2022-06-30 15:49:17 +08:00
c9s
84083f56b7
bbgo: add ExchangeSession param to the subscribe method
2022-06-29 15:16:56 +08:00
c9s
cb1c5634a2
pivotshort: remove redundant notification
2022-06-29 15:14:24 +08:00
c9s
fc3e76204a
bbgo: add todo for the reflect Subscribe call
2022-06-29 02:03:00 +08:00
c9s
95c2711b0d
bbgo: call Subscribe method dynamically
2022-06-29 02:02:23 +08:00
c9s
16f2a06b1f
all: move exit methods to the bbgo core
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-06-29 01:58:15 +08:00
c9s
2784408b8b
add submit order tag
2022-06-27 18:17:57 +08:00
c9s
47677e303f
pivotshort: refactor take profit and stop loss methods
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-06-26 16:13:58 +08:00
c9s
2e49a95d32
bbgo: remove unused context object
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-06-25 17:02:53 +08:00
c9s
b25be3d702
add doc comments
2022-06-25 16:55:54 +08:00
c9s
751085f8ff
clean up todo comment
2022-06-24 19:24:49 +08:00
c9s
027f1f01cf
improve callID fallback for persistence
2022-06-22 15:19:30 +08:00
c9s
6ef54bf2fb
call bbgo.Sync to sync persistence
2022-06-22 13:46:03 +08:00
c9s
7c9ad535fd
bbgo: call global persistence facade to sync data
2022-06-21 14:32:43 +08:00
c9s
19d8013f49
bbgo: optimize order cancel for back-testing
2022-06-21 01:12:16 +08:00
c9s
58c819bd75
bbgo: pull out PersistenceServiceFacade to singleton
2022-06-21 01:05:13 +08:00
c9s
b6d1b4309b
refactor and update the support strategy
2022-06-19 15:57:59 +08:00
c9s
cb9ce753e2
strategy/bollmaker: refactor and clean up
2022-06-19 13:40:10 +08:00
c9s
88a63df186
all: clean up notifiability usage
2022-06-19 13:01:22 +08:00
c9s
eacd1f1ae6
all: rewrite notification api
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-06-19 12:29:36 +08:00
c9s
88e83c944c
pivotshort: clean up log
2022-06-19 11:21:07 +08:00
c9s
6cae9e7449
move GeneralOrderExecutor into bbgo package
2022-06-18 16:31:53 +08:00
c9s
47e76a9eb5
pivotshort: refactor and redesign order executor
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-06-18 12:30:42 +08:00
c9s
0326c34013
pivotshort: pull out GeneralOrderExecutor
2022-06-18 11:45:24 +08:00
Yo-An Lin
24fc5c2baf
Merge pull request #736 from zenixls2/feature/lint_fmt_check
...
fix: gosimple alert
2022-06-18 02:48:47 +08:00
c9s
ac404b20a5
make default sync simple
2022-06-18 01:42:24 +08:00
zenix
a5ffca7fe8
fix: gosimple alert
2022-06-17 20:19:51 +09:00
zenix
ba1342cbc3
feature: add pre-commit
2022-06-17 16:07:00 +09:00
zenix
55fa4cc8f1
fix: apply gofmt on all files, add revive action
2022-06-17 16:06:59 +09:00
zenix
aa8d188d15
fix: rename useHeikinAshi to heikinAshi in config
2022-06-17 11:38:36 +09:00
zenix
f5007752b2
feature: add heikinashi support
2022-06-17 10:58:32 +09:00
c9s
e7fc12aca7
update symbols doc
2022-06-14 13:32:13 +08:00
c9s
b1873aa19b
support specifying session in sync symbol
2022-06-14 13:02:36 +08:00
c9s
eba6706b92
move FilterSimpleArgs to the util package
2022-06-13 11:20:29 +08:00
c9s
0164cd1c72
fix reflect.Elem call
2022-06-13 11:05:00 +08:00
c9s
e8d25538f6
fix filterSimpleArgs for notification format
2022-06-13 10:37:39 +08:00
c9s
28666d4e98
fix profit pointer check
2022-06-13 10:33:28 +08:00
c9s
9ffefbab03
adjust CancelOrderWaitTime back to 20ms
2022-06-10 02:51:20 +08:00
c9s
e575236db8
pivotshort: adjust shadow ratio calculation
2022-06-10 01:21:59 +08:00
c9s
aa2ba265f1
pivotshort: refactor and add more fix
2022-06-09 17:36:22 +08:00
c9s
8d3f487d0d
reduce order cancel wait time to 10ms
2022-06-09 15:49:34 +08:00
c9s
b731405658
add fixedpoint.Value to simple types
2022-06-09 15:49:13 +08:00
c9s
fc0457cefe
fix notify args filtering
2022-06-09 12:34:23 +08:00
c9s
f3a7428b48
add stringer method for deposit struct
2022-06-08 17:32:42 +08:00
c9s
1f927d5162
use the same time object for 'now'
2022-06-08 14:37:03 +08:00
c9s
09912b3fc3
environment: avoid setting UTC on time object
2022-06-08 14:36:26 +08:00
Yo-An Lin
4fdee25a96
Merge pull request #691 from c9s/fix/sync-time
...
fix: fix sync since time field check
2022-06-08 13:04:39 +08:00
c9s
fb5fc02bdf
fix since time field check
2022-06-08 12:54:48 +08:00
zenix
7a045a48d4
fix: drift window in factorzoo, order_execution print order, refactor: use defer to mu.Unlock in depth/buffer.go
2022-06-08 12:14:53 +09:00
c9s
dc0cb30b23
fix order submit message format
2022-06-07 20:26:33 +08:00
Andy Cheng
57aab937b3
interact: update test
2022-06-07 10:45:55 +08:00
Andy Cheng
9a086d2855
interact: use instance ID as signature
2022-06-07 10:40:15 +08:00
Andy Cheng
58ec38d811
interact: update interact test
2022-06-06 17:43:25 +08:00
Andy Cheng
8410b1cc33
interact: update interact test
2022-06-06 17:34:39 +08:00
Andy Cheng
1f79e236ad
interact: revert to id = strategy.ID()
2022-06-06 16:20:06 +08:00
Andy Cheng
3d9994706b
interact: fix missing make()
2022-06-06 15:36:09 +08:00
c9s
625bd0c5e4
fix order executor formatting
2022-06-06 07:23:16 +08:00
c9s
b209d94a9c
rename active order book constructor function
2022-06-06 06:57:25 +08:00
c9s
80d9c8a3be
update activeorderbook callback file
2022-06-06 06:03:49 +08:00
c9s
3786fc64f1
rename LocalActiveOrderBook to just ActiveOrderBook
2022-06-06 05:43:38 +08:00
c9s
1d340256ea
fix and simplify LocalActiveOrderBook
2022-06-05 18:12:26 +08:00
c9s
c20e3fee4b
fix persistence unmarshalling issue
2022-06-05 01:48:56 +08:00
c9s
221a2d9dc7
fix persistence: calling type method on z zero value
2022-06-05 01:09:31 +08:00
c9s
9083881442
refactor exchange factory and solve the incorrect pkg import dependency from ftx
2022-06-04 11:47:55 +08:00
c9s
3428aeba03
apply default exchange fee rate
...
fixes #566
2022-06-03 03:24:34 +08:00
c9s
68d6e9e850
service: fix state loading (use correct ID method)
2022-06-03 03:10:50 +08:00
c9s
f7cdaff925
persistence: add store and load test case
2022-06-03 02:49:16 +08:00
c9s
55e9c7ee25
add more test on Test_loadPersistenceFields
2022-06-03 01:57:39 +08:00
c9s
0b6f7270ff
fix: drop IsZero
2022-06-03 01:15:08 +08:00
c9s
d27fee57ad
fix: do not load all trades into memory
2022-06-02 20:02:32 +08:00
zenix
5faab1d55c
fix: change from local timezone to UTC when do syncing
2022-06-02 17:12:17 +09:00
Yo-An Lin
38a6d8c813
Merge pull request #652 from c9s/refactor/sync
...
refactor/fix: withdraw sync
2022-06-02 14:03:54 +08:00
c9s
5d98674ab5
fix withdraw sync and improve withdraw string format
2022-06-02 13:56:24 +08:00
Yo-An Lin
47098b08dd
Merge pull request #650 from austin362667/fix/persistence
...
Fix: Persistence Reflect IsZero
2022-06-02 02:32:36 +08:00
c9s
78f9c7d569
improve autoborrow checks
2022-06-02 01:27:04 +08:00
austin362667
f9bb2ae149
bbgo: fix persistence reflect IsZero check
2022-06-01 21:57:35 +08:00
c9s
cf19ed6f26
refactor environment sync method
2022-06-01 19:40:29 +08:00
c9s
f4e7f4f6f6
add margin history entry in config
2022-06-01 19:40:29 +08:00
c9s
13bf5d69a3
use types.Interval instead of string
2022-05-19 10:04:03 +08:00
c9s
b5f9f86944
define DefaultBacktestAccount
2022-05-17 18:45:06 +08:00
c9s
6c0165afe4
add report index file
2022-05-17 18:10:37 +08:00
zenix
71fe6c2d26
feature: SLTP from bookticker. fix: bookTicker typename, depth buffer error message
2022-05-12 19:43:04 +09:00
c9s
11d0823782
cmd: refactor back-test command
2022-05-11 13:59:44 +08:00
c9s
5f68064ac6
pull out writeJsonFile function
2022-05-10 18:27:23 +08:00
c9s
7b17b1a757
integrate state recorder
2022-05-10 13:31:23 +08:00
c9s
0780dafdc3
add IsBackTesting method for checking environment mode
2022-05-09 18:58:09 +08:00
c9s
82c7c024ce
bbgo: add persistence Sync api
2022-05-05 18:18:38 +08:00
c9s
f3691489dd
add state key as the prefix
2022-05-05 18:18:38 +08:00
c9s
7378c63cb7
cmd: call SaveState and LoadState for normal run
2022-05-05 14:28:42 +08:00
c9s
57c43936d6
ignore service.ErrPersistenceNotExists error
2022-05-05 14:04:44 +08:00