Commit Graph

286 Commits

Author SHA1 Message Date
hroff-1902 e3b0474901
Merge branch 'develop' into hyperopt-jobs 2019-04-23 21:34:38 +03:00
hroff-1902 cc9f899cd6 removed explicit dependency on multiprocessing module 2019-04-23 21:25:36 +03:00
hroff-1902 a022b1a6c1 --random-state for optimzer to get reproducible results added 2019-04-23 21:18:52 +03:00
Matthias 4971b9fc39
Merge pull request #1793 from hroff-1902/hyperopt-debug-state
hyperopt: print optimizer state in debug log messages
2019-04-23 20:11:04 +02:00
hroff-1902 3e3fce5f38 print optimizer state in debug log messages 2019-04-23 09:49:24 +03:00
hroff-1902 7c8e26c717 -j/--job-workers option added for controlling the number of joblib parallel worker processes used in hyperopt
docs refreshed
2019-04-23 00:52:07 +03:00
hroff-1902 ad85ac3dde make --refresh-pairs-cached common option for optimization; added support for it into hyperopt 2019-04-22 21:24:45 +03:00
hroff-1902 6b87d94bb0 --print-all command line option added for hyperopt 2019-04-22 01:10:01 +03:00
Matthias 1340b71633 Add RunMode setting to determine bot state 2019-01-22 07:04:19 +01:00
Matthias 40b1d8f067 Fix CI problems 2019-01-06 14:57:14 +01:00
Matthias dd2af86a41 pprint results 2019-01-06 14:47:38 +01:00
Matthias a0df7b9d7c Use sell/buy trends from hyperopt file if available 2019-01-06 14:12:55 +01:00
Matthias 2147bd8847 Fix problem when no experimental dict is available 2019-01-06 13:29:14 +01:00
Matthias 68ba1e1f37 Add sell signal hyperopt 2019-01-06 13:29:14 +01:00
Matthias 6c02cc5993 Adjust test to pathlib 2018-12-15 14:14:38 +01:00
Matthias 21aba1620c Replace calls to load_data 2018-12-15 14:10:33 +01:00
Matthias 432cc00283 Adjust imports to data.history 2018-12-14 06:32:49 +01:00
Matthias 3ac2106a16
Merge pull request #1290 from freqtrade/fix/backtest_toomanyopen
fix backtesting not respecting max_open_trades
2018-11-30 19:17:09 +01:00
Matthias cc7b820978 Move hyperoptresolver to resolvers package 2018-11-24 20:14:08 +01:00
Matthias 805f509498 Merge branch 'develop' into fix/backtest_toomanyopen 2018-11-24 10:39:16 +01:00
Matthias 7757c53b06 Small fixes 2018-11-20 17:43:49 +01:00
Matthias 5dd013c3b1 Rename hyperopt interface and resolver 2018-11-20 17:40:45 +01:00
Matthias 4f800bfbc8 Fix pickling-error 2018-11-14 20:25:43 +01:00
Matthias 9cd2ed5a16 fix hyperopt get_timeframe mock 2018-11-09 07:13:20 +01:00
Matthias 96efd12a31 add new options to hyperopt 2018-11-09 07:12:41 +01:00
Matthias 7b62e71f23 Fix some tests and rebase issues 2018-11-07 20:45:52 +01:00
Stephen Dade 477515c4b5 Now using resolver for custom hyperopts 2018-11-07 06:58:20 +01:00
Stephen Dade 469db0d434 Decoupled custom hyperopts from hyperopt.py 2018-11-07 06:26:16 +01:00
Matthias 8a3272e7c5 don't copy tickerdata_to_dataframe into backtesting
it's used only once, so this does not make sense and hides the origin of
the function
2018-10-17 19:47:19 +02:00
Matthias 84622dc84b Move test for strategy out of constructor 2018-09-29 14:23:53 +02:00
Matthias 1b290ffb5d Update hyperopt to show errors if non-supported variables are used 2018-09-29 13:49:38 +02:00
Matthias 787d6042de Switch from pair(str) to metadata(dict) 2018-07-29 20:56:23 +02:00
Matthias 5fbce13830 update hyperopt to use new methods 2018-07-29 20:55:40 +02:00
Matthias 98665dcef4 revert inadvertent wihtespace changes 2018-07-29 20:55:37 +02:00
Gert Wohlgemuth 0dcaa82c3b fixed test? 2018-07-29 20:55:06 +02:00
Gert Wohlgemuth 3dd7d209e9 more test fixes 2018-07-29 20:55:06 +02:00
Gert Wohlgemuth abc55a6e6b fixing? hyperopt 2018-07-29 20:55:06 +02:00
Janne Sinivirta 0cc1b66ae7
Merge pull request #1037 from freqtrade/fix/backtest-comment
replace --realistic with 2 separate flags
2018-07-19 17:33:19 +03:00
Matthias 8f254031c6 Add short form for parameters, change default for hyperopt 2018-07-19 13:19:36 +02:00
Matthias e17618407b Rename --realistic-simulation to --enable-position-stacking 2018-07-17 20:26:59 +02:00
Janne Sinivirta aeb4102bcb refactor Analyze class methods to base Strategy class 2018-07-16 08:23:39 +03:00
Samuel Husso 7dca3c6d03 freqtradebot,main,hyperopt: fstrings in use 2018-07-05 10:11:29 -05: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 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 0ce08932ed mypy fixes 2018-06-30 09:54:31 +03:00
Janne Sinivirta 0bddc58ec4 extract loading previous results to a method 2018-06-25 11:38:14 +03:00
Janne Sinivirta 118a43cbb8 fixing tests for hyperopt 2018-06-24 15:27:53 +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
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 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
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 4710210cff fix hyperopt to use new backtesting result tuple 2018-06-10 13:56:10 +02:00
xmatthias 7a34578b4d refactor timerange to named tuple 2018-06-05 23:34:26 +02:00
xmatthias 50fc5f91ca Merge branch 'develop' into mypy_typecheck 2018-06-03 10:35:56 +02:00
Janne Sinivirta a657e3d24a
Merge pull request #826 from gcarq/fix/hyperopt-stake_currency
Fix stake_currency returned by Hyperopt  …
2018-06-03 07:19:24 +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 dc65753a64 Fix the in-progress dot that does not show up during a Hyperopt run 2018-06-02 12:35:07 -07:00
xmatthias 3447e4bb97 comment on ignore hint 2018-06-02 14:13:17 +02:00
xmatthias 0a595190a3 fix last typechecks 2018-06-02 13:59:35 +02:00
xmatthias 4a322abd4d Typecheck improvements 2018-06-02 13:44:05 +02:00
xmatthias 3fb1dd02f1 add typehints and type: ignores 2018-05-31 22:00:46 +02:00
gcarq 306885e174 Merge branch 'develop' into feat/objectify-ccxt 2018-05-02 22:49:55 +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
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 d2aea7bdc1 optimize imports 2018-03-20 19:50:04 +01:00
gcarq 5327533188 optimize: set correct typehints 2018-03-20 19:48:03 +01:00
Gerald Lonlas 0bb7cc8ab5 Hyperopt: fix 'Ran out of input' error 2018-03-05 20:49:45 -08:00
Gerald Lonlas de468c6fc8 Fix wrong realistic_simulation implementation in Hyperopt 2018-03-04 02:31:25 -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 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 bbb1a31fda Merge commit 'c5400b6c37c7de64a86c9db39a4d0fa9169b35f6' into feature/objectify 2018-03-03 10:01:06 +08:00
Gerald Lonlas 390501bac0 Make Pylint Happy chapter 1 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
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
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 2ce03ab1b5 make Strategy store roi and stoploss values as numbers to avoid later casting 2018-02-11 15:25:30 +02:00
Janne Sinivirta f14d6249e0 allow selecting hyperopt searchspace 2018-02-09 20:59:06 +02:00
Janne Sinivirta 8c7b29734e use date info to calculate trade durations 2018-02-06 11:34:00 +02:00
Gerald Lonlas 321e3ede30 Fix hyperopt ticker interval download 2018-01-29 22:53:28 -08:00
Janne Sinivirta a6a479f7aa balances to min roi hyperopt settings 2018-01-28 10:46:22 +02:00
Janne Sinivirta 67ddb2e7f8 lower precision for most search space variables 2018-01-27 09:51:06 +02:00
Janne Sinivirta f33923c784 fix typings for hyperopt code 2018-01-26 18:32:45 +02: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 c400d15ed1 rip out hyperopt things from strategy, add indicator populating to hyperopt 2018-01-23 16:56:12 +02:00
Gerald Lonlas 1c7da95fed Move hyperopt_trials.pickle to user_data/ 2018-01-22 20:51:39 -08:00
Gerald Lonlas baae374899 Move hyperopt_conf.py into user_data/ 2018-01-22 20:51:39 -08:00
Gerald Lonlas be75522507 Fix flake8 2018-01-22 20:51:39 -08:00
Gerald Lonlas c46d78b4b9 Decouple strategy from analyse.py 2018-01-22 20:51:39 -08:00
kryofly 4a9e1cb345 Merge branch 'develop' into backtest-export 2018-01-19 07:02:38 +01:00
Gérald LONLAS 14d16f2574
Merge pull request #357 from kryofly/timeperiod
Timeperiod
2018-01-18 20:26:44 -08:00
Janne Sinivirta c670ccfd37 add trigger +DI crossed above -DI 2018-01-16 18:52:06 +02:00
Janne Sinivirta 8896b39231 add heikenashi reversal bullish trigger to hyperopt 2018-01-16 18:52:06 +02:00
Janne Sinivirta ce963aae58 add macd < 0 guard to hyperopt 2018-01-16 18:52:06 +02:00
Janne Sinivirta dc01807b3c switch ema5 trigger to ema3 cross trigger 2018-01-16 18:52:06 +02:00
Janne Sinivirta fadac5fe4a remove too aggressive trigger 2018-01-16 18:52:06 +02:00
Janne Sinivirta 99260735ae remove broken bbands trigger from hyperopt. add two working bbands triggers 2018-01-16 18:52:06 +02:00
Janne Sinivirta 501be8a3bc adjust the hyperopt objective function to emphasize profit and allow more variation in trade counts 2018-01-16 16:36:50 +02:00
Janne Sinivirta 38fe7ec7cd adjust default target values for hyperopt 2018-01-16 16:35:48 +02:00
kryofly 0e58ab7e01 more advanced use of --timerange 2018-01-16 00:15:49 +01:00
kryofly 71bb348698 rename --timeperiod to --timerange 2018-01-15 21:49:06 +01:00
Janne Sinivirta ec7bfba8df add comment about checking the new total profit logging 2018-01-14 13:11:19 +02:00
Janne Sinivirta f1e176d35c log total profit in percentages also 2018-01-14 13:10:25 +02:00
Janne Sinivirta 92241baade log the loss value 2018-01-14 13:09:39 +02:00
kryofly 153e11f045 Merge branch 'develop' into timeperiod 2018-01-11 19:45:47 +01:00
kryofly 4781a23809 Merge branch 'develop' into backtest-export 2018-01-11 19:40:42 +01:00
kryofly 27769f0301 uncomplex backtest 2018-01-11 17:45:41 +01:00
Janne Sinivirta 86db6c9084 sort imports 2018-01-11 07:08:56 +02:00
Janne Sinivirta 1b6b0ad9d2 autopep8 2018-01-11 06:50:36 +02:00
kryofly b0f3fd7ffb timeperiod argument to backtesting and hyperopt 2018-01-10 23:48:59 +01:00
kryofly feca87345f refactor 2018-01-10 23:00:40 +01:00
Samuel Husso e67c652988 use os.path.join, fix docstrings 2018-01-10 11:50:00 +02:00
Samuel Husso ffae0b2cd5 hyperopt: prettyfie best values when receiving SIGINT, use the global TRIALS 2018-01-09 12:37:56 +02:00
Samuel Husso 1647e7a0c1 update fix failing tests, unitest that resume hyperopt functionality works 2018-01-09 12:26:52 +02:00
Samuel Husso b35fa4c9f6 hyperopt: show the best results so far 2018-01-09 12:25:58 +02:00
Samuel Husso a48840509b Hyperopt: use results from previous runs 2018-01-09 12:25:58 +02:00
Samuel Husso ca8cab0ce9 Hyperopt to handle SIGINT by saving/reading the trials file 2018-01-09 12:25:58 +02:00
Janne Sinivirta dd2ccea6e5 fix wrong range in stoploss search space 2018-01-08 21:59:46 +02:00