Commit Graph

1515 Commits

Author SHA1 Message Date
Matthias 64f933477d
Merge pull request #1007 from freqtrade/remove-analyze
Remove Analyze
2018-07-19 10:12:36 +02:00
Matthias 75c0a476f8 Test setting verbosity in commandline 2018-07-18 23:40:04 +02:00
Matthias 1ab7f5fb6d add tests for more debug levels 2018-07-18 22:53:44 +02:00
Matthias 789b98015f Allow different loglevels 2018-07-18 22:52:57 +02:00
Matthias 7134c15e86
Merge pull request #1024 from freqtrade/feature/webhook
Feature/webhook
2018-07-18 20:39:57 +02:00
Matthias 79b1030435 output duration in a more readable way 2018-07-18 20:08:55 +02:00
Matthias f9f6a3bd04
cast to int to keep exports constant 2018-07-18 09:29:51 +02:00
Matthias 8e4d2abd4e
Fix typo 2018-07-18 09:10:17 +02:00
Matthias 08237abe20
Fix wrong backtest duration
identified in #1038
2018-07-18 09:06:12 +02:00
Luis Felipe Diaz Chica ee8e890f50 Add docs to get_trade_stake_amount function 2018-07-18 01:36:39 -05:00
Matthias 3df79b8542 fix hanging intend 2018-07-17 21:12:05 +02:00
Matthias c82276ecbe add --disable-max-market-positions 2018-07-17 21:05:03 +02:00
Matthias e17618407b Rename --realistic-simulation to --enable-position-stacking 2018-07-17 20:26:59 +02:00
Janne Sinivirta 85fd4dd3ff rename analyze.py to exchange_helpers.py 2018-07-17 21:26:52 +03:00
Janne Sinivirta e11ec28962 remove leftover commented-out code 2018-07-17 11:13:35 +03:00
Janne Sinivirta 084264669f fix the last failing unit test 2018-07-17 11:02:07 +03:00
Janne Sinivirta dbc3874b4f __init__ must return None to please mypy 2018-07-17 10:47:15 +03:00
Janne Sinivirta 78af4bc785 move and fix tests from Analyze to interface of strategy 2018-07-17 10:23:04 +03:00
Samuel Husso a3466f4b42
Merge pull request #1031 from freqtrade/feat/update_configdict
Update config dict with attributes loaded from strategy
2018-07-16 10:00:46 +03:00
Samuel Husso 050afe2bc0
Merge pull request #979 from creslinux/Check_timeframes
Handle if ticker_interval in config.json is not supported on exchange.
2018-07-16 09:57:46 +03:00
Janne Sinivirta 5c87c420c7 restore one analyze test 2018-07-16 08:59:14 +03:00
Janne Sinivirta aeb4102bcb refactor Analyze class methods to base Strategy class 2018-07-16 08:23:39 +03:00
Janne Sinivirta f6b8c2b40f move parse_ticker_dataframe outside Analyze class 2018-07-16 08:23:39 +03:00
Janne Sinivirta 85e6c9585a remove pass-through methods from Analyze 2018-07-16 08:23:39 +03:00
Janne Sinivirta a74147c472 move strategy initialization outside Analyze 2018-07-16 08:23:39 +03:00
Matthias 158226012a consistent use of the config dict within the test 2018-07-15 09:08:14 +02:00
Matthias b4ba641131 Update config dict with attributes loaded from strategy 2018-07-15 09:01:08 +02:00
Matthias 278e7159bc adjust webhook tests 2018-07-14 13:32:35 +02:00
Matthias 1284627219 move url to private class level 2018-07-14 13:32:35 +02:00
Matthias 120fc29643 use dict comprehension 2018-07-14 13:32:35 +02:00
Matthias 6336d8a0e2 remove copy leftover 2018-07-14 13:32:35 +02:00
Matthias ee2f6ccbe9 Add test for enable_webhook 2018-07-14 13:32:35 +02:00
Matthias 144d308e5e Allow enabling of webhook 2018-07-14 13:32:35 +02:00
Matthias a4643066a8 allow more flexibility in webhook 2018-07-14 13:32:35 +02:00
Matthias 25250f7c10 don't hardcode post parameters 2018-07-14 13:32:35 +02:00
Matthias fa8512789f add tests for webhook 2018-07-14 13:32:35 +02:00
Matthias ae22af1ea3 fix typo 2018-07-14 13:32:35 +02:00
Matthias 6e16c1d80d add webhook test file 2018-07-14 13:32:35 +02:00
Samuel Husso fa8b349200 rpc: dont re-use variables with different types 2018-07-14 08:02:39 +03:00
gcarq cb8cd21e22 add tests for telegram.send_msg 2018-07-12 17:50:11 +02:00
gcarq a559e22f16 remove duplicate send_msg invocation 2018-07-12 17:29:02 +02:00
gcarq 7eaeb8d146 status: return arrow object instead humanized str 2018-07-12 17:27:40 +02:00
gcarq 0920fb6120 use more granular msg dict for buy/sell notifications 2018-07-12 17:16:31 +02:00
gcarq 4cb1aa1d97 use dict as argument for rpc.send_msg 2018-07-12 17:12:42 +02:00
gcarq 96a405feb7 implement name property in abstract class 2018-07-12 17:11:31 +02:00
gcarq 112998c205 refactor _rpc_balance 2018-07-12 17:11:31 +02:00
gcarq f1a370b3b9 return dict from _rpc_status and handle rendering in module impl 2018-07-12 17:10:04 +02:00
gcarq 29670b9814 remove markdown formatting from exception string 2018-07-12 17:07:19 +02:00
gcarq df8ba28ce5 convert start, stop and reload_conf to return a dict 2018-07-12 17:07:19 +02:00
Matthias 06c9494a46
add missing s to Backtest cum results 2018-07-11 14:50:04 +02:00
Janne Sinivirta 1f16ff268f
Merge pull request #1010 from jblestang/refactoring_create_trade_function
Refactoring Create Trade
2018-07-11 07:23:03 +03:00
Janne Sinivirta aa2366346a
Merge pull request #1001 from xmatthias/feat/backtest_cum_profit
Add cumulative profit to backtest result table
2018-07-11 07:21:28 +03:00
Jean-Baptiste LE STANG 773fb5953b Reafcotring Create Trade 2018-07-10 15:10:56 +02:00
Matthias 85c60519b0 Fix test crash 2018-07-09 22:11:12 +02:00
Matthias 750d737b7d Add tests for change to open_rate 2018-07-08 20:18:34 +02:00
Matthias 8b06000f0f Use open-rates for backtesting 2018-07-08 20:03:11 +02:00
Matthias efaa8f16e7 Improve formattiong of table 2018-07-08 20:01:33 +02:00
Matthias 38487644f0 fix tests for backtest-result output table 2018-07-08 19:55:16 +02:00
Matthias 1a24afef77 add cumsum to backtest-results 2018-07-08 19:55:04 +02:00
Janne Sinivirta 8fb146ba6a
Merge pull request #992 from freqtrade/backtest_optimize
reduce calculation effort by removing a call to calc_profit_percent
2018-07-08 17:41:50 +03:00
Janne Sinivirta 6926e468a4
Merge pull request #984 from freqtrade/test_backtest_results
Test backtest results
2018-07-08 17:40:12 +03:00
Matthias 8dd6e29426 don't flag data as outdated which isn't 2018-07-08 13:34:47 +02:00
Matthias 3e03a208f1 reduce calculation effort (slightly!) 2018-07-07 20:17:53 +02:00
Matthias 570d27a0c4 Add testcase where ticker_interval is not in the configuration 2018-07-07 15:30:29 +02:00
Matthias 3f6e9cd28f Add tests for validate_timeframes 2018-07-07 14:42:53 +02:00
Matthias af17cef002 fix existing tests to work with validate_timeframes 2018-07-07 14:41:42 +02:00
Matthias 9906da46f6 move comment to correct place 2018-07-06 20:00:54 +02:00
Matthias 54976fa103 Add more tests to validate buy/sell rows 2018-07-06 19:56:16 +02:00
Gert Wohlgemuth 1897a1cb6a fixed mypy issues, seriosuly... 2018-07-05 16:10:38 -07:00
Gert Wohlgemuth 58879ff012 fixed braket 2018-07-05 15:01:53 -07:00
Gert Wohlgemuth e1f5745f59
Update resolver.py 2018-07-05 14:50:23 -07:00
Gert Wohlgemuth 1c48902e64
Merge branch 'develop' into BASE64 2018-07-05 14:40:04 -07:00
Gert Wohlgemuth 8bbee4038b integrated BASE64 encoded strategy loading 2018-07-05 14:30:24 -07:00
Matthias c35d1b9c9d Add test which checks the backtest result 2018-07-05 23:22:35 +02:00
Samuel Husso e808b3a2a1 rpc: get rid of extra else and fix mypy warning 2018-07-05 10:47:08 -05:00
Samuel Husso df68b0990f rpc: fstrings 2018-07-05 10:11:29 -05:00
Samuel Husso adbffc69e1 telegram: fstrings in use 2018-07-05 10:11:29 -05:00
Samuel Husso a2063ede55 persistence: fstrings in use 2018-07-05 10:11:29 -05:00
Samuel Husso 7dca3c6d03 freqtradebot,main,hyperopt: fstrings in use 2018-07-05 10:11:29 -05:00
Samuel Husso 03c112a601 config, optimize: fstrings in use 2018-07-05 10:11:29 -05:00
creslinux 5ab644dea6 flake 8 fix 2018-07-05 12:05:31 +00:00
creslinux 966668f48a Handle if ticker_interval in config.json is not supported on exchange.
Returns.

