Joe Schr
f3388ed9aa
fix IStrategy: abstract methods still need to pass through return value
...
otherwise doing something like:
```py
dataframe = super().populate_indicators(dataframe, ...)
```
won't work, because `dataframe` becomes `None`.
This is needed if one of those methods uses dataframe.copy() instead of
just working on reference. e.g. using `merge_informative` in
`populate_indicator` in a nested class hierarchy
2021-04-30 14:39:01 +02:00
Matthias
55faa6a84a
safe_wrapper should use kwargs to call methods
2021-04-26 20:18:03 +02:00
Matthias
dbf33271b5
Small doc changes
2021-04-26 19:52:26 +02:00
Rokas Kupstys
31a2285eac
Fix mypy complaints.
2021-04-26 10:42:24 +03:00
Rokas Kupstys
595b8735f8
Add dataframe parameter to custom_stoploss() and custom_sell() methods.
2021-04-25 09:48:40 +03:00
Rokas Kupstys
961b38636f
Remove explicit sell_flag parameter from SellCheckTuple.
2021-04-25 09:48:40 +03:00
Rokas Kupstys
bfad4e82ad
Make execute_sell() use SellCheckTuple for sell reason.
2021-04-25 09:48:40 +03:00
Rokas Kupstys
a90e795695
Warn and trim custom sell reason if it is too long.
2021-04-25 09:48:40 +03:00
Rokas Kupstys
1aad128d85
Support returning a string from custom_sell() and have it recorded as custom sell reason.
2021-04-25 09:48:40 +03:00
Rokas Kupstys
1292e08fe4
Use strategy_safe_wrapper() when calling custom_sell().
2021-04-25 09:48:40 +03:00
Rokas Kupstys
0fd68aee51
Add IStrategy.custom_sell method which allows per-trade sell signal evaluation.
2021-04-25 09:48:40 +03:00
Matthias
90476c4287
Add "range" property to IntParameter
2021-04-24 07:00:33 +02:00
Matthias
9dc7f776d9
Improve log output when loading parameters
2021-04-23 20:35:30 +02:00
Matthias
e820814809
Default-stoploss-hyperopt should use decimal space, nto real
2021-04-14 20:32:34 +02:00
Matthias
9804e20114
Don't use _set_value for autoOpt-Spaces
2021-04-10 09:53:48 +02:00
Matthias
83fbaf16c8
Extract numeric param validation and explosion
2021-04-10 07:59:59 +02:00
Matthias
ea4b5d675d
Don't explode low/high, but use explicit parameters
2021-04-10 07:12:31 +02:00
Matthias
5f67400649
Add SKDecimal Space
2021-04-09 21:58:15 +02:00
Matthias
c51839dc3b
Make the logmessage for loaded parameters clearer
2021-04-05 11:21:20 +02:00
Matthias
dc406fe19f
Fail in case of name and explicit space name collisions
2021-04-05 10:53:00 +02:00
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