Commit Graph

463 Commits

Author SHA1 Message Date
Matthias 30e5e92968 Don't allow one parmeter to be in 2 spaces
use the explicit user wish (given explicitly with "space")
2021-04-03 20:17:48 +02:00
Rokas Kupstys faf40482ef Fix parameter printing. 2021-04-03 13:49:24 +03:00
Rokas Kupstys ea43d5ba85 Implement DecimalParameter and rename FloatParameter to RealParameter. 2021-04-02 17:08:16 +03:00
Matthias 5acdc9bf42 Fix type errors by converting all hyperopt methods to instance methods 2021-04-01 06:47:23 +02:00
Rokas Kupstys 5e5b11d4d6 Split "enabled" to "load" and "optimize" parameters. 2021-03-31 12:31:28 +03:00
Matthias 929f329607 more tests 2021-03-28 19:49:20 +02:00
Matthias 20f7e9b4b7 Make BaseParameter get_space abstract 2021-03-28 19:31:54 +02:00
Matthias 71e2134694 Add some simple tests for hyperoptParameters 2021-03-27 11:26:26 +01:00
Matthias 786ddc6a91 remove unused imports 2021-03-27 10:47:33 +01:00
Rokas Kupstys e934d3ddfb [SQUASH] Oopsie. 2021-03-26 16:56:24 +02:00
Rokas Kupstys 40f5c7853e [SQUASH] Add a way to temporarily disable a parameter (excludes from parameter loading/hyperopt) and print parameter values when executed. 2021-03-26 16:56:24 +02:00
Rokas Kupstys bbe6ece38d [SQUASH] Fix parameter configs not loading. 2021-03-26 16:56:24 +02:00
Rokas Kupstys 424cd2a914 [SQUASH] Use "space" instead of category. 2021-03-26 16:56:24 +02:00
Rokas Kupstys fd45dfd894 [SQUASH] Make skopt imports optional. 2021-03-26 16:56:24 +02:00
Rokas Kupstys e9f0babe8a [SQUASH] Use HyperStrategyMixin as part of IStrategy interface. 2021-03-26 16:56:24 +02:00
Rokas Kupstys 2d13e5fd50 [SQUASH] Oopsies. 2021-03-26 16:56:24 +02:00
Rokas Kupstys bb89e44e19 [SQUASH] Address PR comments.
* Split Parameter into IntParameter/FloatParameter/CategoricalParameter.
* Rename IHyperStrategy to HyperStrategyMixin and use it as mixin.
* --hyperopt parameter is now optional if strategy uses HyperStrategyMixin.
* Use OperationalException() instead of asserts.
2021-03-26 16:56:24 +02:00
Rokas Kupstys 0a205f52b0 Optional support for defining hyperopt parameters in a strategy file and reusing common hyperopt/strategy parts. 2021-03-26 16:56:24 +02:00
Brook Miles ce1ed76269 complete stoploss_from_open and associated test 2021-03-17 22:44:10 +09:00
Brook Miles aee2591490 add stoploss_from_open() as a strategy_helper 2021-03-17 17:58:23 +09:00
Matthias e32b2097f0 Use timestamp in UTC timezone for ROI comparisons 2021-02-27 09:32:59 +01:00
JoeSchr 642e3be7c5
Fix(strategy/interface.py): comment typo
`advice_buy` -> `advise_buy`
2021-02-26 23:17:59 +01:00
Matthias 3d9b4034e6 Use already calculated current_profit for sell_profit_offset comparison 2021-02-02 08:06:19 +01:00
Pan Long 4cc93151c5
Fix a bug when compare sell_profit_offset
It should be comparing the ratio instead of absolut profit.

