Commit Graph

958 Commits

Author SHA1 Message Date
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
Michael Egger
5420bb9f6d
Merge pull request #594 from xmatthias/obj_ccxt_conv
Conversion script for Ticker history data
2018-03-31 17:58:00 +02:00
Matthias Voppichler
2f40e23dcc don't check negated if both trees are handled 2018-03-31 17:28:54 +02:00
Matthias Voppichler
a4906c477e Add handling for gzip files 2018-03-30 23:30:23 +02:00
Gerald Lonlas
7cafd1f17e Update exchange unit tests 2018-03-30 13:52:25 -07:00
Matthias Voppichler
5bd79546ab Disable dynamic whitelist
Revert regression introduced in refactoring for objectify
2018-03-30 22:38:09 +02:00
Gerald Lonlas
3d2c6a22a3 Fix test_validate_pairs() 2018-03-30 13:31:13 -07:00
Gerald Lonlas
052404ffbd Check if the exchange is supported 2018-03-30 13:14:35 -07:00
Gerald Lonlas
96b2210c0f Change deprecated logger.warn by warning 2018-03-30 12:11:06 -07:00
gcarq
24aa6a1679 adapt test_download_backtesting_testdata 2018-03-29 20:17:11 +02:00
gcarq
3775fdf9c7 change column order assertions 2018-03-29 20:16:46 +02:00
gcarq
fee8d0a2e1 refactor get_timeframe 2018-03-29 20:16:25 +02:00
gcarq
702402e1fe simplify download_backtesting_testdata 2018-03-29 20:15:32 +02:00
gcarq
4f2d3dbb41 parse_ticker_dataframe: use as_index=False to keep date column 2018-03-29 20:14:43 +02:00
gcarq
02aacdd0c8 parse_ticker_dataframe: group dataframe by date 2018-03-29 17:12:49 +02:00
gcarq
872bbadded add test_load_custom_strategy() 2018-03-27 18:29:51 +02:00
gcarq
6a12591248 change strategy override condition 2018-03-27 18:20:15 +02:00
gcarq
df57c32076 only override strategy if other than DEFAULT 2018-03-27 18:15:49 +02:00
gcarq
f78044da6d fix method docs 2018-03-27 16:32:58 +02:00
gcarq
157f7da8ce remove obsolete assertions 2018-03-27 16:32:58 +02:00
gcarq
a356edb117 implement '--strategy-path' argument 2018-03-27 16:32:58 +02:00
gcarq
5fb6fa38aa apply __slots__ to resolver and reintroduce type conversations 2018-03-27 16:32:58 +02:00
gcarq
99e890bc99 simplify resolver constructor 2018-03-27 16:32:58 +02:00
gcarq
280886104c strategy: remove unneeded population methods in resolver 2018-03-27 16:32:58 +02:00
Janne Sinivirta
1cec06f808
Merge pull request #578 from gcarq/feature/enhance-strategy-resolving
enhance strategy resolving
2018-03-27 12:44:33 +03:00
Janne Sinivirta
85a81b18a3
Merge pull request #586 from xmatthias/obj_backtest_pr2
fix backtest --export format
2018-03-27 12:43:52 +03:00
Matthias Voppichler
a182cab27f fix backtest --export format
reverts regression introduced in c623564
2018-03-26 20:28:51 +02:00
gcarq
b254ff9b41 Merge 'develop' into feature/enhance-strategy-resolving 2018-03-26 16:23:25 +02:00
Samuel Husso
0a32d38ad9 exchange: fix get_ticker_history test 2018-03-26 09:24:50 +03:00
Samuel Husso
3069a422e9 Conftest: use coins that we know are in bittrex, added a new conf for ccxt unittest 2018-03-26 09:24:22 +03:00
Samuel Husso
1b4c1980c2 exchange: capitalize class name 2018-03-26 09:23:42 +03:00
gcarq
611bb52d1f log hyperopt progress to stdout instead to the logger 2018-03-25 22:57:40 +02:00
gcarq
f374a062e1 remove freqtrade/logger.py 2018-03-25 21:43:00 +02:00
gcarq
fa7f74b4bc use native python logger 2018-03-25 21:43:00 +02:00
gcarq
3f8d7dae39 make name a required argument and add fallback to getEffectiveLevel 2018-03-25 21:42:03 +02:00
gcarq
6b47c39103 remove invalid mock 2018-03-25 15:12:39 +02:00
gcarq
bd2a6467fe adapt argument description and metavar 2018-03-25 15:12:39 +02:00
gcarq
3cee94226f fix flake8 warnings 2018-03-25 15:12:39 +02:00
gcarq
a38c2121cc adapt tests 2018-03-25 15:12:39 +02:00
gcarq
b4d2a3f495 refactor StrategyResolver to work with class names 2018-03-25 15:12:39 +02:00
gcarq
6e5c14a95b fix mutable default argument 2018-03-25 15:12:39 +02:00
gcarq
ca9c5edd39 rename Strategy into StrategyResolver 2018-03-25 15:12:39 +02:00
Matthias Voppichler
f51ef1a791 refactor format_ms_time to misc.py 2018-03-25 13:38:50 +02:00
Matthias Voppichler
016232a8e9 Revert OHLVC dataformat to ccxt format
* Also fixes backtesting - but data must be refreshed for now as no
conversation is happening yet
2018-03-25 13:32:46 +02:00
Matthias Voppichler
dbb0a6261f don't raise exceptions from get_ticker_history 2018-03-25 13:03:21 +02:00
Matthias Voppichler
b07ee26e08 Revert testing exchange to bittrex 2018-03-25 12:57:59 +02:00
Matthias Voppichler
ae803474f9 switch rpc_telgram to new style and make it pass 2018-03-24 20:59:25 +01:00
Matthias Voppichler
0a068db285 Switch rpc_test to new currency style 2018-03-24 20:59:09 +01:00
gcarq
3f4261ad1e use correct return_code if an error occured 2018-03-24 20:56:27 +01:00
gcarq
4c97ee45dd return None if subcommand has been executed 2018-03-24 20:55:10 +01:00
gcarq
9d443b8bd8 fix reference before assignment 2018-03-24 20:54:46 +01:00
Matthias Voppichler
32222ae6ef Fix tests in acl_pair 2018-03-24 20:42:51 +01:00
Matthias Voppichler
82a2144296 change format of health fixture and get_market_summaries fixture 2018-03-24 20:36:33 +01:00
Matthias Voppichler
22ef860312 Change freqbottest currencies 2018-03-24 20:32:15 +01:00
Matthias Voppichler
a6587b209f freqtradebot_tests - change currency to new format 2018-03-24 20:11:42 +01:00
Matthias Voppichler
609c1eee55 fix persistance tests 2018-03-24 20:03:31 +01:00
Matthias Voppichler
ab6e32f6bb have backtest and dry-mode working
partially revert d20e3f79be - Changing the
OHLVC format should not be done at this time
2018-03-24 19:51:40 +01:00
Matthias Voppichler
85af68d807 ccxt - make backtesting work 2018-03-24 19:45:23 +01:00
Samuel Husso
eb4ac73b78 remove last bittrex references so that bot is runnable 2018-03-22 08:29:52 +02:00
gcarq
b8f322d8f6 revert worker() changes 2018-03-21 19:27:30 +01:00
Samuel Husso
d20e3f79be analyze to use the ccxt OHLCV format
setup: remove bittrex and add requirement to ccxt

