Commit Graph

1213 Commits

Author SHA1 Message Date
Matthias Voppichler 8bd9ed1543 fix flake8 2018-04-25 09:13:56 +02:00
Matthias Voppichler 72c17e29c0 Add test for "no trades found" case 2018-04-25 09:08:02 +02:00
Matthias Voppichler 483415cd65 Add fee entry to DRY_ORDER dict as defined by ccxt 2018-04-25 09:03:32 +02:00
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
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
Gerald Lonlas 89e3729955 Add a Configuration class that generate the Bot config from Arguments 2018-03-03 09:33:54 +08:00
Gerald Lonlas 3b9e828fa4 Add a class Logger to manage the logging messages
This class will evolve later to support color logging. For now
it is used to not repeat the logging configuration everywhere.
2018-03-03 09:33:54 +08:00
Gerald Lonlas cf753d5c40 Add a Enum class State that contains Bot running states 2018-03-03 09:33:54 +08:00
Gerald Lonlas 314ab0a84f Add a Constants class that contains Bot constants 2018-03-03 09:33:54 +08:00
Janne Sinivirta bf54692efb use log_has helper in tests 2018-02-24 22:18:19 +02:00
Janne Sinivirta 76c5cdc6e3 more minor tweaks to log messages 2018-02-24 20:30:16 +02:00
Janne Sinivirta 3e89b9685d remove unnecessary detail from log message 2018-02-24 19:28:51 +02:00
Janne Sinivirta 646d1f7316 better log message for outdated history 2018-02-24 19:25:08 +02:00
Janne Sinivirta 67ad9e9351 simplify some error message statements 2018-02-24 19:19:43 +02:00
Janne Sinivirta 160af91f9a improving log messages 2018-02-24 18:58:57 +02:00
Janne Sinivirta 5e73f3431c log how old the last received tick is 2018-02-24 16:59:20 +02:00
Samuel Husso 35c51c73f7
Merge pull request #518 from gcarq/cleaning_up_backtesting
Cleaning up backtesting/hyperopt
2018-02-18 10:18:00 +02:00
Janne Sinivirta fac122891f remove stoploss parameter from backtest, it is loaded from strategy 2018-02-17 11:14:03 +02:00
Janne Sinivirta d1bdbcd273
Fix wrong duration calculation in hyperopting 2018-02-16 22:08:20 +02:00
Janne Sinivirta bf72b5bc37 make args available for optimizer and use them instead of guessing from params 2018-02-16 14:00:12 +02:00
Janne Sinivirta ec8bf82695 combine shared backtest/hyperopt flags 2018-02-15 15:23:49 +02:00
Janne Sinivirta f64c8cc9ce realistic should be False by default and enabled with a --realistic-simulation flag 2018-02-15 13:11:17 +02:00
Samuel Husso 028700d86f
Merge pull request #517 from gcarq/fix-backslash-again
Correctly join paths in ticker loading
2018-02-15 10:38:37 +02:00
Janne Sinivirta a1ba57186b correctly join paths and debug log the found results 2018-02-15 08:59:02 +02:00
Janne Sinivirta 459611516c enable stochastic and fisherRSI in default strategy 2018-02-14 13:02:31 +02:00
Janne Sinivirta 340ab0214b add generic fishers inverse transformation with smoothing 2018-02-14 10:17:43 +02:00
Janne Sinivirta 178d1ed423 add ehlers super smoother 2018-02-14 10:16:53 +02:00
Janne Sinivirta cf013140a6 add went_up and went_down helpers 2018-02-13 11:37:59 +02:00
Samuel Husso e3d222912d
Merge pull request #511 from gcarq/hyperopt_selectable_spaces
Allow selecting Hyperopt search space
2018-02-12 08:28:24 +02:00
Janne Sinivirta 3e07d41fa9 remove mention of sell space 2018-02-12 07:01:51 +02:00
Janne Sinivirta b1230b27b7 adjust unit test to match new --spaces format 2018-02-11 19:22:13 +02:00
Janne Sinivirta fe28addb51 specify allowed values for --spaces flag 2018-02-11 19:17:04 +02:00
Janne Sinivirta 9bcdc8e14b remove unnecessary condition 2018-02-11 15:25:30 +02:00
Janne Sinivirta 2ce03ab1b5 make Strategy store roi and stoploss values as numbers to avoid later casting 2018-02-11 15:25:30 +02:00
Janne Sinivirta 5190cd507e start with simpler condition 2018-02-11 14:37:12 +02:00
Janne Sinivirta 2dd2f31431 remove repeated condition 2018-02-11 14:31:37 +02:00
Janne Sinivirta dc105d5eae better names for row variables 2018-02-11 14:24:19 +02:00
Janne Sinivirta c62356438a loop over arrays instead of dataframes 2018-02-11 14:18:57 +02:00
Janne Sinivirta f14d6249e0 allow selecting hyperopt searchspace 2018-02-09 20:59:06 +02:00
kryofly 12a19e400f tests: more backtesting testing (#496)
* tests: more backtesting testing

* tests: hyperopt

* tests: document kludge

* tests: improve test_dataframe_correct_length

* tests: remove remarks
2018-02-08 21:49:43 +02:00
Janne Sinivirta bf46f2e50d short circuit check for roi threshold 2018-02-06 21:37:11 +02:00
Janne Sinivirta 4760dd699d remove surprisingly slow logging line 2018-02-06 21:37:11 +02:00
Janne Sinivirta 22c48d5cef use faster time diff 2018-02-06 21:37:11 +02:00
Janne Sinivirta 0454b4c8d5 remove unnecessary Decimal construction 2018-02-06 21:37:11 +02:00
Janne Sinivirta 5c02f0983d let Strategy hold a sorted roi map 2018-02-06 21:37:11 +02:00
Janne Sinivirta a28ffcbcf7 remove slow unnecessary table scan 2018-02-06 21:21:47 +02:00
Janne Sinivirta a071571eac switch to faster short circuiting condition 2018-02-06 12:13:12 +02:00
Janne Sinivirta 5cf2dd79f2 don't reset index if not needed 2018-02-06 11:34:01 +02:00
Janne Sinivirta cf7c6d2e9c switch to properly using dates as indexes, makes date based searching and slicing a lot faster 2018-02-06 11:34:00 +02:00
Janne Sinivirta 8c7b29734e use date info to calculate trade durations 2018-02-06 11:34:00 +02:00
Janne Sinivirta fecd9f830e use substitution in argparse 2018-02-04 15:48:41 +02:00
Gérald LONLAS d24cd89304 Remove Strategy fallback to default strategy (#490)
* Remove Strategy fallback to default strategy
2018-02-02 11:01:09 +02:00
Samuel Husso d5435a9962
Merge pull request #487 from gcarq/pyup-update-pytest-3.3.2-to-3.4.0
Update pytest to 3.4.0
2018-02-01 08:21:45 +02:00
kryofly 9f6aedea47 telegram refactor 1/ (#389)
* telegram refactor 1/

move out freqcode from telegram

* telegram refactor 2/

move out rpc_trade_status

* telegram refactor 3/

move out rpc_daily_profit

* telegram refactor /4

move out rpc_trade_statistics

* 5/

* rpc refactor 6/

* rpc refactor 7/

* rpc refactor 8/

* rpc refactor 9/

* rpc refactor 10/

cleanups
two tests are broken

* fiat

* rpc: Add back fiat singleton usage

* test: rpc_trade_statistics

Test that rpc_trade_statistics can handle trades that lacks
trade.open_rate (it is set to None)

* test: rpc_forcesell

Also some cleanups

* test: telegram.py::init

* test: telegram test_cleanup and test_status

* test rcp cleanup
2018-02-01 08:05:23 +02:00
Janne Sinivirta 45975c9677 set capturing level 2018-01-31 19:37:38 +02:00
Janne Sinivirta 0a42a0e814
Merge pull request #479 from gcarq/fix/issue-478
Fix Backtesting / Hyperopt ticker_interval download
2018-01-31 17:15:47 +02:00
Janne Sinivirta 5b71d5f3a1
Merge pull request #488 from jblestang/fixing_bug_in_backtesting_causing_to_much_sells
Fixing bug in backtesting preventing sell events to be executed
2018-01-31 16:42:02 +02:00
Jean-Baptiste LE STANG 07b7828f39 Fixing bug in backtesting causing to much sells 2018-01-31 07:59:45 +01:00
Jean-Baptiste LE STANG d53d4b808b Fixing buy and sell order 2018-01-30 09:38:24 +01:00
Gerald Lonlas d313eb812d Forgot one args.ticker_interval 2018-01-29 23:07:54 -08:00
Gerald Lonlas cac2f2b58b Wrong assert condition 2018-01-29 23:04:28 -08:00
Gerald Lonlas 321e3ede30 Fix hyperopt ticker interval download 2018-01-29 22:53:28 -08:00
Gerald Lonlas 524290d678 Fix backtesting ticker interval download 2018-01-29 22:51:29 -08:00
Samuel Husso 990a609afd test_analyze: update dataframe magic len check so that test pass 2018-01-30 07:26:00 +02:00
Samuel Husso 271e11e065 update backtesting data for the latest market craze 2018-01-30 07:01:44 +02:00
Jean-Baptiste LE STANG 0d04da3158 Removing unecessary buy condition when sell_profit_only 2018-01-29 13:33:49 +01:00
Jean-Baptiste LE STANG 94172091ae Refactoring the sell conditions evaluation to share the function with backtesting 2018-01-29 10:10:19 +01:00
Janne Sinivirta 21b142df40
Merge pull request #453 from ermakus/fix_usdt_balance
Fix usdt balance
2018-01-29 08:48:38 +02:00
Janne Sinivirta a5155b3b20
Merge pull request #465 from gcarq/fix/increase_test_coverage
Fix/increase test coverage
2018-01-29 08:47:26 +02:00
Anton Ermak 807c067701 More test coverage 2018-01-29 10:55:42 +07:00
Gérald LONLAS b8af493b56
Merge pull request #459 from rybolov/develop
Read .gzip files in testdata/
2018-01-28 19:27:36 -08:00
Michael Smith e438422a22 test_optimize.py:
Added spaces for flake8 compliance.
2018-01-29 11:21:01 +08:00
Michael Smith b8f2341998 BTC_UNITEST-8.json:
Added to test gzip loading before .json file.
2018-01-29 10:25:24 +08:00
Michael Smith 4799e1ed44 tests/optimize/test_optimize.py:
Added test for gzip ticker file.
BTC_UNITEST-8.json.gz:
Added to test gzip loading.
2018-01-29 10:22:55 +08:00
Michael Smith e3b295cecc tests/optimize/test_optimize.py:
Added test for gzip ticker file.
BTC_UNITEST-8.json.gz:
Added to test gzip loading.
2018-01-29 10:22:34 +08:00
Gerald Lonlas 20af5049af Thanks Flake8 2018-01-28 16:34:38 -08:00
Gerald Lonlas 3e777a9d87 Add unit test in misc.py to cover datesarray_to_datetimearray() 2018-01-28 16:25:15 -08:00
Gerald Lonlas 36fa5b827d Add unit test on rpc_telegram.py 2018-01-28 16:18:10 -08:00
Gerald Lonlas 7ab2498544 Increase test coverage on optimize.py 2018-01-28 15:33:57 -08:00
Gerald Lonlas df453803ce Increase test coverage on rpc_telegram.py 2018-01-28 15:29:26 -08:00
Gerald Lonlas fd9c62d1c4 Increase test coverage on strategy.py 2018-01-28 15:16:22 -08:00
Gerald Lonlas 25ab08f422 Fix Flake8 warning 2018-01-28 15:03:54 -08:00
Gerald Lonlas d85b56a2bd Add unit test for test_file_dump_json() 2018-01-28 14:38:30 -08:00
Gerald Lonlas 2bccaa31c9 Increase pylint score on misc.py 2018-01-28 14:28:28 -08:00
Gerald Lonlas 45a34be2ac Add more unittest for trim_tickerlist() method 2018-01-28 14:20:20 -08:00
Gerald Lonlas 9f8539f13e Remove unused code on Strategy interface 2018-01-28 13:21:25 -08:00
Michael Smith f66958c34f optimize/__init__.py:
Added support for gzip ticker data files if they exist.
2018-01-28 21:57:25 +08:00
Michael Smith b44adaa5ab Added support in /optimize for gzip ticker data files if they exist. 2018-01-28 21:52:27 +08:00
Jean-Baptiste LE STANG cf4d25d547 Fixing wrong 'old dataframe detection mechanism' for long tickers( > 30 minutes) 2018-01-28 14:40:02 +01:00
Anton Ermak 45239724c6 Skip convert if balance is zero 2018-01-28 16:15:23 +07:00
Janne Sinivirta bb470d0aea
Merge pull request #451 from gcarq/pyup-update-python-bittrex-0.2.2-to-0.3.0
Update python-bittrex to 0.3.0
2018-01-28 11:14:57 +02:00
Samuel Husso 40a78970e1 flake: remove requests as we dont use it 2018-01-28 11:09:03 +02:00
Anton Ermak 81ed7627bf Unit test 2018-01-28 16:08:43 +07:00
Samuel Husso 8be94c4af4 remove custom timeout as the latest bittrex package version implemented it 2018-01-28 11:03:19 +02:00
Janne Sinivirta 9090715ae5 Merge branch 'develop' of github.com:gcarq/freqtrade into develop 2018-01-28 10:46:33 +02:00
Janne Sinivirta a6a479f7aa balances to min roi hyperopt settings 2018-01-28 10:46:22 +02:00
Gerald Lonlas d824816880 Increase pylint score on test files 2018-01-28 00:28:41 -08:00
Gerald Lonlas 776dd4a0d5 Increase pylint score on strategy 2018-01-27 21:26:57 -08:00
Gerald Lonlas 67c6c380e1 Increase pylint score for fiat_convert 2018-01-27 18:23:08 -08:00
Janne Sinivirta 022fedb5d2
Merge pull request #416 from kryofly/plot_profit
Plot profit
2018-01-27 14:02:48 +02:00
Janne Sinivirta 67ddb2e7f8 lower precision for most search space variables 2018-01-27 09:51:06 +02:00
Janne Sinivirta 67995a2f49 remove unnecessary else statements 2018-01-26 19:02:26 +02:00
Janne Sinivirta 1eebbebed1 fix assert order 2018-01-26 19:02:25 +02:00
Janne Sinivirta a5690e707d remove unused parameters 2018-01-26 19:02:25 +02:00
Janne Sinivirta 0ff56c6e8d use uppercase constant 2018-01-26 18:54:15 +02:00
Janne Sinivirta e14007ced4 sort imports 2018-01-26 18:52:39 +02:00
Janne Sinivirta 42919e8864 give type hint for _CONF 2018-01-26 18:49:14 +02:00
Janne Sinivirta 5505845c6f remove unused method parameter 2018-01-26 18:48:53 +02:00
Janne Sinivirta 95ab7c84bc remove unnecessary else 2018-01-26 18:41:41 +02:00
Janne Sinivirta f33923c784 fix typings for hyperopt code 2018-01-26 18:32:45 +02:00
Janne Sinivirta a7a7c37121 add day counter to timeframe 2018-01-26 18:32:45 +02:00
Janne Sinivirta b7e297ebda remove unused loop variable 2018-01-26 11:50:00 +02:00
kryofly fe2f779c47 Merge branch 'develop' into plot_profit 2018-01-26 10:07:48 +01:00
Gerald Lonlas 0baffd94a4 Fix test_clean_dry_run_db failing test 2018-01-25 21:05:10 -08:00
Janne Sinivirta 4fe6ae0bae fix search space for min ROI 2018-01-25 22:32:46 +02:00
Janne Sinivirta 42087c9bfe let hyperopt optimize ROI table 2018-01-25 11:12:00 +02:00
Janne Sinivirta 5007165908 add search space for ROI table 2018-01-25 09:34:26 +02:00
Janne Sinivirta 7dc63c06e7
Merge pull request #356 from kryofly/test_coverage
Test coverage
2018-01-25 09:31:06 +02:00
kryofly 30ca078cec test: use pytest fixture 2018-01-24 11:05:27 +01:00
kryofly a14d9d35c7 tests: run backtest single 2018-01-24 10:32:52 +01:00
Samuel Husso c968b904de
Merge pull request #429 from gcarq/fix/issue-385
Fix dry_run db issue when open_order_id already exist
2018-01-24 07:25:26 +02:00
Janne Sinivirta c400d15ed1 rip out hyperopt things from strategy, add indicator populating to hyperopt 2018-01-23 16:56:12 +02:00
Janne Sinivirta a6cbc1ba16
Merge pull request #400 from gcarq/feature/custom_strategy
Allow custom strategy files
2018-01-23 15:25:18 +02:00
Samuel Husso b11fe2f814
Merge pull request #424 from gcarq/feat/telegram-sell-msg
Feat/telegram sell msg
2018-01-23 10:59:05 +02:00
Gerald Lonlas f4298a7323 Fix dry_run db issue when open_order_id exist 2018-01-22 23:23:29 -08:00
Samuel Husso 93bd63cfbe get rid of / replacements, minor edit to outgoing msg 2018-01-23 08:55:22 +02:00
Gerald Lonlas e220ad5389 Remove useless USDT_BTC filename conversion 2018-01-22 21:40:07 -08:00
Gerald Lonlas 41aa8f18fb Add ticker_interval support in strategy class 2018-01-22 20:51:39 -08:00
Gerald Lonlas 5eb7aa07a1 Update bot version to 0.16.0
This commit is major core upgrade and introduce breaking change.
2018-01-22 20:51:39 -08:00