Commit Graph

994 Commits

Author SHA1 Message Date
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
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