c9s
09e98eed82
backtest: handle stop market and add test case
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-06-27 20:49:55 +08:00
c9s
10d5a8a4f2
backtest: fix stop limit order matching
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-06-27 19:48:14 +08:00
c9s
d46954a4b1
fix SimplePriceMatching test
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-06-27 00:13: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
4c02d8f729
implement QueryOrder on the backtest exchange
2022-06-26 16:10:10 +08:00
c9s
66f923ad0d
backtest: add kline fixture generator
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-06-25 17:55:31 +08:00
c9s
118928d388
implement kline fixture generator
2022-06-25 17:52:37 +08:00
zenix
a5ffca7fe8
fix: gosimple alert
2022-06-17 20:19:51 +09:00
zenix
55fa4cc8f1
fix: apply gofmt on all files, add revive action
2022-06-17 16:06:59 +09:00
zenix
f5007752b2
feature: add heikinashi support
2022-06-17 10:58:32 +09:00
c9s
69fc6ca252
backtest: add fee token support
2022-06-12 03:55:02 +08:00
c9s
2e8f9c3ad8
backtest: fix fee calculation
2022-06-12 03:45:47 +08:00
c9s
77eb5da7b7
clean up type conversion
2022-06-09 15:50:06 +08:00
c9s
1d8cd2d604
improve kline matching error
2022-06-09 12:34:22 +08:00
c9s
7f07852086
fix filled market order update event duplicated trigger
2022-06-07 20:27:11 +08:00
c9s
7e92e6592a
backtest: add test case for testing order update callbacks
2022-06-07 19:36:55 +08:00
c9s
cb4c879942
backtest: copy the order object for updating status
2022-06-06 06:24:25 +08:00
zenix
c6bad0ba08
fix: tv chart, price direction in backtest
2022-05-25 01:48:14 +09:00
zenix
99122f44bc
fix: backtest kline prev close -> new open, pass exchange as pointer (for Mutex passing), ewo add filter ma34
2022-05-24 23:05:01 +09:00
c9s
18fc68f6c6
backtest: fix order update_time update in the matching engine
...
fixes : #631
2022-05-22 02:40:26 +08:00
c9s
f06ec76618
backtest: check quoteQuantity only when price is given
2022-05-22 01:19:43 +08:00
c9s
b3da6caddb
optimizer: fix op builder
2022-05-19 20:31:25 +08:00
c9s
960f967c34
aggregate total profit and total unrealized profit
2022-05-19 18:45:45 +08:00
c9s
fd45f801e2
improve embed tool
2022-05-19 10:49:26 +08:00
c9s
40b3192e55
use config.GetAccount to avoid error
2022-05-19 10:04:03 +08:00
c9s
13bf5d69a3
use types.Interval instead of string
2022-05-19 10:04:03 +08:00
c9s
b51d6b4ba1
refactor report structure and rewrite manifest paths
2022-05-17 22:59:34 +08:00
c9s
06e2902e5e
add file lock for report index
2022-05-17 22:41:39 +08:00
c9s
620e465bcf
refactor symbol report
2022-05-17 22:31:50 +08:00
c9s
b5f9f86944
define DefaultBacktestAccount
2022-05-17 18:45:06 +08:00
c9s
6acd426f07
refactor backtest report index function
2022-05-17 18:25:05 +08:00
c9s
1cc4c69c66
move and refactor functions
2022-05-17 18:23:09 +08:00
c9s
6c0165afe4
add report index file
2022-05-17 18:10:37 +08:00
c9s
e651b9d36f
fix kline dumper
2022-05-17 01:33:44 +08:00
c9s
f99e874072
add tsv writer
2022-05-17 01:33:43 +08:00
zenix
382e6ee0fb
fix: error exit on wrong subscription in backtest. NaN issue in stoch indicator. feature: position management in ewo
2022-05-13 22:58:35 +09:00
c9s
4e4912ebdc
backtest: update order update time when new trade happen
2022-05-11 15:04:11 +08: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
24464fdcb6
define ManifestEntry type
2022-05-10 14:23:11 +08:00
c9s
867047a1a2
backtest: improve manifest struct
2022-05-10 14:21:19 +08:00
c9s
6fbb082d5f
support manifest json encoding in backtest report
2022-05-10 14:05:44 +08:00
c9s
7b17b1a757
integrate state recorder
2022-05-10 13:31:23 +08:00
c9s
185a8279b2
implement state recorder
2022-05-10 12:44:51 +08:00
c9s
5b443f0aeb
add start time and end time to the report struct
2022-05-10 01:06:16 +08:00
c9s
bff73a3a80
format backtest report session name
2022-05-09 19:27:02 +08:00
c9s
234932bc0c
add kline dumper
2022-05-09 18:03:03 +08:00
c9s
6f16f32e16
optimize single exchange back-test
2022-05-09 17:03:01 +08:00
c9s
c9c16f1e47
show missing exchange name in the back-test config
2022-05-03 16:46:38 +08:00
c9s
946bbdbca3
backtest: rename backtest.account to backtest.accounts
2022-05-03 12:18:40 +08:00
zenix
2a942eab0e
fix: rename EVWMP to VWEMP, fix backtesting fee
2022-04-15 19:12:11 +09:00
ankion
ccb7fe39fa
backtest: fix order cancel fail when run order cancel on the filled event.
2022-03-16 15:01:19 +08:00
zenix
d6995e40ff
fix: submit order on userDataStream == nil
2022-03-15 20:51:15 +09:00
zenix
25b5eddc03
feature: add multiple exchange support in backtest
...
fix: change doc, since --exchange removed from backtest
fix: test for config changes
2022-03-07 13:18:56 +09:00
c9s
0c09e6b32a
use global timeInForce type
2022-02-18 13:52:13 +08:00
zenix
8648528435
fix go fmt, fix convert.go (the legacy fixedpoint implementation) in all tests
2022-02-15 14:55:19 +09:00
zenix
05521a98b6
add skeleton strategy. fix most of the tests. fix final asset value
2022-02-15 12:01:39 +09:00
zenix
d9450e823e
fix all the fixedpoint use other than strategy
2022-02-15 12:01:39 +09:00
c9s
0667c138ab
backtest: fix duplicate trade emit issue
2022-01-30 03:05:19 +08:00
c9s
e595b9acb2
backtest: should panic if last price is zero
2022-01-30 02:41:00 +08:00
c9s
ec8129ab87
backtest: fix market order fee calculation
2022-01-30 02:00:30 +08:00
c9s
78855d552a
backtest: fix backtest trade for market order
2022-01-30 01:37:24 +08:00
c9s
2255f3ed0a
bollmaker: check dust order for stop
2022-01-29 17:44:42 +08:00
c9s
007207e24f
all: use types.LooseFormatTime to parse loose format date time string
2022-01-25 00:24:12 +08:00
zenix
213ceeda82
fix : #431 for not updating lastPrice if no tade happened
2022-01-21 20:57:55 +09:00
austin362667
91d2312c5c
cache: refactor moving from bbgo to pkg/cache
2022-01-15 08:28:02 +08:00
c9s
cb189d885c
fix backtest for limit maker order and bollpp strategy
2022-01-08 02:18:44 +08:00
c9s
dd22776a7e
cmd: refactor the exchange factory function
2021-12-25 23:27:05 +08:00
c9s
dcbce18fd8
fix format
2021-12-25 23:12:54 +08:00
c9s
442afe8eb9
backtest: pull out market data feeding to a function and call it in the main thread
2021-12-25 22:57:28 +08:00
c9s
60853bee23
backtest: pull out market data feeder
2021-12-25 22:37:38 +08:00
c9s
57bc65a729
avoid calling EmitConnect and EmitStart outside of the kline feeding goroutine
...
this causes 2 goroutine running in the same time hence cause the
concurrent map read / write
should fix #399 , #401
2021-12-25 21:05:50 +08:00
c9s
f5bbe29ac6
cmd: fix debug flag loading and add debug log to cache function
2021-12-23 23:02:07 +08:00
c9s
562c287a4e
all: move publicOnly to StandardStream
2021-12-23 17:49:18 +08:00
c9s
cfd68fdd1d
all: change trade id to uint64
2021-12-23 17:49:18 +08:00
TonyQ
3e45035ab1
database: sqlite3 issue fix
...
database: upgrade gosqllite3 version for increasing variable amount limit
types: update kline starttime/endtime field to prevent sqlite3
time parsing issue.
fix #215
2021-12-15 14:34:31 +08:00
c9s
4665ae0e31
remove unused error return value
2021-12-10 15:03:43 +08:00
c9s
a0f46bf9b8
improve error checking, avoid using panic inside the constructor
2021-12-08 23:30:58 +08:00
c9s
2223ef088c
add ftx, okex to the public exchange factory for backtest
2021-12-08 23:27:01 +08:00
c9s
d52edce40b
fix markets info cache
2021-12-08 17:26:43 +08:00
c9s
634ce6180b
avoid using panic when order cancel failed
2021-12-06 13:32:08 +08:00
c9s
3615477d8f
backtest: allocate matching books from the exchange constructor
...
also adds the mutex for trades and closed orders
2021-12-06 00:38:36 +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
5ed337926d
add mutex lock protection for backtesting
...
solving issue #282
2021-11-30 10:40:28 +08:00
c9s
60e4442f85
add document for the backtest engine
2021-10-05 22:06:36 +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
57a78777df
move Time type to types.Time
2021-05-21 00:10:53 +08:00
c9s
e636a5008d
replace Exchange field type with ExchangeName
2021-05-16 17:02:23 +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
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
ycdesu
c8447663db
refactor: use fixedpoint to store fee
2021-03-19 08:49:24 +08:00
ycdesu
83ae943a4f
ftx: calculate commission
2021-03-18 23:58:28 +08:00
c9s
c5eb6483a5
integrate QueryTicker for backtesting
2021-03-16 02:13:52 +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
ffa001fc29
fix quantity format
2021-02-11 00:21:56 +08:00