Sam Germain
778f0d9d0a
Merged feat/short into lev-strat
2021-09-19 17:44:12 -06:00
Rokas Kupstys
e88c4701bb
[SQUASH] Address PR comments.
2021-09-18 10:48:53 +03:00
Rokas Kupstys
5dc78a0c66
[SQUASH] Get rid of _initialize() and fix informatives for dynamic pairlists.
2021-09-18 10:48:53 +03:00
Rokas Kupstys
f81df19b93
[TMP] Make tests not fail for now.
2021-09-18 10:48:53 +03:00
Rokas Kupstys
dfa61b7ad2
[SQUASH] Fix informatives for each pair not being created because dataprovider was not available.
...
Fix not being able to have informative dataframe of a pair in whitelist.
2021-09-18 10:48:53 +03:00
Rokas Kupstys
f2a1d9d2fc
[SQUASH] Address PR comments.
2021-09-18 10:48:18 +03:00
Rokas Kupstys
1fdb656334
Add a decorator which can be used to declare populate_indicators() functions for informative pairs.
2021-09-18 10:48:18 +03:00
Matthias
a89c67787b
Replace some more occurances of 'buy'
2021-09-18 09:23:53 +02:00
Matthias
4d558879e9
Merge branch 'feat/short' into pr/samgermain/5378
2021-09-17 19:33:35 +02:00
Matthias
d680fdf33a
Merge branch 'develop' into feat/short
2021-09-17 11:16:37 +02:00
Matthias
f7bae81d96
Dataframe should be copied after populate_indicator
...
Without that, PerformanceWarnings can appear throughout hyperopt which
are unnecessary and missleading for users
closes #5408
2021-09-15 19:56:12 +02:00
Sam Germain
f5b01443ad
buy/short -> entry order, sell/exit_short -> exit order
2021-09-09 02:10:12 -06:00
Matthias
2e50948699
Fix some tests
2021-09-04 20:23:51 +02:00
Matthias
ca44d2e092
Merge branch 'feat/short' into pr/samgermain/5378
2021-09-04 19:54:34 +02:00
Matthias
5184cc7749
Merge branch 'develop' into feat/short
2021-09-02 07:03:14 +02:00
Matthias
da5f8c87ae
Add stake_currency to strategy interface
...
allows type-completion in editors
2021-08-31 07:18:57 +02:00
Matthias
6b93c71d15
Small refactorings, use only enter_long columns
2021-08-25 06:49:06 +02:00
Matthias
b951f59f89
Fix patch_get_signal
2021-08-24 21:03:13 +02:00
Matthias
6524edbb4e
Simplify should_exit interface
2021-08-24 20:47:54 +02:00
Matthias
f3b6a0a797
Fix some type errors
2021-08-24 20:40:35 +02:00
Matthias
9a03cb96f5
Update get_signal
2021-08-24 20:24:51 +02:00
Matthias
b40f985b13
Add short-exit logic to backtesting
2021-08-24 20:02:40 +02:00
Matthias
11bd8e912e
Fix some tests
2021-08-24 06:52:28 +02:00
Matthias
7a977a8eaf
Merge branch 'feat/short' into pr/samgermain/5378
2021-08-24 06:28:16 +02:00
Matthias
957551ea97
Merge branch 'develop' into feat/short
2021-08-24 06:25:06 +02:00
Matthias
faf5cfa66d
Update some tests for updated backtest interface
2021-08-23 21:35:28 +02:00
Matthias
9add3bf808
Add enter_long compatibility layer
2021-08-23 21:12:46 +02:00
Sam Germain
5ca3f49cb5
merged with feat/short after feat/short added styling and comment changes PR
2021-08-22 21:37:20 -06:00
Sam Germain
55c070f1bb
Added interface leverage method
2021-08-18 16:52:34 -06:00
Sam Germain
dc4090234d
Added interface leverage method
2021-08-18 16:52:34 -06:00
Sam Germain
092780df9d
condensed strategy methods down to 2
2021-08-18 16:52:34 -06:00
Sam Germain
d4a7d2d444
Added short and exit_short to strategy
2021-08-18 16:52:20 -06:00
Sam Germain
314359dd6e
strategy interface changes to comments to mention shorting
2021-08-18 13:23:04 -06:00
Sam Germain
e2d5299116
Name changes for strategy
2021-08-18 13:22:54 -06:00
Matthias
c456cfc312
Merge branch 'develop' into pr/Axel-CH/5347
2021-08-14 09:13:30 +02:00
Matthias
cf27968b97
Properly preserve trade's low during backtesting
2021-08-09 19:38:56 +02:00
Matthias
a5f796bc97
refactor ohlcvdata_to_dataframe to advise_all_indicators
2021-08-09 14:53:18 +02:00
axel
612b88e993
Merge branch 'develop' of https://github.com/freqtrade/freqtrade into custom_order_price
2021-08-05 18:21:31 -04:00
axel
cb3b0cf311
add custom_exit_price in interface and freqtradebot
2021-08-04 23:09:40 -04:00
axel
f243ad4af0
add custom_exit_price in strategy interface
2021-08-04 19:09:55 -04:00
axel
f9f519fd3c
add custom_exit_price function to interface
2021-08-04 18:54:17 -04:00
axel
d9b9eecd4d
remove entry price reached method
2021-08-04 18:47:14 -04:00
Matthias
6410a6528b
Add missing methods to advanced strategy template
2021-08-04 06:46:21 +02:00
axel
b644233ead
rename custom_entry_price kwarg to align it to the interface
2021-08-03 17:03:27 -04:00
axel
b3dafb378e
remove use_custom_entry_price as a config option
2021-08-03 16:54:28 -04:00
axel
00939b63f2
flake 8 fixes
2021-08-03 16:25:18 -04:00
axel
53fb8b05e7
remove short logic in entry_price_reached function
2021-08-03 16:19:29 -04:00
axel
5284112b69
fix in custom entry function output,remove changes related to outdated prices, doc exemple minor changes
2021-08-03 15:57:23 -04:00
axel
f11f5d17e9
add feature custom entry price for live
2021-08-03 15:57:23 -04:00
Matthias
c981641441
Don't fail if strategy doesn't contain sell signal
2021-08-02 20:30:46 +02:00
kevinjulian
aea5da0c73
changes testcase
2021-07-23 11:42:43 +07:00
kevinjulian
5fe18be4b5
add note buy_tag and split 3 assignment for get_signal
2021-07-23 01:25:15 +07:00
kevinjulian
643b6b950e
run flake8
2021-07-22 02:23:34 +07:00
kevinjulian
25e329623f
change signature
2021-07-22 02:11:54 +07:00
kevinjulian
235c1afd09
add buy_tag on telegram
2021-07-22 01:53:15 +07:00
kevinjulian
49886874aa
rename to buy_tag
2021-07-21 20:05:35 +07:00
kevinjulian
66a7070170
run linter
2021-07-20 23:56:03 +07:00
Kevin Julian
edf9c08f06
Merge branch 'develop' into feat/kevinjulian/add-buy-signal-name
2021-07-20 19:19:46 +07:00
kevinjulian
ed30c023cd
fix some testcase
2021-07-20 19:08:14 +07:00
kevinjulian
104711a9bf
get_signal signature
2021-07-20 05:04:25 +07:00
kevinjulian
9e63bdbac9
feat: add buy signal name
2021-07-20 04:58:20 +07:00
Rokas Kupstys
0e4466ca1e
Implement strategy-controlled stake sizes. Expose self.wallet
to a strategy.
2021-07-11 12:38:58 +03:00
Matthias
a2ccc1526e
Load parameters from file
2021-06-29 07:07:34 +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
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
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
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
Rokas Kupstys
bbe6ece38d
[SQUASH] Fix parameter configs not loading.
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
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
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
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
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
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
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
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