freqtradebot: update market summaries to ccxt format
2018-03-21 19:57:58 +02:00
gcarq
9df5e09a82 remove function assertions 2018-03-21 18:50:18 +01:00
gcarq
9559f50eec remove obsolete helper functions and make _state a public member. 2018-03-21 18:50:18 +01:00
Samuel Husso
40a0689183 exhcange now uses ccxt in dry_run, update config 2018-03-21 19:40:16 +02:00
Samuel Husso
14d16d573c Remove bittrex related interface code and tests 2018-03-21 19:31:15 +02:00
gcarq
a5c62b5c10 rpc/rpc.py: fix indentation 2018-03-20 19:50:04 +01:00
gcarq
f6df7df9bf modify args typehints 2018-03-20 19:50:04 +01:00
gcarq
33ddc540cf don't shadow built-in name tuple 2018-03-20 19:50:04 +01:00
gcarq
7078bc00bd rpc: apply correct typehints; remove redundant parentheses 2018-03-20 19:50:04 +01:00
gcarq
d2aea7bdc1 optimize imports 2018-03-20 19:50:04 +01:00
gcarq
d8689e5045 set correct typehint; remove unused argument 2018-03-20 19:48:03 +01:00
gcarq
5327533188 optimize: set correct typehints 2018-03-20 19:48:03 +01:00
gcarq
5532cedcdd get_signal: remove redundant parentheses 2018-03-20 19:48:03 +01:00
gcarq
ed71340a90 arguments: apply missing typehints 2018-03-20 19:48:03 +01:00
gcarq
1074415d30 remove invalid typehint from ctor 2018-03-20 19:48:03 +01:00
gcarq
90be78b283 CryptoFiat: inherit from object explicitly 2018-03-20 19:48:03 +01:00
gcarq
2de63133ae indicator_helpers: apply correct typehints 2018-03-20 19:48:03 +01:00
gcarq
31e2aa0f38 misc: apply missing typehints 2018-03-20 19:48:03 +01:00
gcarq
cae7be4447 add fee param to function doc 2018-03-20 19:48:03 +01:00
gcarq
a6a38735b1 backtesting: only respect max_open_trades with realistic_simulation 2018-03-20 19:38:33 +01:00
gcarq
93931eb32b fix typo in _generate_text_table 2018-03-19 23:05:12 +01:00
gcarq
967bf417df Merge branch 'develop' into feature/objectify 2018-03-19 19:10:19 +01:00
Matthias
b67257db35 replace pymarketcap with coinmarketcap (#562)
* replace pymarketcap with coinmarketcap

* fix tests to use coinmarketcap instead of pymarketcap

* use arraypos 0

* update setup.py from pymarketcap to coinmarketcap

* Add test to check for unsupported Crypto currency
2018-03-19 18:40:40 +01:00
Matthias
94caf82ab2 Fix test_dataframe when ran standalone (#546)
* Fix dataframe test when ran standalone

* Fix standalone tests in hyperopt and optimize tests
2018-03-19 18:30:14 +01:00
Matthias
a99c8c4046 replace pymarketcap with coinmarketcap (#562)
* replace pymarketcap with coinmarketcap

* fix tests to use coinmarketcap instead of pymarketcap

* use arraypos 0

* update setup.py from pymarketcap to coinmarketcap

* Add test to check for unsupported Crypto currency
2018-03-18 00:42:24 +01:00
Michael Egger
fd44c0e59e
allow max_open_trades to be zero (#561) 2018-03-17 10:40:50 +01:00
Gérald LONLAS
e6732e01e1 Use ticker_interval defined in Strategy() instead of a mix between strategy and config file (#540) 2018-03-15 23:48:22 +01:00
Matthias
e907c48438 Fix test_dataframe when ran standalone (#546)
* Fix dataframe test when ran standalone

* Fix standalone tests in hyperopt and optimize tests
2018-03-15 23:37:34 +01:00
Gerald Lonlas
173b640b34 Increase Hyperopt() code coverage 2018-03-05 22:36:15 -08:00
Gerald Lonlas
0bb7cc8ab5 Hyperopt: fix 'Ran out of input' error 2018-03-05 20:49:45 -08:00
Gerald Lonlas
a8fd7a69ab Increase Configuration._load_config_file() code coverage 2018-03-05 19:57:45 -08:00
Gerald Lonlas
ea7b25766b Increase Hyperopt() code coverage 2018-03-05 00:35:42 -08:00
Gerald Lonlas
1d43e04725 Increase FreqtradeBot() code coverage 2018-03-05 00:11:13 -08:00
Gerald Lonlas
ba664c4341 Increase Configuration._load_hyperopt_config() code coverage 2018-03-04 23:12:34 -08:00
Gerald Lonlas
aa22585d40 Add unit test for misc.common_datearray() 2018-03-04 23:05:44 -08:00
Gerald Lonlas
152c4483c8 Configuration() sends a msg to user when config file not found 2018-03-04 20:22:40 -08:00
Gerald Lonlas
d685646446 Arguments(): Change private methods to public 2018-03-04 17:51:57 -08:00
Gerald Lonlas
de468c6fc8 Fix wrong realistic_simulation implementation in Hyperopt 2018-03-04 02:31:25 -08:00
Gerald Lonlas
25d0e5f942 Merge commit '4dca84817eb1b62047a9e4d282254392ea978e44' into feature/objectify 2018-03-04 02:06:40 -08:00
Gerald Lonlas
6fcc173489 Merge commit '35c51c73f713bfdb81bd84721f3dceab0c19e819' into feature/objectify 2018-03-04 01:33:39 -08:00
Gerald Lonlas
bb1e38f584 Merge commit '8eed9c08a6cffdd7c6b43fa3db2c3e08d1657f43' into feature/objectify 2018-03-04 01:01:19 -08:00
Gerald Lonlas
c52e688979 Fix unit tests in test_arguments.py and test_configuration.py 2018-03-04 00:58:20 -08:00
Gerald Lonlas
2001c20426 Merge commit '028700d86f130d5c3cbfef4e422dc701340f58c9' into feature/objectify 2018-03-04 00:53:27 -08:00