Tested positive and negative data.
The ticker list in constants.py may be obsolete now, im not sure.

 raise OperationalException(f'Invalid ticker {timeframe}, this Exchange supports {timeframes}')
freqtrade.OperationalException: Invalid ticker 14m, this Exchange supports {'1m': '1m', '3m': '3m', '5m': '5m', '15m': '15m', '30m': '30m', '1h': '1h', '2h': '2h', '4h': '4h', '6h': '6h', '8h': '8h', '12h': '12h', '1d': '1d', '3d': '3d', '1w': '1w', '1M': '1M'}
2018-07-05 11:57:59 +00:00
Samuel Husso d8d0579c5a
Merge pull request #930 from freqtrade/skopt
Replace Hyperopt with scikit-optimize
2018-07-04 13:51:14 -05:00
Janne Sinivirta bf4d0a9b70 sort imports 2018-07-04 10:31:35 +03:00
Janne Sinivirta 96bb2efe69 use joblib.dump and load for trials 2018-07-03 23:08:29 +03:00
Janne Sinivirta c4a8435e00 change pickle file name to better suit it's current purpose 2018-07-03 22:17:43 +03:00
Janne Sinivirta 9dbe0f50a3 fix tests after changing the dumping and pickling dataframe in hyperopt 2018-07-03 22:09:59 +03:00
Janne Sinivirta 3a7056ea1b run at least one epoch 2018-07-03 21:55:22 +03:00
Janne Sinivirta 2cde540645 remove dead code 2018-07-03 21:50:45 +03:00
Janne Sinivirta ef59f9ad24 sort imports in hyperopt.py 2018-07-03 21:50:24 +03:00
Janne Sinivirta ee4754cfb9 avoid re-serialization of whole dataframe 2018-07-03 14:49:58 +03:00
Janne Sinivirta 2713fdb860 use cpu count explicitly in job count 2018-07-03 11:46:56 +03:00
Janne Sinivirta 79aab4cce2 use fstring 2018-07-03 11:44:54 +03:00
Janne Sinivirta fa8fc3e4ce handle the case where we have zero buys 2018-07-02 11:46:55 +03:00
Janne Sinivirta aec3f582e1 Merge branch 'develop' into skopt 2018-07-02 11:27:27 +03:00
xmatthias 3c5be55eb9 remove unnecessary variable 2018-07-01 20:17:30 +02:00
xmatthias 782570e71e Address PR comment 2018-07-01 20:03:07 +02:00
Matthias ed2a1becef
Merge branch 'develop' into feat/stop_loss 2018-07-01 20:01:02 +02:00
xmatthias 937644a04b change while-loop to enumerate - add intensified test for this scenario 2018-07-01 19:55:51 +02:00
xmatthias e39d88ef65 Address some PR comments 2018-07-01 19:54:26 +02:00
Michael Egger f91263c8ef
Merge pull request #966 from freqtrade/feat/revamp_exchangetest
Rewrite standard ccxt exception handling
2018-07-01 19:47:57 +02:00
Michael Egger e2127f5af1
Merge pull request #969 from xmatthias/split_unfilled
separating unfulfilled timeouts for buy and sell
2018-07-01 19:47:24 +02:00
xmatthias 2dc881558d address PR comments 2018-07-01 19:41:19 +02:00
xmatthias c66f858b98 rename innerfun to mock_ccxt_fun 2018-07-01 19:37:55 +02:00
Michael Egger 8023fdf923
Merge pull request #971 from freqtrade/fix/nonmocked_markets
Add get_markets mock to new tests
2018-07-01 15:11:22 +02:00
Michael Egger 2cee8e52c1
Merge pull request #965 from freqtrade/fix/fix_959
catch crash with cobinhood
2018-07-01 14:28:01 +02:00
xmatthias 9e3e900f78 Add get_markets mock to new tests 2018-06-30 17:49:46 +02:00
Nullart 98108a78f1 separating unfulfilled timeouts for buy and sell 2018-06-30 13:44:42 +02:00
Janne Sinivirta 0ce08932ed mypy fixes 2018-06-30 09:54:31 +03:00
Michael Egger 6dd5f85fb6
Merge pull request #954 from freqtrade/feat/allow_backtest_plot
allow backtest ploting
2018-06-29 19:44:06 +02:00
xmatthias cf6b1a637a increase exchange code coverage 2018-06-28 22:32:28 +02:00
xmatthias dcdc18a338 rename test-function 2018-06-28 22:18:38 +02:00
xmatthias 15c7854e7f add test for exchange_has 2018-06-28 22:11:45 +02:00
xmatthias fe8a21681e add test for Not supported 2018-06-28 21:56:37 +02:00
xmatthias ebbfc720b2 increase test coverage 2018-06-28 21:51:59 +02:00
xmatthias 8ec9a09749 Standardize retrier exception testing 2018-06-28 21:22:43 +02:00
xmatthias 2d4ce593b5 catch crash with cobinhood
fixes #959
2018-06-28 19:53:51 +02:00
xmatthias d5ad066f8d support multiple db transitions by keeping the backup-table dynamic 2018-06-27 20:15:25 +02:00
xmatthias 860b270e30 update db migrate script to work for more changes 2018-06-27 19:49:08 +02:00
xmatthias 8ecdae67e1 add mypy ignore (and comment as to why) 2018-06-27 06:57:41 +02:00
xmatthias 78e6c9fdf6 add tests for trailing stoploss 2018-06-27 06:52:31 +02:00
xmatthias c997aa9864 move initial logic to persistence 2018-06-27 06:38:49 +02:00
xmatthias a91d75b3b2 Add test for adjust_stop-loss 2018-06-27 06:23:49 +02:00
xmatthias e9d5bceeb9 cleanly check if stop_loss is initialized 2018-06-27 00:18:50 +02:00
xmatthias 88b898cce4 add test for moving stoploss 2018-06-27 00:18:30 +02:00
xmatthias 8bec505bbe add test for trailing_stoploss 2018-06-26 23:40:36 +02:00
xmatthias a3708bc56e add missing test 2018-06-26 23:40:20 +02:00
xmatthias da5be9fbd0 add stop_loss based on work from @berlinguyinca 2018-06-26 23:06:27 +02:00
xmatthias 5015bc9bb0 slight update to persistence 2018-06-26 22:41:28 +02:00
xmatthias 243c36b39b get persistence.py for stop_loss 2018-06-26 20:49:07 +02:00
Janne Sinivirta 2b6407e598 remove unused tests from hyperopt 2018-06-25 11:38:42 +03:00
Janne Sinivirta 0bddc58ec4 extract loading previous results to a method 2018-06-25 11:38:14 +03:00
xmatthias 43f1a1d264 rework download_backtest script 2018-06-24 19:52:12 +02:00
xmatthias e70cb963f7 document what to do with exported backtest results 2018-06-24 17:00:00 +02:00
Janne Sinivirta 118a43cbb8 fixing tests for hyperopt 2018-06-24 15:27:53 +03:00
Samuel Husso 3384679bad bump develop to 0.17.1 2018-06-23 09:38:20 -05:00
Michael Egger beb15532f7
Merge pull request #950 from freqtrade/fix-filenotfounderror
StrategyResolver: Don't fail if user_data isn't present
2018-06-23 16:07:52 +02:00
Anton f82b809fcf Merge with develop 2018-06-23 16:50:27 +03:00
Janne Sinivirta 642ad02316 remove unused import 2018-06-23 15:56:38 +03:00
Janne Sinivirta ab9e2fcea0 fix guard names to match search space 2018-06-23 15:47:19 +03:00
Janne Sinivirta 136456afc0 add three triggers to hyperopting 2018-06-23 15:44:51 +03:00
gcarq 4ea5fcc661 resolver: don't fail if user_data can't be found 2018-06-23 14:42:22 +02:00
gcarq 9c66c25890 resolver: use current folder instead of script folder to find user_data 2018-06-23 14:34:36 +02:00
xmatthias 0440a19171 export open/close rate for backtesting too
preparation to allow plotting of backtest results
2018-06-23 14:19:50 +02:00
gcarq 0b3e4f6bcd remove dead code 2018-06-23 13:50:49 +02:00
gcarq 295dfe2652 persistence: remove obsolete global _CONF variable 2018-06-23 13:50:22 +02:00
Michael Egger df9015a7f1
Merge pull request #942 from xmatthias/feat/buy_on_sell_first
Introduce ignore_roi_if_buy_signal parameter to avoid sell/buy scenarios
2018-06-23 13:42:03 +02:00
Janne Sinivirta e8f2e6956d to avoid pickle problems, get rid of reference to exchange after initialization 2018-06-23 14:37:36 +03:00
Janne Sinivirta a525cba8e9 switch signal handler to try catch. fix pickling and formatting output 2018-06-23 14:37:36 +03:00
Janne Sinivirta 8272120c3a convert stoploss and ROI search spaces to skopt format 2018-06-23 14:37:36 +03:00
Janne Sinivirta 8fee2e2409 move result logging out from optimizer 2018-06-23 14:37:36 +03:00
Janne Sinivirta c415014153 use multiple jobs in acq 2018-06-23 14:37:36 +03:00
Janne Sinivirta 964cbdc262 increase initial sampling points 2018-06-23 14:37:36 +03:00
Janne Sinivirta a46badd5c0 reuse pool workers 2018-06-23 14:37:36 +03:00
Janne Sinivirta 0cb1aedf5b problem with pickling 2018-06-23 14:37:36 +03:00
Janne Sinivirta b485e6e0ba start small 2018-06-23 14:37:36 +03:00
gcarq 810d7de869 tests: add dir() assertion 2018-06-23 14:37:36 +03:00
gcarq 398b21a11d implement test for import_strategy 2018-06-23 14:37:36 +03:00
gcarq 78f50a1471 move logic from hyperopt to freqtrade.strategy 2018-06-23 14:37:36 +03:00
gcarq 5aae215c94 wrap strategies with HyperoptStrategy for module lookups with pickle 2018-06-23 14:37:36 +03:00
Janne Sinivirta 01d45bee76 fix flake8 2018-06-23 14:37:36 +03:00
Janne Sinivirta c1691f21f3 check that we set fee on backtesting init 2018-06-23 14:37:36 +03:00
Janne Sinivirta a68c90c512 avoid calling exchange.get_fee inside loop 2018-06-23 14:37:36 +03:00
xmatthias fc219b4e94 move experimental eval below stop_loss_reached to improve performance 2018-06-23 13:10:08 +02:00
gcarq 818a6b12ed tests: add dir() assertion 2018-06-23 11:57:26 +02:00
gcarq 4bd61df3a7 implement test for import_strategy 2018-06-23 11:14:31 +02:00
gcarq c40e6a12d1 move logic from hyperopt to freqtrade.strategy 2018-06-23 11:13:49 +02:00
gcarq 3360bf4001 wrap strategies with HyperoptStrategy for module lookups with pickle 2018-06-23 10:42:33 +02:00
Janne Sinivirta 9a07d57ed7 fix flake8 2018-06-23 07:58:25 +03:00
xmatthias 2be7b3d9eb fix mocked bid-value to match limt_buy_order config 2018-06-22 21:24:21 +02:00
xmatthias e2a2a0be9b extract stop_loss_reached to allow check before ignore_roi_if_buy_signal 2018-06-22 21:21:34 +02:00
Janne Sinivirta f7e5d2c3a5 check that we set fee on backtesting init 2018-06-22 21:55:09 +03:00
xmatthias cbfee51f32 introduce experimental variable and fix test naming 2018-06-22 20:51:21 +02:00
xmatthias 8a44dff595 don't sell if buy is still active 2018-06-22 20:23:23 +02:00
Janne Sinivirta c73b9f5c77 avoid calling exchange.get_fee inside loop 2018-06-22 21:04:07 +03:00
Janne Sinivirta 5fcdd3831c
Merge pull request #928 from freqtrade/feat/objectify_exchange
Objectify exchange
2018-06-22 06:36:14 +03:00
xmatthias 7f927b4d7a Squashed commit of the following:
commit 435f299bcf
Author: Gert Wohlgemuth <berlinguyinca@gmail.com>
Date:   Wed Jun 20 01:57:28 2018 -0700

    improve readability of outdated history code
