Matthias Voppichler
98669a3d62
remove duplicate log entry, fix key-error
2018-04-25 09:01:21 +02:00
Matthias Voppichler
9c2115c917
refactor get_real_amount
2018-04-25 08:52:08 +02:00
Matthias Voppichler
f6ecd8e514
Add pytest fixture for real_amount test
2018-04-25 08:51:31 +02:00
Anton
6675120324
Add time range support to download_backtest_data
2018-04-25 02:11:07 +03:00
Matthias Voppichler
ab6589d573
Fix comment and improve log message
2018-04-24 19:43:08 +02:00
Matthias Voppichler
9e94778fd7
simplify check for presence of list
2018-04-24 19:42:41 +02:00
Matthias Voppichler
2968347062
fix flake8
2018-04-23 20:32:46 +02:00
Matthias Voppichler
9450b76414
improve style of import in test
2018-04-23 20:08:58 +02:00
Matthias Voppichler
d2608cbf13
improve check when not to run
2018-04-23 20:06:00 +02:00
Matthias Voppichler
f580fbb91d
remove maybe_update_amount and tests
2018-04-23 20:03:10 +02:00
gcarq
9b0fbbdc14
cancel_order: pass all positional arguments
2018-04-23 16:58:52 +02:00
gcarq
aa213a3640
cancel_order: handle InvalidOrder exception
2018-04-23 16:58:32 +02:00
gcarq
baeeaa777d
get_balance: handle case if currency is not in response
2018-04-23 16:57:18 +02:00
gcarq
20af4bae7c
retrier: raise initial exception instead of OperationalException
2018-04-23 16:56:35 +02:00
gcarq
5baab91bb5
catch TemporaryError for buy/sell in _process()
2018-04-22 20:28:39 +02:00
gcarq
4c49229b77
catch DependencyExceptions while selling
2018-04-22 20:27:34 +02:00
Matthias Voppichler
93a7c46977
optimize to only do network calls if necessary
2018-04-22 19:37:24 +02:00
gcarq
bc2bd7fe1e
add retrier decorator to all exchange functions except buy/sell
2018-04-22 17:28:49 +02:00
Matthias Voppichler
a70958da41
test modify-logic
2018-04-22 11:05:23 +02:00
Samuel Husso
9f1544978d
tests: use only coins that most likely are going to be in bittrex
2018-04-22 11:29:21 +03:00
Matthias Voppichler
f838ba2a9b
remove fee column from bot
2018-04-22 10:04:30 +02:00
Samuel Husso
de8db9293c
exchange: extract ccxt init to its own function (so that we can init ccxt from the scripts)
2018-04-22 10:57:48 +03:00
Samuel Husso
fded8e5117
move download_backtest_data to scripts
2018-04-22 10:56:49 +03:00
Matthias Voppichler
be95d699d2
only update if open_fee is set
2018-04-22 09:13:02 +02:00
gcarq
9ab4953472
fix backtesting testsuite
2018-04-22 00:21:03 +02:00
gcarq
bbe3bc4423
catch ccxt.ExchangeError and retry
2018-04-22 00:20:15 +02:00
Matthias
acb1b50924
[ccxt] fix unsupported fiat failures ( #620 )
...
* prepare to support FIAT/Crypto trading
* Don't fail fiat-convert for unsupported stake currencies
* remove commented code
* Add BNB to cryptomap
* Fix test-failure
* related to random execution as fee was not properly mocked if this is
one of the first tests
2018-04-21 23:20:12 +02:00
Matthias Voppichler
a140748b5a
Merge branch 'feat/objectify-ccxt' into cxxt_obj_sellfix
2018-04-21 22:39:22 +02:00
Matthias Voppichler
573b6b8e15
Remove unused line
2018-04-21 22:35:17 +02:00
Matthias
23e989d31f
Fix tests run in random order ( #599 )
...
* allow tests to run in random mode
* Fix random test mode for fiat-convert
* allow random test execution in persistence
* fix pep8 styling
* use "usefixtures" to prevent pylint "unused parameter" message
* add pytest-random-order to travis
2018-04-21 21:21:50 +02:00
Matthias Voppichler
990f8a996b
log in case of error
2018-04-21 21:01:53 +02:00
gcarq
f4077a51c1
log hyperopt progress to stdout instead to the logger
2018-04-21 20:52:01 +02:00
gcarq
403f59ef45
use native python logger
2018-04-21 20:47:06 +02:00
Samuel Husso
001d7443da
Merge pull request #618 from gcarq/feature/add-get_fee-mocks
...
add mocks for exchange.get_fee
2018-04-21 21:26:22 +03:00
Matthias Voppichler
ce90ee4ac2
have backtesting use fee_open and fee_close
2018-04-21 20:05:49 +02:00
Matthias Voppichler
06d230279c
Fix tests
2018-04-21 20:05:39 +02:00
Matthias Voppichler
47748bc6f7
adjust tests for fee_open and fee_close
2018-04-21 19:55:48 +02:00
Matthias Voppichler
a620aa8352
add columns fee_open and fee_close, update value
2018-04-21 19:47:08 +02:00
gcarq
09fb4ea584
add mocks for exchange.get_fee
2018-04-21 19:39:18 +02:00
gcarq
3997b6038d
let cctx handle rate limits
2018-04-21 19:11:29 +02:00
Luis Felipe Díaz Chica
954c6e8c15
Write log when trying to sell opened trades ( #608 )
2018-04-21 18:44:57 +02:00
Matthias Voppichler
7f4c70827a
Test get_amount_lots
2018-04-21 13:33:29 +02:00
Matthias Voppichler
f69e8458f4
Add tests for update_real_amount
2018-04-21 13:33:29 +02:00
Matthias Voppichler
02f0f22621
fix comment
2018-04-21 13:33:29 +02:00
Matthias Voppichler
1d43dc229b
refactor tests of get_real_amount
2018-04-21 13:33:29 +02:00
Matthias Voppichler
c7d1a767f7
add get_trades_for_order
2018-04-21 13:33:29 +02:00
Matthias Voppichler
11d8f7d522
add get_real_amount and tests
2018-04-21 13:33:29 +02:00
gcarq
1332ab397f
fix reference before assignment
2018-04-21 10:19:12 +03:00
Samuel Husso
78bafee39d
download_backtest: fix imports and travis
2018-04-19 09:44:45 +03:00
Samuel Husso
66866ff260
fix travis
2018-04-19 09:06:56 +03:00
Samuel Husso
1dcd7e747e
partial fix for download testdate
2018-04-19 09:01:34 +03:00
Samuel Husso
42c0d7c7c3
Merge pull request #603 from enenn/ccxt-objectify-pr3_1
...
[3/3] Add support for multiple exchanges with ccxt (objectified version)
2018-04-18 15:23:33 +03:00
enenn
488210915a
Flak8 fixes...
2018-04-15 13:11:17 +02:00
enenn
f1d406b1e6
Fix possible race condition during testing
...
Order would sometimes fail to sell during tests,
probably because time between current time and creation was 0
2018-04-15 12:50:47 +02:00
enenn
89ed2e0127
Get mocked exhange buy return value from existing fixture
2018-04-15 12:48:02 +02:00
enenn
53b1f8d3a4
Add a 4th pair to testing dynamic whitelist generation
2018-04-15 12:20:49 +02:00
enenn
cc5991d269
Fixturize fee MagicMock object in tests
2018-04-15 12:09:12 +02:00
Michael Egger
b8184e4fdd
Merge pull request #602 from xmatthias/obj_ccxt_test_formatms
...
Add test for format_ms_time
2018-04-13 00:44:25 +02:00
Matthias Voppichler
37dee02e1c
Add comment and extract magic number to variable
2018-04-12 19:32:14 +02:00
enenn
2765a065a7
Use UNITTEST/BTC pair instead of ETH/BTC pair for load_data tests
2018-04-12 19:21:40 +02:00
Matthias Voppichler
bb7b2cdfd5
Disable dynamic whitelist
...
Revert regression introduced in refactoring for objectify
(cherry picked from commit 5bd7954
)
2018-04-12 18:35:35 +02:00
enenn
94287d66a8
Flake8 fixes
2018-04-12 18:16:27 +02:00
enenn
1678518cd4
Add dry_run=True to config during backtesting
2018-04-12 18:16:26 +02:00
enenn
838bd5824e
Mock validate_pairs
2018-04-12 18:16:26 +02:00
enenn
a650072fe0
Edit signal handler tests to work on windows as well
2018-04-12 18:16:26 +02:00
enenn
6115fb08c0
Remove get_fee_maker/taker and add argument to get_fee instead
2018-04-12 18:16:25 +02:00
enenn
91b2092d55
Remove ticker_history_api and ticker_history_without_bv from conftest.py
2018-04-12 18:16:25 +02:00
enenn
cba8745164
Update exchange validate_pairs and related tests
2018-04-12 18:16:19 +02:00
enenn
c3d00a8825
Change ticker format to ccxt in backtesting and optimize tests
2018-04-12 18:14:33 +02:00
enenn
261522446e
Change to ccxt ticker format in test_analyze.py
2018-04-12 18:07:45 +02:00
enenn
a86104d0fe
Update backtesting and hyperopt tests to use default_config and mock validate_pairs
...
Use default_config from conftest.py instead of user supplied config in user_data/hyperopt_conf
Mock validate pairs so tests don't fail if pairs don't exist/are removed from exchanges
2018-04-12 18:07:45 +02:00
enenn
4ac2afacfa
Use global backtest instance for backtesting tests
2018-04-12 18:07:45 +02:00
enenn
07c655cf41
Use os.path.join for file paths
2018-04-12 18:07:45 +02:00
enenn
a9ba0981c7
Use exchange id for Trade and exchange name for RPC
2018-04-12 18:07:44 +02:00
enenn
7a074f21bd
Remove duplicate result pytest fixture
2018-04-12 18:07:44 +02:00
enenn
fef8a4c978
Update tests related to whitelist
2018-04-12 18:07:44 +02:00
enenn
0c8ecf2b1f
Add 'get_tickers' function to exchange and use it for dynamic whitelists
2018-04-12 18:07:44 +02:00
enenn
5fc8250ee4
Add 'exchange_has' function to check if exchange supports specific API call
...
Catch ccxt.NotSupported exception instead of checking beforehand
2018-04-12 18:07:44 +02:00
enenn
e42403fecc
Change date to timestamp conversion method in backtesting
2018-04-12 18:07:44 +02:00
enenn
12a84cc30b
Mock fee during testing as 0.0025
...
Ensures profit calculations does not vary if exchange fees change, which can cause tests to fail
2018-04-12 18:07:44 +02:00
enenn
0ae5b75f33
Update order structure to ccxt generic structure instead of bittrex specific
2018-04-12 18:07:43 +02:00
enenn
4810d87044
Change buy/sell return value in tests
2018-04-12 18:07:43 +02:00
enenn
0b71f7186c
Replace 'get_wallet_health' and 'get_markets_summaries'
...
Both are now covered by 'get_markets'
2018-04-12 18:07:43 +02:00
Matthias Voppichler
d03f58417b
Fix timezone dependency in test
2018-04-11 20:19:13 +02:00
Matthias Voppichler
7123985325
Add test for format_ms_time
2018-04-10 20:10:20 +02:00
enenn
7eb5138276
Update 8m historical unittest data.
...
8m.json.gz should be a copy of 1m.json, 8m.json should be empty
2018-04-09 20:25:26 +02:00
enenn
d50445108e
Fix issue where datetime string was converted to timestamp with timezone dependent offset
2018-04-08 13:12:55 +02:00
enenn
65c5a0b308
Remove comment from donwload_backtest_data.py
2018-04-08 13:11:36 +02:00
enenn
ce3603f84f
Change ticker_interval from 5 to 5m in default strategy
2018-04-07 21:31:52 +02:00
Matthias
a26cdceb4b
Fix tests run in random order ( #599 )
...
* allow tests to run in random mode
* Fix random test mode for fiat-convert
* allow random test execution in persistence
* fix pep8 styling
* use "usefixtures" to prevent pylint "unused parameter" message
* add pytest-random-order to travis
2018-04-07 20:06:53 +02:00
enenn
21468d72d3
Fix pair order in test_rpc.py
2018-04-07 20:01:06 +02:00
enenn
4f4cb3698e
Revert editing health in conftest.py
2018-04-07 17:05:44 +02:00
enenn
21c5282eb1
Change backtest data from bittrex format to ccxt format
2018-04-07 16:58:26 +02:00
enenn
db46ad6502
Change ticker interval from minutes as integer to string (1m, 5m, 1h,...)
2018-04-07 16:57:47 +02:00
enenn
616006caf8
Replace 'ETH/BTC' with 'UNITTEST/BTC' to fix adx not generating if ETH/BTC ticker history is too short
2018-04-07 16:55:18 +02:00
enenn
cbc0b81d2e
Rename ticker history files from "BTC_XXX-1.json" to "XXX_BTC-1m.json"
2018-04-07 16:52:09 +02:00
enenn
c1c6ed6ed7
Replace 'BTC_XXX' with 'XXX/BTC' for pairs and 'XXX_BTC' for files
2018-04-07 16:51:50 +02:00
enenn
1f75636e56
[1/3] Add support for multiple exchanges with ccxt (objectified version) ( #585 )
...
* remove obsolete helper functions and make _state a public member.
* remove function assertions
* revert worker() changes
* Update pytest from 3.4.2 to 3.5.0
* Adapt exchange functions to ccxt API
Remove get_market_summaries and get_wallet_health, add exception handling
* Add NetworkException
* Change pair format in constants.py
* Add tests for exchange functions that comply with ccxt
* Remove bittrex tests
* Remove Bittrex and Interface classes
* Add retrier decorator
* Remove cache from get_ticker
* Remove unused and duplicate imports
* Add keyword arguments for get_fee
* Implement 'get_pair_detail_url'
* Change get_ticker_history format to ccxt format
* Fix exchange urls dict, don't need to initialize exchanges
* Add "Using Exchange ..." logging line
2018-04-06 10:57:08 +03:00
Matthias Voppichler
0203a48f3e
use local config-object for check_exchange
...
fix AttributeError: 'NoneType' object has no attribute 'get' when
starting the bot.
2018-04-04 22:05:17 +02:00
Michael Egger
9019f6492f
define constants on module level ( #596 )
2018-04-02 16:42:53 +02:00