Commit Graph

1487 Commits

Author SHA1 Message Date
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
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
xmatthias
e8ab76f55b fix small in tests 2018-06-17 23:38:07 +02:00
xmatthias
495f15f13c fix exchange tests 2018-06-17 23:38:07 +02:00
xmatthias
68f6423d39 fix most tests 2018-06-17 23:38:07 +02:00
xmatthias
67d345bc08 fix tests for objectify exchange 2018-06-17 23:38:07 +02:00
xmatthias
a159db6863 get_exchange 2018-06-17 23:38:07 +02:00
xmatthias
dea26fadfe move init_ccxt to class 2018-06-17 23:38:07 +02:00
xmatthias
21edcbdc27 Refactor exchange to class 2018-06-17 23:38:07 +02:00
Janne Sinivirta
c608f1e21e
Merge pull request #923 from freqtrade/fix_test_hyperopt
fix hyperopt test when no config.json exists
2018-06-17 16:07:57 +03:00
Michael Egger
5ce2071279
Merge pull request #925 from freqtrade/increase_test_cov_configuration
increase test-coverate for configuration
2018-06-17 13:19:16 +02:00
Anton
ae94ab17f4 Merge branch 'develop' into feature-unlimited-stake_amount 2018-06-17 02:23:40 +03:00
Anton
eb909068c5 Add minimal pair stake amount check 2018-06-17 02:23:12 +03:00
xmatthias
972736f0ab increase test-coverate for configureation 2018-06-16 20:55:35 +02:00
xmatthias
7564f7e526 fix hyperopt test when no config.json exists 2018-06-16 13:49:03 +02:00
xmatthias
fa00157d12 Fix fiat_convert missing mockups 2018-06-16 13:42:25 +02:00
Matthias
a5511e2e30
Merge pull request #894 from freqtrade/feature/force_close_backtest
Display open trades after backtest period
2018-06-16 12:49:08 +02:00
Janne Sinivirta
0c85febe76 remove all mongodb related code 2018-06-16 09:09:28 +03:00
Janne Sinivirta
c1f8f641e6 remove use of hyperopt_conf.py 2018-06-16 09:09:28 +03:00
xmatthias
c0289ad844 use list comprehension to build list 2018-06-13 19:53:12 +02:00
xmatthias
e600be4f56 Reduce force-sell verbosity 2018-06-13 19:44:00 +02:00
gcarq
d684ff5715 drop zlma implementation 2018-06-13 16:20:13 +02:00
ran
6edb25f5c2 fixed heikenashi calculation 2018-06-13 16:17:42 +02:00
ran
e6e5c5daf0 added zlma 2018-06-13 16:16:02 +02:00
ran
61f92b7460 bugfix 2018-06-13 16:13:36 +02:00
gcarq
46080f5168 define _rpc_reload_conf as private method 2018-06-13 15:29:27 +02:00
gcarq
e14c9e2090 fix potential cleanup issue 2018-06-13 12:21:54 +02:00
gcarq
83eb7a0a9d adjust logging a bit and add some comments 2018-06-13 12:21:54 +02:00
gcarq
6c1bb7983b rpc: make freqtrade a private variable 2018-06-13 12:21:54 +02:00
gcarq
34e10a145c remove Telegram.is_enabled() because RPCManager manages lifecycles 2018-06-13 12:21:54 +02:00