Commit Graph

752 Commits

Author SHA1 Message Date
gcarq 46080f5168 define _rpc_reload_conf as private method 2018-06-13 15:29:27 +02:00
gcarq 34e10a145c remove Telegram.is_enabled() because RPCManager manages lifecycles 2018-06-13 12:21:54 +02:00
gcarq 3787dad212 don't import python-telegram-bot at runtime if disabled in config 2018-06-13 12:21:54 +02:00
gcarq 4048859912 rpc: remove tuple return madness 2018-06-13 12:21:54 +02:00
gcarq cddb062db5 save rpc instances only in registered_modules, add some abstract methods 2018-06-13 12:21:54 +02:00
xmatthias 0f117d480e improve backtesting-tests
* assert length of result specifically
* add assert for "open_at_end"
2018-06-13 06:42:24 +02:00
xmatthias 8d8e6dcffc Add test for extracted backtest_results test 2018-06-13 06:31:42 +02:00
Michael Egger 59a4dffc56
Merge pull request #901 from freqtrade/fix/backtest_abort_no_data
Check if no backtest data is found and fail gracefully
2018-06-12 02:54:58 +02:00
Anton 708320318c Check minimal amount 2018-06-12 01:05:43 +03:00
xmatthias a0f735d4f2 reduce test-noise 2018-06-11 21:02:24 +02:00
xmatthias 335d1fbbbc Check if no backtest data is found and fail gracefully 2018-06-11 19:50:43 +02:00
Anton ce663f6af5 Merge with develop 2018-06-11 16:25:05 +03:00
Janne Sinivirta c46e50864b
Merge pull request #886 from freqtrade/feature/reload-conf
Reload bot config without restarting
2018-06-11 10:47:00 +03:00
xmatthias a9f3744f1b fix backtest test 2018-06-10 19:46:52 +02:00
xmatthias 9cc087c788 update hyperopt tests to support new structure 2018-06-10 13:56:23 +02:00
xmatthias aff1ede46b Fix last backtesting test 2018-06-10 13:25:52 +02:00
xmatthias 17c0ceec04 adjust tests for backtestresult type 2018-06-10 13:22:24 +02:00
xmatthias c9476fade8 adjust tests for forcesell 2018-06-10 13:20:41 +02:00
xmatthias 7b5a2946e5 adjust for forcesell backtesting 2018-06-10 13:19:32 +02:00
gcarq 61da7f63b2 Merge branch 'develop' of freqtrade into feature/reload-conf 2018-06-09 04:30:23 +02:00
gcarq 0b5d21f32a implement bot reconfiguration and expose it to telegram 2018-06-09 04:29:48 +02:00
gcarq 74db82d759 main: don't touch freqbot state in cleanup()
cleanup() should be only called after the main loop has been exited.
At that point the state shouldn't be modified.
2018-06-09 01:19:42 +02:00
Michael Egger 73c5f0ec90
Merge pull request #872 from freqtrade/feature/improve-error-handling
improve error handling
2018-06-08 22:43:37 +02:00
Michael Egger 66f6e71e7e
Merge pull request #827 from freqtrade/fix/pylint_and_coverage
Increase code coverage and improve Pylint
2018-06-08 22:32:04 +02:00
Samuel Husso 980172a55a
Merge pull request #865 from freqtrade/partial_candle_removal
Partial candle removal
2018-06-08 18:10:21 +03:00
Gerald Lonlas 5ca84acb6d Fix Flake8 2018-06-07 23:12:03 -07:00
Gerald Lonlas 50852136ef Increase FreqtradeBot.get_real_amount() coverage 2018-06-07 22:13:50 -07:00
Gerald Lonlas 20082f52a2 Increase code coverage for FreqtradeBot.process_maybe_execute_sell() 2018-06-07 22:13:50 -07:00
Gerald Lonlas 5ec3eb76eb Cover a edge case of CryptoToFiatConverter::_find_price() 2018-06-07 22:13:50 -07:00
Gerald Lonlas dfbc94c05b Add missing test for CryptoToFiatConverter::convert_amount() 2018-06-07 22:13:50 -07:00
Gerald Lonlas 81ce7d720d Add missing unit test for Arguments::testdata_dl_options() 2018-06-07 22:13:50 -07:00
gcarq 95d6c9c678 adapt tests 2018-06-08 02:01:38 +02:00
Anton b1b87731b1 Support case when _get_trade_stake_amount returns None 2018-06-08 00:54:46 +03:00
Anton b4138f29c8 Merge with develop 2018-06-08 00:29:44 +03:00
gcarq dd3a53fb5f fix tests for main.py 2018-06-07 22:28:21 +02:00
Matthias d23bcc435a
Merge pull request #864 from freqtrade/feature/overhaul-db-handling
Allow custom sqlite database path
2018-06-07 22:18:10 +02:00
gcarq d41f71bc34 handle sqlalchemy NoSuchModuleError 2018-06-07 21:35:57 +02:00
xmatthias f5fe9a4b1c fix rpc tests (add a test with multiple trades
without this, sum/percentage cannot be properly tested.
2018-06-07 20:52:03 +02:00
gcarq 3f5efef6e5 tests: add proper asserts 2018-06-07 20:41:52 +02:00
gcarq d4f8704a4c arguments: implement tests for db_url 2018-06-07 20:30:13 +02:00
Janne Sinivirta f5b47fbd86 flake8 fixes 2018-06-07 20:23:09 +03:00
Janne Sinivirta 3cee04fb8c bot should not repaint: do not include last partial candle in analysis 2018-06-07 20:23:09 +03:00
Samuel Husso ad510b8b5f
Merge pull request #855 from freqtrade/fix-look-ahead
Avoid look-ahead in backtesting
2018-06-07 20:00:46 +03:00
gcarq 17742df591 Merge branch 'develop' of freqtrade into feature/overhaul-db-handling 2018-06-07 17:33:37 +02:00
Michael Egger 867145cd09
Merge pull request #859 from freqtrade/readd_ticker_caching
Re-add ticker caching for rpc operations
2018-06-07 17:15:59 +02:00
Janne Sinivirta b4ae5a36a8 use .copy() to avoid Pandas mistake. drop first row because of shifting 2018-06-07 17:29:40 +03:00
gcarq c3d0980763 test_persistence: fix reference before assignment 2018-06-07 06:06:21 +02:00
gcarq a29ac44d64 adapt tests 2018-06-07 05:27:55 +02:00
xmatthias 7714490530 Test keyerror exception 2018-06-06 21:24:57 +02:00
xmatthias a901f21bcd test ticker caching 2018-06-06 20:24:47 +02:00
xmatthias f37c5b70ba Fix tests - read optional argument 2018-06-05 23:53:49 +02:00
xmatthias 270ccbb0da fix args test 2018-06-05 23:41:50 +02:00
Anton 12d8a8b1a3 Fix review comments 2018-06-06 00:14:28 +03:00
Anton 3030bf9778 Fix types 2018-06-04 01:52:54 +03:00
Anton 87f750da35 Merge with develop 2018-06-04 01:50:10 +03:00
Anton daa9c0c026 Fix review comments 2018-06-04 01:48:26 +03:00
xmatthias e3227a741c add --export-filename for backtesting 2018-06-03 19:36:53 +02:00
Janne Sinivirta 20815771ab
Merge pull request #817 from gcarq/feature/gdax
Enable Backtesting with GDAX and allow trading with EUR/USD
2018-06-03 17:49:20 +03:00
xmatthias 50fc5f91ca Merge branch 'develop' into mypy_typecheck 2018-06-03 10:35:56 +02:00
Gerald Lonlas e8a59f4c20 Add a test to check the behavior when converting two FIAT 2018-06-03 00:13:48 -07:00
Gerald Lonlas 638d98735f Allow fiat_convert to use same symbol for Crypto and FIAT 2018-06-03 00:13:48 -07:00
Gerald Lonlas c9e49ed7b4 Sort ticker_history
CCXT does not sort the ticker history from exchanges.
Bittrex and Binance are sorted ASC (oldest first, newest last) when
GDAX is sorted DESC (newest first, oldest last).

Because of that the get_ticker_history() fall in a very long loop
when the tickers are sorted DESC. Means it downloads more than
needed.

This commit enable exhanges like GDAX and unify the ticker_history
list across all exchanges.
2018-06-03 00:13:48 -07:00
Janne Sinivirta 7edafbb772
Merge pull request #823 from creslinux/timerange_unixtime_argument
Timerange unixtime argument
2018-06-03 07:22:41 +03:00
Gerald Lonlas fe8ff1b929 Fix stake_currency return by Hyperopt
Hyperopt had BTC hard coded in the result. This commit  will display
the real stake_currency used.

If you used `"stake_currency": "USDT",` in your config file.
Before this commit you saw a message like:
"2 trades. Avg profit  0.13%. Total profit  0.00002651 BTC (0.0027Σ%). Avg duration 142.5 mins."

Now with the commit, we fix the wrong BTC currency:
"2 trades. Avg profit  0.13%. Total profit  0.00002651 USDT (0.0027Σ%). Avg duration 142.5 mins."
2018-06-02 14:07:31 -07:00
Gerald Lonlas 127cf5d619 Backtesting: Add the Interval required when data is missing
Change the message:
"No data for pair ETH/BTC, use --refresh-pairs-cached to download the data"
for:
"No data for pair: "ETH/BTC", Interval: 5m. Use --refresh-pairs-cached to download the data"

The message structure is unified with the download message:
"Download the pair: "ETH/BTC", Interval: 5m"
2018-06-02 13:55:05 -07:00
creslinux 94e586c049 Added unit test to check posix time arguments passed to timerange
Here is the pass report:
freqtrade_new creslin$ pytest freqtrade/tests/test_arguments.py
==================================================================== test session starts =====================================================================
platform darwin -- Python 3.6.5, pytest-3.6.0, py-1.5.3, pluggy-0.6.0
rootdir: /Users/creslin/PycharmProjects/freqtrade_new, inifile:
plugins: mock-1.10.0, cov-2.5.1
collected 19 items

freqtrade/tests/test_arguments.py ...................                                                                                                  [100%]

================================================================= 19 passed in 2.37 seconds ==================================================================
2018-06-02 22:46:54 +03:00
xmatthias 9537f17dd4 Fix test 2018-06-02 20:06:29 +02:00
Matthias 81bb128cf7
Merge pull request #822 from gcarq/fix/misleading_log
change misleading logging for datadir
2018-06-02 14:50:27 +02:00
xmatthias d9e951447f remove _init function in backtesting (and according test) 2018-06-02 13:54:22 +02:00
Janne Sinivirta b5c41ca0fc
Merge pull request #820 from gcarq/fix/backtesting_hint
Fix wrong hint '--update-pairs-cached' from Backtesting/Hyperopt
2018-06-02 11:39:09 +03:00
Janne Sinivirta a82a31341b change misleading logging for datadir 2018-06-02 11:32:05 +03:00
Gérald LONLAS 0980e7e82d
Merge pull request #766 from pan-long/forcesell-amount
Sell filled amount or an open limit buy order in forcesell.
2018-06-01 19:51:38 -07:00
Gerald Lonlas 792dd556a1 Fix wrong hint '--update-pairs-cached' from Backtesting/Hyperopt 2018-06-01 19:46:53 -07:00
xmatthias 4eb55acdbc fix typing 2018-05-31 21:04:10 +02:00
Samuel Husso c471ccb2db
Merge pull request #734 from arudov/fix/pair-downloads
Do not download pairs if --refresh-pairs-cached isn't set
2018-05-29 08:05:10 +03:00
Pan Long a98fcee4f9 Sell filled amount or an open limit buy order in forcesell.
Currently forcesell only cancels an open limit buy order and doesn't sell the filled amount.

After this change, forcesell will also update trade's amount to filled amount and sell the filled amount.
2018-05-26 09:55:31 +08:00
Anton 3427c7eb54 Use constants 2018-05-25 17:04:08 +03:00
Anton cf5d691950 Clean the tests 2018-05-25 00:46:08 +03:00
Anton 9be98cd8f7 Add ability to set unlimited stake_amount 2018-05-23 13:15:03 +03:00
Anton 8c22cfce37 Fix tests; fix codestyle 2018-05-21 23:15:01 +03:00
xmatthias e2efd7c6ec add test to verify network exception is cought on init of coinmarketcap 2018-05-21 20:03:25 +02:00
Matthias Voppichler ef78f2f03a Add test for invalid order_fee dict 2018-05-15 20:13:43 +02:00
Matthias Voppichler a1fa688da0 Add tests for the new scenario 2018-05-15 19:49:47 +02:00
Anton d112d90e8e Make telegram message beautiful 2018-05-15 13:37:34 +03:00
Anton f175f48418 Fix get balance functionality 2018-05-15 00:31:56 +03:00
Matthias Voppichler 8549201502 add test for new fiat_convert logic 2018-05-13 20:46:02 +02:00
Matthias Voppichler b1c53ec656 refactor "patch_coinmarketcap" to conftest"
add patch_coinmarketcap to get_patched_freqtradebot
2018-05-13 20:04:40 +02:00
Matthias Voppichler 790f35a5c8 fix test which resets singleton without reinstating it 2018-05-13 20:03:54 +02:00
Matthias Voppichler 8f17b11610 Fix testfluke in hyperopt 2018-05-13 13:38:29 +02:00
Michael Egger 5b25ed99ac
Merge pull request #652 from gcarq/feat/objectify-ccxt
CCXT into use
2018-05-12 14:04:06 +02:00
Michael Egger edd840ac35
Merge pull request #640 from xmatthias/ccxt-obj-slippage
[cxxt][2/2] Add columns for slippage detection
2018-05-12 13:56:15 +02:00
Matthias Voppichler 58425993da Adapt tests to verify pair-conversion and exchange conversion 2018-05-12 13:39:29 +02:00
Matthias Voppichler 631081a2b2 Add additional tests 2018-05-12 10:37:17 +02:00
Matthias Voppichler 8e3ff8235f add explaining comments 2018-05-12 10:31:24 +02:00
Matthias Voppichler ada98abfee fix flake 2018-05-12 10:30:30 +02:00
Matthias Voppichler 49266fc4b8 Add migration test 2018-05-12 10:29:26 +02:00
Michael Egger 1dbdb880e6
Merge pull request #637 from arudov/fix/dl-testdata-period2
Time-range download of backtesting data
2018-05-07 17:19:54 +02:00
Anton 932b65da27 Fix test_optimize.py 2018-05-04 13:59:50 +03:00
Gert Wohlgemuth 6d2afdb146 added support for showing the exposed real value on the count table (#634) 2018-05-03 11:18:35 +02:00
gcarq 43fd9b37df fix 'max_open_trades must be greater than 0' regression 2018-05-03 10:48:25 +02:00
Anton ceeb98dda9 Fix conflicts 2018-05-03 11:16:29 +03:00
gcarq 306885e174 Merge branch 'develop' into feat/objectify-ccxt 2018-05-02 22:49:55 +02:00
Michael Egger 90a107393a
Merge pull request #622 from gcarq/fix/dl-testdata
fix download testdata
2018-05-02 22:06:43 +02:00
gcarq a76ed88496 Merge branch 'feat/objectify-ccxt' into feature/catch-exchange-errors 2018-05-02 20:03:13 +02:00
Anton 24ab1b5be5 Fix review comments, documenation update 2018-05-01 00:27:05 +03:00
Anton 2267a420a4 Fix codestyle 2018-04-28 00:30:42 +03:00
Anton 82ea56c8fd Fix review comments. Add support of datetime timeganges 2018-04-28 00:16:34 +03:00
Michael Egger ecaf6b763c
Merge pull request #623 from xmatthias/cxxt_obj_sellfix
[cxxt][1/2] fix fee calculation in binance
2018-04-26 19:58:24 +02:00
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 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
Matthias Voppichler 9450b76414 improve style of import in test 2018-04-23 20:08:58 +02:00
Matthias Voppichler f580fbb91d remove maybe_update_amount and tests 2018-04-23 20:03:10 +02:00
gcarq aa213a3640 cancel_order: handle InvalidOrder exception 2018-04-23 16:58:32 +02:00
gcarq 5baab91bb5 catch TemporaryError for buy/sell in _process() 2018-04-22 20:28:39 +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 fded8e5117 move download_backtest_data to scripts 2018-04-22 10:56:49 +03: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 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
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
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
gcarq 09fb4ea584 add mocks for exchange.get_fee 2018-04-21 19:39:18 +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 1d43dc229b refactor tests of get_real_amount 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
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
enenn 94287d66a8 Flake8 fixes 2018-04-12 18:16:27 +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