Also updated the comment.
2021-01-31 12:14:09 +08:00
Matthias 6007d5182a
Merge pull request #4147 from hoeckxer/ignore_expired_candle
Ignoring candles that have expired within timeframe
2021-01-12 19:04:16 +01:00
hoeckxer 1f6a71fdd9 Reformat code on new version 2021-01-12 08:24:11 +01:00
hoeckxer 71f45021b9 Removed redundant statement 2021-01-12 07:35:30 +01:00
hoeckxer e328182bd7 Changed workings so it only needs to timing-parameter, instead of also requiring a boolean value 2021-01-12 07:30:39 +01:00
Matthias 63a579dbab Add sell_profit_offset parameter
Allows defining positive offsets before enabling the sell signal
2021-01-11 19:30:25 +01:00
Matthias 5102dfd6df
Merge pull request #4144 from freqtrade/improve_informativepair
Improve merge_informative_pairs to properly merge correct timeframes
2021-01-09 10:15:59 +01:00
Matthias b43ef474ad Fix expired candle implementation
Improve and simplify test by passing the current time to the function
2021-01-07 07:51:49 +01:00
Matthias c9e477214f Allow protections to be set in the strategy 2021-01-06 16:37:09 +01:00
hoeckxer 65d91a3a58 isort fix 2021-01-05 15:36:34 +01:00
hoeckxer 573de1cf08 Fixed flake8 warnings 2021-01-05 15:30:29 +01:00
hoeckxer e3f3f36298 Changes based on review comments 2021-01-05 14:49:35 +01:00
hoeckxer c9ed2137bb Simplified return statements
Signed-off-by: hoeckxer <hawkeyenl@yahoo.com>
2021-01-05 09:07:46 +01:00
Erwin Hoeckx 67306d943a
Update interface.py
Simplified return value, thereby including the situation where the time simply hasn't expired yet
2021-01-05 07:33:34 +01:00
Erwin Hoeckx 9a93a0876a
Update interface.py
Adjusted comment
2021-01-05 07:32:07 +01:00
hoeckxer 844df96ec7 Making changes so the build checks are satisified (imports & flake8)
Signed-off-by: hoeckxer <hawkeyenl@yahoo.com>
2021-01-05 07:06:53 +01:00
hoeckxer 614a996597 First commit about ignoring expired candle
Signed-off-by: hoeckxer <hawkeyenl@yahoo.com>
2021-01-04 20:49:24 +01:00
Matthias 07bc0c3fce Improve merge_informative_pairs to properly merge correct timeframes
explanation in #4073, closes #4073
2021-01-04 13:49:38 +01:00
Matthias 512e163355 change docstring to better reflect what the method is for 2020-12-31 09:48:49 +01:00
Matthias 9d5961e224 Rename method to custom_stoploss 2020-12-20 11:17:50 +01:00
Matthias 277342f167 Rename flag to "use_custom_stoposs" 2020-12-20 11:12:22 +01:00
Matthias 6892c08e9b Improve docstring 2020-12-19 13:18:06 +01:00
Matthias b2c1098316 more docs for dynamic stoploss method 2020-12-19 12:03:18 +01:00
Matthias f7b54c2415 Allow and document time-based custom stoploss
closes #3206
2020-12-19 11:46:49 +01:00
Matthias a414b57d54 Experiment with custom stoploss interface 2020-12-18 06:56:56 +01:00
Matthias 768a24c375 Add stoplossvalue interface 2020-12-18 06:56:56 +01:00
Matthias 7eab33de08 Merge branch 'develop' into plugins/protections_backtest 2020-12-13 10:31:33 +01:00
Matthias f1af2972e2 Ensure non-defined attributes fail correctly
Remove unnecessary check, as stoploss cannot be none (it's mandatory and
a number)
2020-12-09 07:55:08 +01:00
Matthias be57ceb252 Remove confusing entry
(in this branch of the if statement, candle_date is empty
2020-12-07 08:23:10 +01:00
Matthias fefb4b23d0 revise logic in should_sell 2020-11-27 09:24:53 +01:00
Matthias 81d08c4def Add detailed backtest test verifying the ROI / trailing stop collision 2020-11-27 08:24:56 +01:00
radwayne 8e03fee868
Update interface.py
Changed The should_sell() method, to handle the case where both ROI and trailing stoploss are reached in backtest.
2020-11-06 13:56:46 +01:00
Matthias e602ac3406 Introduce Pairlocks middleware 2020-10-27 07:06:06 +01:00
Matthias a143f7bc43 Improve pairlock docstrings 2020-10-21 19:35:57 +02:00
Matthias 7caa6cfe31 Add tests for pairlock 2020-10-20 19:21:13 +02:00
Matthias e513871fd5 Persist pairlocks
closes #3034
2020-10-20 19:21:13 +02:00
Matthias 66b77d2f53 Fix some types 2020-10-02 06:52:43 +02:00
Matthias 253b7b763e Apply isort to freqtrade codebase 2020-09-28 19:40:46 +02:00
Matthias 7852feab05 support smaller timeframes 2020-09-07 09:06:43 +02:00
Matthias 71af64af94 Move comment to the right place 2020-09-04 20:10:43 +02:00
Matthias cc684c5141 Correctly handle identical timerame merges 2020-09-04 20:09:02 +02:00
Matthias 7bc8927914 Add documentation for merge_informative_pair helper 2020-09-04 20:02:31 +02:00
Matthias bd4f3d838a Implement merge_informative_pairs helper 2020-09-04 19:44:35 +02:00
Matthias f54fecaeba Expose helpermethods thorugh freqtrade.strategy 2020-09-02 19:58:26 +02:00
Matthias 3bb69bc1bd Add returns statement to docstring 2020-08-24 17:31:00 +02:00
Matthias fca11160e4 Improve docstring of is_pair_locked 2020-08-24 17:18:57 +02:00
Matthias 354a406248 Sort imports in interface.py 2020-08-24 11:45:38 +02:00
Matthias c272944834 Lock pair until a new candle arrives 2020-08-24 11:09:09 +02:00
Matthias 8b767eedfd Merge branch 'develop' into pr/yazeed/3055 2020-08-24 07:21:48 +02:00
Matthias 87e4a82041 Merge branch 'develop' into bt_add_maxdrawdown 2020-08-09 08:34:36 +02:00
Matthias c4a9a79be0
Apply suggested documentation changes from code review
Co-authored-by: hroff-1902 <47309513+hroff-1902@users.noreply.github.com>
2020-07-04 09:43:49 +02:00
Matthias 1339479882 Have sell_type stringify correctly 2020-07-03 06:58:27 +02:00
Matthias eef3c01da7 Fix function header formatting 2020-06-18 19:49:05 +02:00
Matthias f1993fb2f4 Pass analyzed dataframe to get_signal 2020-06-18 08:09:52 +02:00
Matthias 48225e0d80 Improve interface docstrings for analyze functions 2020-06-18 07:54:00 +02:00
Matthias f2a778d294 Combine tests for empty dataframe 2020-06-18 07:03:30 +02:00
Matthias 8b186dbe0e Add additional test scenarios 2020-06-18 06:50:06 +02:00
Matthias 84329ad2ca Add confirm_trade* methods to abort buying or selling 2020-06-18 06:50:06 +02:00
Matthias 910100f1c8 Improve docstring comment 2020-06-18 06:50:06 +02:00
Matthias c047e48a47 Add errorsupression to safe wrapper 2020-06-18 06:50:06 +02:00
Matthias bc821c7c20 Add documentation for bot_loop_start 2020-06-18 06:50:06 +02:00
Matthias 77056a3119 Add bot_loop_start callback 2020-06-18 06:50:06 +02:00
Matthias 8166b37253 Explicitly check if dp is available 2020-06-18 06:50:06 +02:00
Matthias 55fa514ec9 Adapt most tests 2020-06-18 06:50:05 +02:00
Matthias 273aaaff12 Introduce .analyze() function for Strategy
Fixing a few tests along the way
2020-06-18 06:50:05 +02:00
Matthias 95f3ac08d4 Update some comments 2020-06-18 06:50:05 +02:00
Matthias fd97ad9b76 Cache analyzed dataframe 2020-06-18 06:50:05 +02:00
Matthias a8005819c9 Add class-level attributes to hyperopt and strategy 2020-06-02 10:19:27 +02:00
Matthias 09fe3c6f5e create compatibility code 2020-06-02 09:52:30 +02:00
Matthias cadc50ce9b Replace more occurances of ticker_interval with timeframe 2020-06-01 20:49:40 +02:00
Matthias ea5daee505 Allow changing severity of strategy-validations to log only. 2020-05-29 19:37:18 +02:00
Matthias 27e0c2604c
Add comment to ensure we're not accidentally removing this again 2020-05-26 16:58:29 +02:00
hroff-1902 9f573481a8 Fix #3378 2020-05-26 13:54:45 +03:00
Matthias 046202fdda Fix typing circular dependency 2020-05-22 20:56:34 +02:00
hroff-1902 8bf38443c2
Merge branch 'develop' into verify_date_on_new_candle_on_get_signal 2020-05-20 14:05:21 +03:00
hroff-1902 a8b1dcf3c8 Minor: cleanup in get_signal() 2020-05-19 22:20:53 +03:00
hroff-1902 7b2bb73a12
Merge branch 'develop' into verify_date_on_new_candle_on_get_signal 2020-05-19 21:34:58 +03:00
hroff-1902 115586a50f Introduce freqtrade.typing 2020-05-18 21:59:50 +03:00
hroff-1902 627c5059f0 Move create_pair_list to pairlistmanager 2020-05-18 13:54:21 +03:00
hroff-1902 f8b01f5a43 Make flake happy 2020-05-16 12:27:56 +03:00
hroff-1902 bf25746965 Introduce datatype for informative pairs 2020-05-16 12:27:56 +03:00
Matthias 431b244f43 Merge branch 'develop' into interface_ordertimeoutcallback 2020-04-19 06:58:44 +02:00
Matthias c465552df4 Update comment to mention .copy() usage 2020-04-02 20:17:54 +02:00
Matthias 3fcd531eac Copy dataframe in interfac.py (reduces memory consumption) 2020-04-02 19:30:59 +02:00
Matthias cd2e738e35 Add test for assert error 2020-03-29 11:40:13 +02:00
orehunt 3ef568029f different exception messages 2020-03-26 07:05:30 +01:00
orehunt 0f53e646fd check that the strategy dataframe matches the one given by the bot 2020-03-24 14:08:34 +01:00
Matthias a1bbeaa668 Merge branch 'develop' into interface_ordertimeoutcallback 2020-03-15 14:56:14 +01:00
Yazeed Al Oyoun 1395f65872 meh 2020-03-11 17:29:22 +01:00
Yazeed Al Oyoun c442913feb final 2020-03-11 17:28:03 +01:00
Yazeed Al Oyoun ba596af636 final? 2020-03-11 17:26:57 +01:00
Yazeed Al Oyoun d25cf1395b fixed log message 2020-03-11 17:23:22 +01:00
Yazeed Al Oyoun 7754742459 fix tests 2020-03-11 17:13:39 +01:00
Yazeed Al Oyoun a82cdf0add fixed test 2020-03-11 17:04:51 +01:00
Yazeed Al Oyoun 4e45abbf13 added return false, false 2020-03-11 16:44:45 +01:00
Yazeed Al Oyoun 54bde6ac11 verify date on new candle before producing signal 2020-03-11 16:34:23 +01:00
hroff-1902 3208faf7ed Do not use ticker where it's not a ticker 2020-03-08 20:47:02 +03:00
Matthias 4d8430c687 Use string typehints to avoid import errors 2020-03-01 09:43:20 +01:00
hroff-1902 e411717de9 No percent where ratio is to be used 2020-02-28 12:36:39 +03:00
Matthias 8cd77b2e27 Add some tests for strategy_wrapper 2020-02-22 11:55:40 +01:00
Matthias 365fdf4c37 Add docstring to strategy wrapper 2020-02-22 11:41:22 +01:00
Matthias bf556c8678 Merge branch 'develop' into interface_ordertimeoutcallback 2020-02-21 20:35:07 +01:00
Matthias 6c01542fed Ad check_sell_timeout 2020-02-21 20:27:13 +01:00
hroff-1902 bee28a1061
Merge pull request #2944 from freqtrade/move_defaultstrategy
Move defaultstrategy
2020-02-20 08:52:24 +03:00
Matthias 1634297685 Move strategies to test subfolder 2020-02-18 20:12:10 +01:00
Matthias d65a06947d Merge branch 'develop' into data_handler 2020-02-09 15:16:43 +01:00
Matthias 49dcc561b7 POC for check_buy_timeout 2020-02-06 20:30:17 +01:00
Matthias 2816b96650 Create strategy_wrapper to call user-defined code with 2020-02-06 20:26:04 +01:00
hroff-1902 f3d500085c Add some type hints 2020-02-02 07:00:40 +03:00
Matthias fc2970f41b Merge branch 'develop' into data_handler 2020-01-21 06:58:48 +01:00
Matthias 099bbc5c7f Fix bug when stoploss_on_exchange in combination with dry-run
does not sell orders
2020-01-20 20:14:40 +01:00
Matthias bdda620397 add plot_config to startegy interface properly 2020-01-04 12:56:46 +01:00
Matthias f04873b0b0 Add plot_config to interface 2020-01-04 11:14:00 +01:00
Matthias dbe8f727cb Fix typehint 2019-12-28 11:01:41 +01:00
Matthias 9835312033 Improve pair_lock handling 2019-12-22 09:46:00 +01:00
Matthias a2964afd42 Rename profit_percent to profit_ratio to be consistent 2019-12-17 08:53:30 +01:00
Matthias 3163cbdf8a Apply special case for negative ROI 2019-12-07 15:18:12 +01:00
hroff-1902 b8aa727edf Fix second part of freqtrade-strategies #51 2019-11-21 05:10:48 +03:00
Matthias 132a4da7cf Small style fixes and adjusted tests 2019-10-27 10:56:38 +01:00
Matthias 5c2682e2c9 Add startup_candle_count to sample strategy 2019-10-27 09:44:56 +01:00
Matthias 6382a4cd04 Implement startup-period to default-strategy 2019-10-27 09:44:56 +01:00
Matthias 141c454187 Add startup-candles-argument for strategy 2019-10-27 09:44:56 +01:00
Matthias 3c8d27d098 remove correct comment ... 2019-10-13 09:54:03 +02:00
hroff-1902 4c1705fb1e No specific handling for trailing_stop_positive 2019-10-11 22:59:13 +03:00
Matthias ff7a3cc885 remove last occurance of config. from stop_loss_reached 2019-10-11 09:05:21 +02:00
Matthias 4d1488498c stoploss_reached should not use config 2019-10-11 08:55:31 +02:00
hroff-1902 9b23376415 Move experimental settings to ask_strategy 2019-10-05 13:29:59 +03:00