Matthias
750c780293
Support loading parameters from json file
2021-06-29 06:50:47 +02:00
Matthias
158cb415a9
Add settings interface to have types available
2021-06-26 17:28:37 +02:00
Matthias
1067a9f356
Move strategy-override signals to top-level of the config
...
closes #2867
2021-06-26 16:06:13 +02:00
aayush-jain18
d294ef10d7
unexpected docstring params
2021-06-25 23:56:16 +05:30
aayush-jain18
a46f60bd94
spell corrections
2021-06-25 22:10:04 +05:30
Matthias
96fbb226c5
Implement better strategy checks
...
part of #2696
2021-06-19 19:32:29 +02:00
Matthias
e1010ff592
Don't load protections from config if strategy defines a property
2021-06-18 19:55:53 +02:00
Matthias
38ed49cef5
move low to stoploss_reached
...
to clarify where which rate is used
2021-06-15 09:05:36 +03:00
Rokas Kupstys
6d5fc96714
Implement most pessimistic handling of trailing stoploss.
2021-06-15 09:05:36 +03:00
Matthias
d4dfdf04fc
Move RPCMessageType to enums
2021-06-09 20:23:17 +02:00
Matthias
9c34304cb9
Move state enums to enums package
2021-06-08 21:20:35 +02:00
Matthias
3c149b9b59
Move signalType to enums
2021-06-08 21:09:39 +02:00
Matthias
89b9915c12
Update imports for SellType in tests
2021-06-08 21:07:16 +02:00
Matthias
d16a619489
Move SellType Enum to it's own module
2021-06-08 21:04:34 +02:00
Matthias
d7fdc2114a
allow list-strategies to show if params are hyperoptable
2021-05-29 13:27:08 +02:00
Matthias
4bc018a456
Change rate back to "open" for custom_sell
...
closes #4920
2021-05-14 07:18:10 +02:00
Rokas Kupstys
6af4de8fe8
Remove dataframe parameter from docs.
2021-05-08 10:29:47 +03:00
Rokas Kupstys
dc6e702fec
Pass current_time to confirm_trade_entry/confirm_trade_exit.
2021-05-08 10:29:47 +03:00
Rokas Kupstys
d34da3f981
Revert "Add dataframe parameter to custom_stoploss() and custom_sell() methods."
...
This reverts commit 595b8735f8
.
# Conflicts:
# freqtrade/optimize/backtesting.py
# freqtrade/strategy/interface.py
2021-05-08 10:29:47 +03:00
Matthias
9049d6b779
Reformat hyper to cache parameters
2021-05-02 10:45:21 +02:00
Matthias
555262b6e1
Only calculate additional indicators if the space is selected
2021-05-01 16:40:29 +02:00
Matthias
e050ea8dfa
Don't load parameters for other space
2021-05-01 16:21:59 +02:00
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
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
hroff-1902
39f41def54
Merge pull request #2261 from freqtrade/test_speedup
...
[minor] Test speedup
2019-09-14 11:25:00 +03:00
Matthias
2cf045c53e
Remove commented indicators from DefaultStrategy
2019-09-14 10:00:59 +02:00
Matthias
0135784589
remove unused indicators from default_strategy
2019-09-13 19:56:58 +02:00
hroff-1902
67ff48ce3e
Comment out noisy log messages
2019-09-12 21:01:14 +03:00
hroff-1902
acf3b751f0
Log sell_flag, do not log sell_type=SellType.NONE
2019-09-12 01:21:14 +03:00
hroff-1902
9bdfaf3803
Remove quotes around the pairs
2019-09-11 23:32:08 +03:00
hroff-1902
35580b135a
Improve backtesting logs
2019-09-10 10:42:45 +03:00
Matthias
13932f55f5
Fix random test failures
2019-09-08 14:02:32 +02:00
hroff-1902
45cfdbbda7
Make flake happy
2019-09-08 03:10:01 +03:00
hroff-1902
2b00a5d90a
Get rid of import_strategy()
2019-09-08 02:43:02 +03:00
Matthias
ee808abfea
Add emergency_sell as sell reason
2019-09-01 09:07:09 +02:00
Matthias
0e62b8bd85
Update strategy_version to INTERFACE_VERSION
2019-08-26 20:16:03 +02:00
Matthias
92011f8294
Introduce strategy_version variable
2019-08-26 19:44:33 +02:00
Matthias
e35a349229
Fix spelling of interface.py docstring
2019-08-14 06:07:03 +02:00
Matthias
200b6ea10f
Add is_pair_locked
2019-08-12 19:50:38 +02:00
Matthias
c042d08bb7
Add lock_pairs to interface
2019-08-12 16:29:09 +02:00
Matthias
2af663dccb
rename _analyze_ticker_int to _analyze_ticker_internal
2019-08-04 12:55:03 +02:00
Matthias
62262d0bb5
improve docstring of _analyze_ticker_int
2019-08-04 10:21:22 +02:00
Matthias
52d92cba90
Split analyze_ticker and _analyze_ticker_int
2019-08-04 10:20:31 +02:00
Matthias
700bc087d3
Merge pull request #1952 from hroff-1902/fix/1948
...
Fix #1948
2019-06-27 19:36:06 +02:00
hroff-1902
116d8e853e
typos in docstrings fixed
2019-06-23 23:10:37 +03:00
hroff-1902
7fbdf36c64
avoid code duplication while selecting min_roi entries
2019-06-23 19:23:51 +03:00
hroff-1902
144e053a4e
fix for #1948
2019-06-20 03:26:25 +03:00
Matthias
3240d4e70e
Merge pull request #1925 from hroff-1902/strategy-advise-logging
...
debug logging for IStrategy.advise_*()
2019-06-14 19:24:14 +02:00
Matthias
160894c031
Calculate profit_high to make sure stoploss_positive_offset is correct
2019-06-13 20:04:52 +02:00
hroff-1902
4801af4c77
debug logging for IStrategy.advise_*() added
2019-06-11 10:42:14 +03:00
Misagh
36dae7cc6c
trailing stoploss reason fixed
2019-06-02 13:27:31 +02:00
hroff-1902
9fbe573cca
limit usage of ccxt to freqtrade/exchange only
2019-04-09 12:27:35 +03:00
hroff-1902
2aa1b43f01
get rid of TICKER_INTERVAL_MINUTES dict, use ccxt's parse_timeframe() instead
2019-04-04 20:56:40 +03:00
Matthias
9a632d9b7c
Formatting
2019-03-23 16:51:36 +01:00
Matthias
c404e9ffd0
Simplify trailing_stop logic
2019-03-23 16:48:17 +01:00
Matthias
b1fe8c5325
Simplify stoploss_reached
2019-03-23 16:46:03 +01:00
Matthias
7307084dfd
Move stoploss-adjustment to the top
2019-03-23 16:44:58 +01:00
Matthias
a7b60f6780
update trailing_stop with high in case of backtesting
2019-03-17 16:03:44 +01:00
Matthias
05ab1c2e0a
Fix some comments
2019-03-17 16:02:13 +01:00
Matthias
2d4a2fd10b
Use oppen_rate instead of artificial defaults
2019-03-17 13:12:04 +01:00
Matthias
fc360608b7
Rename function to adjust_min_max
2019-03-16 20:14:45 +01:00
Matthias
738ed93221
call new function
2019-03-16 19:54:34 +01:00
misagh
a772ab323e
adding the option to resolver
2019-03-12 15:43:53 +01:00
misagh
9c1c962aa7
if condition fixed
2019-03-09 20:30:56 +01:00
misagh
c122eab77b
added trailing_only_offset_is_reached option
2019-03-09 20:13:35 +01:00
hroff-1902
8e7e670003
Orthography in the log message
2019-02-13 12:42:39 +03:00
hroff-1902
585f525879
Cosmetic: fix logging
2019-02-10 21:02:53 +03:00
Misagh
421be5da86
Merge pull request #1511 from freqtrade/fix/more_settings_strategy
...
add more settings to strategy
2019-01-30 11:22:10 +01:00
Matthias
ba07348b82
Rename additional_pairs to informative_pairs
2019-01-26 19:22:45 +01:00
Matthias
5ea332e9be
fix bug with trailing_stop_offset if it's disabled
2019-01-23 20:57:31 +01:00
Matthias
89ddfe08f4
Add additional-pairs (sample) to defaultstrategy
2019-01-22 19:17:08 +01:00
Matthias
6e2de75bcb
Add additional_pairs to strategy
2019-01-22 07:07:15 +01:00
Matthias
a2bc1da669
Remove private var from class instance
...
it's overwritten in __init__ anyway
2019-01-22 07:07:15 +01:00
Matthias
58f1abf287
Add dp / wallets to strategy interface
2019-01-22 07:04:19 +01:00
misagh
a2618208ef
wrapping in parantheses instead of line breaks
2019-01-18 12:07:51 +01:00
misagh
5e2e96acd2
compatibility with edge added
2019-01-16 18:38:20 +01:00
misagh
a44f781284
Merge branch 'develop' into tsl_on_exchange
2019-01-16 14:56:27 +01:00
misagh
cffc9ce890
last step: stop loss on exchange added to trailing
2019-01-16 14:49:47 +01:00
Matthias
e9d61eb35d
Fix ROI calculation problem
...
Prior to that all ROI entries with a key > trade_duration where active.
This causes a problem if the ROI is not linearly declining
2019-01-12 13:45:03 +01:00
misagh
f4ceeca438
Merge branch 'develop' into tsl_on_exchange
2019-01-08 15:33:32 +01:00
misagh
4fbb9d4462
adding stoploss_on_exchange_interval to order_types dict. default to 1
...
minute (60)
2019-01-08 12:39:53 +01:00
Matthias
4599c80e79
Add trailing-stop to strategy
2019-01-05 07:10:25 +01:00
Matthias
3329ffd071
improve comment
2019-01-02 14:44:17 +01:00
Matthias
516217b6cb
Stop loss should also be shown when trailing is active
2019-01-02 13:34:08 +01:00
Matthias
1d518885a9
fix roi-reached when list is unsorted
2019-01-01 16:45:52 +01:00
Misagh
1dbcab0b09
Merge pull request #1413 from freqtrade/feat/data_helpers
...
Feat/data helpers
2018-12-17 09:14:10 +01:00
Matthias
b3bb98777b
Merge branch 'develop' into time_in_force
2018-12-17 06:37:46 +01:00
Matthias
1c5031b468
load_data to return dataframe
2018-12-15 14:28:37 +01:00
Matthias
b38195e9b3
Rename to converter
2018-12-14 06:32:49 +01:00
Matthias
453f62cdfa
Adjust imports
2018-12-14 06:32:49 +01:00
Matthias
aca243086e
Fix comment
2018-12-13 19:43:17 +01:00
Matthias
5c3dcf3e2b
Test for wrong inputs (empty / none-dataframes) in get_signal
2018-12-12 19:35:51 +01:00
Matthias
627ab9f583
pass around dataframe instead of list
2018-12-12 19:17:09 +01:00
misagh
b7aa77acdd
conflict resolved
2018-12-04 20:28:07 +01:00
misagh
86354ed258
conflict resolved
2018-11-26 19:08:58 +01:00
misagh
b2634e8e08
typo corrected
2018-11-26 18:28:13 +01:00
misagh
962b02b079
one last step before tests
2018-11-25 22:02:59 +01:00
misagh
fb7b65c909
time in force drafted
...
time in force drafted
2018-11-25 20:44:40 +01:00
misagh
3e29fbb17a
stoploss on exchange added as a parameter to order_types
2018-11-25 17:22:56 +01:00
Matthias
21a093bcdb
extract resolvers to IResolvers and it's own package
2018-11-24 20:00:02 +01:00
misagh
fea77824d0
handle stop loss on exchange added
2018-11-23 15:17:36 +01:00
misagh
3a1c378325
typing bugs
2018-11-22 17:14:22 +01:00
misagh
bbe8e4e494
flake8
2018-11-22 17:07:37 +01:00
misagh
bfbdddff26
stoploss limit order added to exchange
2018-11-22 16:24:40 +01:00
misagh
238dd6413c
Merge branch 'develop' into stoploss_on_exchange
2018-11-22 09:39:01 +01:00
misagh
b50250139e
Drafting stoploss on exchange
2018-11-19 20:02:26 +01:00
Matthias
968184ef0d
Swap default mode to all limit (defaults to how it was before)
2018-11-17 19:40:53 +01:00
Matthias
54a86d72f2
Raise error if one of the required ordertypes is not present
2018-11-17 12:59:16 +01:00
Matthias
3ab0cf49af
Add order_types to sample strategy
2018-11-17 10:26:15 +01:00
Matthias
24ed9a8b7d
Add loading order_types from config file
2018-11-17 10:14:18 +01:00
Matthias
6a71f80a9e
Add support for different order types
2018-11-15 06:58:24 +01:00
misagh
6d63de1932
removing unnecessary lib
2018-11-07 18:15:04 +01:00
misagh
6838ae0591
conflict resolved => new backtest low and high params
2018-11-07 17:56:21 +01:00
misagh
bcecaa69d4
removing global variable modification
2018-11-06 19:41:46 +01:00
Matthias
8c93760a6d
simplify some code
2018-10-30 20:23:31 +01:00
Matthias
3679b0948a
cleanup interface
2018-10-30 19:37:45 +01:00
Matthias
233c442af9
Adjust backtest so sell uses stop-loss or roi value as closerate
2018-10-29 19:27:23 +01:00
misagh
25daf3a0f7
Merge branch 'develop' into money_mgt
2018-10-23 19:33:13 +02:00
misagh
8b3631d1ac
make “if condition” more readable
2018-10-01 17:49:27 +02:00
misagh
ad666ac65c
autopep8 corrected
2018-10-01 17:33:18 +02:00
Matthias
334e7553e1
Fix hyperopt not working after update of scikit-learn to 0.20.0
2018-09-29 13:49:27 +02:00
misagh
75ba6578a3
unused library + trailing whitespaces removed.
2018-09-26 16:36:41 +02:00
misagh
cf37093e5a
empty dict default removed
2018-09-21 22:07:12 +02:00
misagh
ef52c7b510
edge positioning put into package
2018-09-21 17:41:31 +02:00
misagh
5f68834ccc
merging develop into money_mgt (updated to async)
2018-09-14 19:20:49 +02:00
misagh
13ffd88053
merging develop into async. requirement.txt conflict resolved
2018-09-06 20:28:07 +02:00
misagh
a74953cb4d
Draft of money management
2018-09-06 16:59:51 +02:00
Matthias
3fd00c9a9c
Merge branch 'develop' into ta_on_candle
2018-09-01 20:01:18 +02:00
Matthias
2ec5a536aa
Fix comment location
2018-09-01 19:57:12 +02:00
Matthias
d35d3bb38c
rename ta_on_candle to process_only_new_candles
...
be more expressive
2018-09-01 19:52:40 +02:00
Matthias
cb46aeb73c
rename variable to be more expressive
2018-09-01 19:50:45 +02:00
Matthias
54ddd908e6
Merge branch 'develop' into ccxt-async
2018-08-29 19:43:09 +02:00
Samuel Husso
7376a0d538
Merge pull request #1131 from freqtrade/parametrize_outdated_ticker
...
parametrize outdated_offset to simplify sandbox usage
2018-08-22 07:02:38 +03:00
Matthias
8f41e0e190
Use setting in 'exchange' dict
2018-08-20 20:01:57 +02:00
Samuel Husso
98240e0e48
Merge pull request #1154 from freqtrade/min_roi_output
...
Output min-roi setting when overwriting from config
2018-08-16 20:18:49 +03:00
Matthias
4a8c120926
Output min-roi setting when overwriting from config
2018-08-16 11:35:41 +02:00
Matthias
d007ac4b96
check version explicitly, use "python" in venv
2018-08-15 08:37:20 +02:00
Matthias
e3e79a55fa
Fix _abc_data pickle error in 3.7
2018-08-12 10:16:51 +02:00
Matthias
b008649d79
Remove unnecessary quote escaping
2018-08-09 20:13:07 +02:00
Matthias
3b2f161573
Add test for ta_on_candle override
2018-08-09 20:12:45 +02:00
Matthias
e36067afd3
refactor candle_seen to private
2018-08-09 19:58:47 +02:00
Matthias
c4e43039f2
Allow control from strategy
2018-08-09 19:24:00 +02:00
Matthias
98730939d4
Refactor to use a plain dict
...
* check config-setting first - avoids any call to "candle_seen"
eventually
2018-08-09 13:02:41 +02:00
Matthias
c9580b31d0
parametrize outdated_offset to simplify sandbox usage
2018-08-07 09:25:21 +02:00
creslin
10ab6c7ffa
Removed unneeded property code
2018-08-03 09:14:16 +00:00
creslin
1fef384bba
flake 8
2018-08-03 08:40:16 +00:00
creslin
d2a728cebd
flake 8
2018-08-03 08:38:13 +00:00
creslin
6b3e8dcc33
holds a dict of each pair last seen.
...
to correctly manage the last seen of a pair.
2018-08-03 08:33:37 +00:00
creslin
c38d94df2d
Resubmitting - because GIT.
...
This is the last cut that was in #1117 before i closed that PR
This PR allows a user to set the flag "ta_on_candle" in their config.json
This will change the behaviour of the the bot to only process indicators
when there is a new candle to be processed for that pair.
The test is made up of "last dataframe row date + pair" is different to
last_seen OR ta_on_candle is not True
2018-08-03 07:33:34 +00:00
Matthias
337d9174d9
Flake8 fixes
2018-08-02 20:11:27 +02:00
misagh
2ec2f1abce
async branch updated to reflect develop branch changes
2018-08-02 16:48:21 +02:00
Matthias
9c08cdc81d
Fix typehints
2018-08-01 21:58:32 +02:00
Matthias
038e97667f
Merge branch 'develop' into BASE64
2018-08-01 07:26:13 +02:00
Gert
b83487cc36
added required changes
2018-07-30 13:00:08 -07:00
Matthias
787d6042de
Switch from pair(str) to metadata(dict)
2018-07-29 20:56:23 +02:00
Matthias
82680ac6aa
improve docstrings for strategy
2018-07-29 20:55:40 +02:00
Matthias
39cf0decce
don't use __annotate__
...
it is only present when typehints are used which cannot be guaranteed
for userdefined classes
2018-07-29 20:55:40 +02:00
Matthias
f286ba6b87
overload populate_indicators to work with and without pair argumen
...
all while not breaking users strategies
2018-07-29 20:55:40 +02:00
Matthias
791c5ff071
update comments to explain what advise methods do
2018-07-29 20:55:37 +02:00
Matthias
8a9c54ed61
use new methods
2018-07-29 20:55:37 +02:00
Matthias
df8700ead0
Adapt after merge from develop
2018-07-29 20:55:37 +02:00
Matthias
aa772c28ad
Add tests for advise_indicator methods
2018-07-29 20:55:37 +02:00
Matthias
7300c0a0fe
remove @abstractmethod as this method may not be present in new
...
strategies
2018-07-29 20:55:06 +02:00
Gert Wohlgemuth
5871488858
fixed errors and making flake pass
2018-07-29 20:55:06 +02:00
Gert Wohlgemuth
19b9966417
satisfied flake8 again
2018-07-29 20:55:06 +02:00
Gert Wohlgemuth
57f683697d
revised code
2018-07-29 20:55:06 +02:00
Gert Wohlgemuth
296d3d8bbe
working on refacturing of the strategy class
2018-07-29 20:55:06 +02:00
Samuel Husso
187e039a58
Merge pull request #1034 from freqtrade/feat/positive_sl_limit
...
add offset for positive trailing stop loss
2018-07-29 08:30:29 +03:00
Matthias
df3e76a65d
Remove legacy code, fix missed call
2018-07-26 19:11:51 +01:00
Matthias
484103b957
extract get_history_data from get_signal
2018-07-26 18:23:42 +01:00
Matthias
060469fefc
Add stuff after rebase
2018-07-19 20:12:20 +02:00
Matthias
4fb9823cfb
fix rebase problem
2018-07-19 19:50:06 +02:00
Matthias
a452864b41
Use namedtuple for sell_return
2018-07-19 19:39:08 +02:00
Matthias
4059871c28
Add get_strategy_name
2018-07-19 19:34:14 +02:00
Matthias
838b0e7b76
Remove unused import
2018-07-19 19:29:31 +02:00
Matthias
0147b1631a
remove optional from selltype
2018-07-19 19:27:33 +02:00
Matthias
f991109b0a
Add sell-reason to sell-tree
2018-07-19 13:29:42 +02:00
Matthias
6bb7167b56
Add sellType enum
2018-07-19 13:25:48 +02:00
Matthias
c0a7725c1f
Add stoploss offset
2018-07-19 13:22:44 +02:00
Matthias
64f933477d
Merge pull request #1007 from freqtrade/remove-analyze
...
Remove Analyze
2018-07-19 10:12:36 +02:00
Janne Sinivirta
85fd4dd3ff
rename analyze.py to exchange_helpers.py
2018-07-17 21:26:52 +03:00
Janne Sinivirta
dbc3874b4f
__init__ must return None to please mypy
2018-07-17 10:47:15 +03:00
Janne Sinivirta
aeb4102bcb
refactor Analyze class methods to base Strategy class
2018-07-16 08:23:39 +03:00
Matthias
b4ba641131
Update config dict with attributes loaded from strategy
2018-07-15 09:01:08 +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
Janne Sinivirta
bf4d0a9b70
sort imports
2018-07-04 10:31:35 +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
gcarq
c40e6a12d1
move logic from hyperopt to freqtrade.strategy
2018-06-23 11:13:49 +02:00
xmatthias
a8bf5092e8
add ignore explanation
2018-06-02 14:18:57 +02:00
xmatthias
e28973c50a
fix flake8
2018-05-31 22:17:46 +02:00
xmatthias
3fb1dd02f1
add typehints and type: ignores
2018-05-31 22:00:46 +02:00
xmatthias
cf34b84cf1
add attributes with typehints
2018-05-31 21:59:22 +02:00
xmatthias
f4f821e88e
add typehints
2018-05-31 21:44:18 +02:00
gcarq
306885e174
Merge branch 'develop' into feat/objectify-ccxt
2018-05-02 22:49:55 +02:00
gcarq
403f59ef45
use native python logger
2018-04-21 20:47:06 +02:00
enenn
ce3603f84f
Change ticker_interval from 5 to 5m in default strategy
2018-04-07 21:31:52 +02:00
enenn
db46ad6502
Change ticker interval from minutes as integer to string (1m, 5m, 1h,...)
2018-04-07 16:57:47 +02:00
Michael Egger
9019f6492f
define constants on module level ( #596 )
2018-04-02 16:42:53 +02:00
gcarq
f78044da6d
fix method docs
2018-03-27 16:32:58 +02:00
gcarq
a356edb117
implement '--strategy-path' argument
2018-03-27 16:32:58 +02:00
gcarq
5fb6fa38aa
apply __slots__ to resolver and reintroduce type conversations
2018-03-27 16:32:58 +02:00
gcarq
99e890bc99
simplify resolver constructor
2018-03-27 16:32:58 +02:00
gcarq
280886104c
strategy: remove unneeded population methods in resolver
2018-03-27 16:32:58 +02:00
gcarq
b254ff9b41
Merge 'develop' into feature/enhance-strategy-resolving
2018-03-26 16:23:25 +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
a38c2121cc
adapt tests
2018-03-25 15:12:39 +02:00
gcarq
b4d2a3f495
refactor StrategyResolver to work with class names
2018-03-25 15:12:39 +02:00
gcarq
6e5c14a95b
fix mutable default argument
2018-03-25 15:12:39 +02:00
gcarq
ca9c5edd39
rename Strategy into StrategyResolver
2018-03-25 15:12:39 +02:00
gcarq
33ddc540cf
don't shadow built-in name tuple
2018-03-20 19:50:04 +01:00
gcarq
d2aea7bdc1
optimize imports
2018-03-20 19:50:04 +01:00
Gérald LONLAS
e6732e01e1
Use ticker_interval defined in Strategy() instead of a mix between strategy and config file ( #540 )
2018-03-15 23:48:22 +01:00
Gerald Lonlas
5a6f6c7138
Merge commit 'd13d6736b92ebfed1e172b60c77029e6c10b29a6' into feature/objectify
2018-03-04 00:51:49 -08:00
Gerald Lonlas
38510d4b03
Merge commit '1134c81aad049d4357c8f299ffc801218f3d9574' into feature/objectify
2018-03-03 17:26:06 -08:00
Gerald Lonlas
0632cf0f44
Merge commit 'aa7aeb046ef72412cadd094666efc8e4c503ef2d' into feature/objectify
2018-03-02 23:28:36 -08:00
Gerald Lonlas
390501bac0
Make Pylint Happy chapter 1
2018-03-03 09:33:54 +08:00
Gerald Lonlas
db67b10605
Remove Singleton from Strategy()
2018-03-03 09:33:54 +08:00
Janne Sinivirta
459611516c
enable stochastic and fisherRSI in default strategy
2018-02-14 13:02:31 +02:00
Janne Sinivirta
340ab0214b
add generic fishers inverse transformation with smoothing
2018-02-14 10:17:43 +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
5c02f0983d
let Strategy hold a sorted roi map
2018-02-06 21:37:11 +02:00
Gérald LONLAS
d24cd89304
Remove Strategy fallback to default strategy ( #490 )
...
* Remove Strategy fallback to default strategy
2018-02-02 11:01:09 +02:00
Gerald Lonlas
9f8539f13e
Remove unused code on Strategy interface
2018-01-28 13:21:25 -08:00
Gerald Lonlas
776dd4a0d5
Increase pylint score on strategy
2018-01-27 21:26:57 -08:00
Gerald Lonlas
67c6c380e1
Increase pylint score for fiat_convert
2018-01-27 18:23:08 -08:00
Janne Sinivirta
c400d15ed1
rip out hyperopt things from strategy, add indicator populating to hyperopt
2018-01-23 16:56:12 +02:00