c9s
ecd4df86f9
backtest: assign user data stream to backtest.Exchange before we call EmitStart
2022-07-04 02:21:14 +08:00
c9s
449b2d8220
backtest: fix order update emit binding
2022-07-04 02:20:50 +08:00
c9s
b32cfef2fd
backtest: set order price for market order
2022-06-28 23:47:34 +08:00
c9s
1156e15cfe
backtest: add order cancel test case
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-06-28 18:25:51 +08:00
c9s
c0f8bb9a2d
backtest: do not change the backtest order price
...
- apply the last price on the executed trade
- add more tests
2022-06-28 17:43:51 +08:00
c9s
81ed5bff4f
backtest: refactor calculateNativeOrderFee and add test case
2022-06-28 15:29:01 +08:00
c9s
abee61cdc4
backtest: fix stop order backtest, add more test cases and assertions
2022-06-28 14:35:06 +08:00
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