Commit Graph

937 Commits

Author SHA1 Message Date
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
Gerald Lonlas
5a6f6c7138 Merge commit 'd13d6736b92ebfed1e172b60c77029e6c10b29a6' into feature/objectify 2018-03-04 00:51:49 -08:00
Gerald Lonlas
722ed48d9d Merge commit 'e3d222912dfd775b7456a44d6d6055430711f251' into feature/objectify 2018-03-04 00:51:22 -08:00
Gerald Lonlas
38510d4b03 Merge commit '1134c81aad049d4357c8f299ffc801218f3d9574' into feature/objectify 2018-03-03 17:26:06 -08:00
Gerald Lonlas
84759073d9 Refactor Configuration() to apply common configurations all the time and to remove show_info 2018-03-03 13:43:14 -08:00
Gerald Lonlas
0632cf0f44 Merge commit 'aa7aeb046ef72412cadd094666efc8e4c503ef2d' into feature/objectify 2018-03-02 23:28:36 -08:00
Gerald Lonlas
bbb1a31fda Merge commit 'c5400b6c37c7de64a86c9db39a4d0fa9169b35f6' into feature/objectify 2018-03-03 10:01:06 +08:00
Gerald Lonlas
3ba365ceb2 Merge commit 'fecd9f830ec4e8e9d5d1f3a70310d42bbe3f274a' into feature/objectify 2018-03-03 09:39:27 +08:00
Gerald Lonlas
390501bac0 Make Pylint Happy chapter 1 2018-03-03 09:33:54 +08:00
Gerald Lonlas
d274f13480 Remove Memory profiler in Backtesting 2018-03-03 09:33:54 +08:00
Gerald Lonlas
6148f98980 Fix Telegram unit test when using an internet connection 2018-03-03 09:33:54 +08:00
Gerald Lonlas
8bd0f4d0d7 Remove ugly pprints 2018-03-03 09:33:54 +08:00
Gerald Lonlas
bc8ca491cd Minor updates 2018-03-03 09:33:54 +08:00
Gerald Lonlas
6ef7b7d93d Complete Backtesting and Hyperopt unit tests 2018-03-03 09:33:54 +08:00
Gerald Lonlas
f4ec073099 Move RPC and Telegram to classes 2018-03-03 09:33:54 +08:00
Gerald Lonlas
766ec5ad0f Update unit tests to be compatible with this refactoring
Updated:
- test_acl_pair to be compatible with FreqtradeBot() class
- test_default_strategy.py to be compatible with Analyze() class
2018-03-03 09:33:54 +08:00
Gerald Lonlas
383fb6d20e Add a class Arguments to manage cli arguments passed to the bot 2018-03-03 09:33:54 +08:00
Gerald Lonlas
1d251d6151 Move Backtesting to a class and add unit tests 2018-03-03 09:33:54 +08:00
Gerald Lonlas
db67b10605 Remove Singleton from Strategy() 2018-03-03 09:33:54 +08:00
Gerald Lonlas
4da033c7a2 Refactor main.py
- Update, clean, and improve code coverage on main.py
- Move bot trading logic into Freqtradebot() class
- Move unit tests to test_freqtradebot, add more coverage tests
2018-03-03 09:33:54 +08:00
Gerald Lonlas
a8b8ab20b7 Move Analyze to a class 2018-03-03 09:33:54 +08:00
Gerald Lonlas
e025dc0dba Keep in misc file only tool functions 2018-03-03 09:33:54 +08:00