2018-06-21 20:47:53 +02:00
xmatthias f7b46d5404 update docstring 2018-06-18 22:34:28 +02:00
xmatthias 896afe7118 convert get_name and get_id to properties 2018-06-18 22:20:50 +02:00
xmatthias ef53134499 lowercase variables 2018-06-18 22:09:46 +02:00
xmatthias c31519fdb2 lowercase _api object 2018-06-18 22:07:15 +02:00
xmatthias 162f948729 add test for non-configured exchange 2018-06-18 19:56:23 +02:00
xmatthias ae4c4e77bf standardize exception tests - add one more 2018-06-18 19:46:42 +02:00
xmatthias 695beecf14 add test for get_markets 2018-06-18 19:36:36 +02:00
xmatthias 520c7feeab Add test for fetch_tickers 2018-06-17 23:38:07 +02:00
xmatthias 1e3d722bc2 add test for get_trades 2018-06-17 23:38:07 +02:00
xmatthias c9f8dfc6c5 increase get_fee coverage 2018-06-17 23:38:07 +02:00
xmatthias d156de39f1 Increase test-coverage 2018-06-17 23:38:07 +02:00
xmatthias 2b099a89e4 fix styling issues 2018-06-17 23:38:07 +02:00
xmatthias 6e6ec969eb cleanup mockings 2018-06-17 23:38:07 +02:00
xmatthias e194af8d25 Streamline validate_pair patching 2018-06-17 23:38:07 +02:00
xmatthias ace5198475 fix optimize tests 2018-06-17 23:38:07 +02:00
xmatthias 52d36c33cf fix optimie test 2018-06-17 23:38:07 +02:00
xmatthias 251f7db3ca require exchange object to delete pairs 2018-06-17 23:38:07 +02:00
xmatthias c83e8b7cb5 fix rpc_test 2018-06-17 23:38:07 +02:00
xmatthias 64e09f74a1 fix rpc tests 2018-06-17 23:38:07 +02:00
xmatthias 63b568989a Fix rpc for exchange objectify 2018-06-17 23:38:07 +02:00
xmatthias 975b42caa3 fix tests for exchange objectify 2018-06-17 23:38:07 +02:00
xmatthias 75d02df60d add exchange to call get_singal 2018-06-17 23:38:07 +02:00
xmatthias 082b6077e9 Fix tests analyze 2018-06-17 23:38:07 +02:00