Matthias
d7daa86434
Add bybit subclass
2020-12-20 19:59:46 +01:00
Matthias
7d2395ddb7
Add limit parameter to fetch_ohlcv
2020-12-20 19:33:04 +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
8574751a07
Add stoploss_value to strategy template
2020-12-20 10:49: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
8f6aefb591
Extract stoploss assignment
2020-12-18 06:56:56 +01:00
Matthias
768a24c375
Add stoplossvalue interface
2020-12-18 06:56:56 +01:00
Matthias
4e7f914e92
Improve test for AgeFilter, fix bug in Agefilter
2020-12-17 13:34:53 +01:00
Matthias
266031a6be
Disallow PerformanceFilter for backtesting
...
closes #4072
2020-12-16 19:24:47 +01:00
Matthias
d1fda28d2e
Fix typehints
2020-12-15 20:59:58 +01:00
Matthias
3c85d5201f
Use async to get candle data for pairlists
2020-12-15 20:38:26 +01:00
Matthias
c8dde63227
Allow test-pairlist to run with verbosity
2020-12-15 09:23:40 +01:00
Matthias
69901c1314
Provide pair to _validate_pairs in pairlists
2020-12-15 09:23:40 +01:00
Matthias
39fec25ae0
add optional Cache arguments to refresh_pairs method
2020-12-15 09:23:27 +01:00
Matthias
9f5c4ead15
Remove support for 3.6
2020-12-14 19:18:54 +01:00
Matthias
7c6357cc45
Merge pull request #4041 from freqtrade/plugins/protections_backtest
...
Introduce Protection Plugins
2020-12-13 11:08:24 +01:00
Matthias
657b002a81
Explicitly check for False in fetch_ticker
2020-12-13 10:59:29 +01:00
Matthias
7eab33de08
Merge branch 'develop' into plugins/protections_backtest
2020-12-13 10:31:33 +01:00
Matthias
8a2fbf6592
Small cleanup of protection stuff
2020-12-13 10:16:09 +01:00
Matthias
181b88dc75
Don't accept too high fees, assuming they are erroneous
...
Forces fallback to "detection from trades"
2020-12-12 10:52:27 +01:00
Matthias
c784e5780e
Merge pull request #4054 from freqtrade/models_open_price
...
Models open price
2020-12-11 06:31:02 +01:00
Matthias
95fd3824da
Finish renamal of open_trade_price to open_value
2020-12-10 19:36:52 +01:00
Matthias
201cc67e05
Rename open_trade_price to "open_trade_value"
2020-12-10 19:21:20 +01:00
Matthias
76594d5dde
Merge pull request #3799 from imxuwang/issue3783
...
Introduce Telegram /stats endpoint
2020-12-10 15:41:09 +01:00
Matthias
ca99d484fc
Refactor to use list comprehension
2020-12-10 07:39:50 +01:00
Matthias
33f330256b
Reorder commands on telegram init
2020-12-09 20:36:30 +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
c37bc307e2
Small finetunings to documentation
2020-12-07 16:12:03 +01:00
Matthias
f047297995
Improve wording, fix bug
2020-12-07 15:48:06 +01:00
Matthias
3ab5514697
Add API endpoint for /stats
2020-12-07 15:07:08 +01:00
Matthias
81410fb404
Document /stats for telegram
2020-12-07 15:03:16 +01:00
Matthias
e873cafdc4
Beautify code a bit
2020-12-07 14:54:39 +01:00
Matthias
effc96e92b
Improve tests for backtest protections
2020-12-07 11:39:01 +01:00
Matthias
5849d07497
Export locks as part of backtesting
2020-12-07 11:39:01 +01:00
Matthias
bb51da8297
Fix slow backtest due to protections
2020-12-07 11:39:01 +01:00
Matthias
75a5161650
Support multis-strategy backtests with protections
2020-12-07 11:39:01 +01:00
Matthias
a3f9cd2c26
Only load protections when necessary
2020-12-07 11:39:01 +01:00
Matthias
e2d15f4082
Add parameter to enable protections for backtesting
2020-12-07 11:39:01 +01:00
Matthias
32189d27c8
Disable output from plugins in backtesting
2020-12-07 11:39:01 +01:00
Matthias
9f34aebdaa
Allow closing trades without message
2020-12-07 11:39:01 +01:00
Matthias
b606936eb7
Make changes to backtesting to incorporate protections
2020-12-07 11:39:01 +01:00
Matthias
98c88fa58e
Prepare protections for backtesting
2020-12-07 11:39:01 +01:00
Matthias
3426e99b8b
Improve formatting of protection startup message
2020-12-07 11:37:57 +01:00
Matthias
64d6c7bb65
Update developer docs
2020-12-07 11:17:11 +01:00
Matthias
0e2a43ab4d
Add duration_explanation functions
2020-12-07 11:12:09 +01:00
Matthias
c993831a04
Add protections to startup messages
2020-12-07 10:57:01 +01:00
Matthias
d4799e6aa3
Implement *candle definitions
2020-12-07 10:54:26 +01:00
Matthias
a93bb6853b
Document *candles settings, implement validations
2020-12-07 10:47:13 +01:00
Matthias
eb952d77be
Move lookback_period to parent __init__
2020-12-07 08:27:14 +01:00
Matthias
f06b58dc91
Test MaxDrawdown desc
2020-12-07 08:23:10 +01:00
Matthias
089c463cfb
Introduce max_drawdown protection
2020-12-07 08:23:10 +01:00
Matthias
9d6f3a89ef
Improve docs and fix typos
2020-12-07 08:23:10 +01:00
Matthias
768d7fa196
Readd optional for get_pair_locks - it's necessary
2020-12-07 08:23:10 +01:00
Matthias
ad746627b3
Fix lock-loop
2020-12-07 08:23:10 +01:00
Matthias
4351a26b4c
Move stop_duration to parent class
...
avoids reimplementation and enhances standardization
2020-12-07 08:23:10 +01:00
Matthias
6d0f16920f
Get Longest lock logic
2020-12-07 08:23:10 +01:00
Matthias
dce2364672
Add stoploss per pair support
2020-12-07 08:23:10 +01:00
Matthias
8f958ef723
Improve login-mixin structure
2020-12-07 08:23:10 +01:00
Matthias
8d9c66a638
Add LogginMixin to freqtradebot class to avoid over-logging
2020-12-07 08:23:10 +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
5e3d2401f5
Only call stop methods when they actually support this method
2020-12-07 08:23:10 +01:00
Matthias
2cd54a5933
Allow disabling output from plugins
2020-12-07 08:23:10 +01:00
Matthias
8ebd6ad200
Rename login-mixin log method
2020-12-07 08:23:10 +01:00
Matthias
2e5b9fd4b2
format profit in low_profit_pairs
2020-12-07 08:23:10 +01:00
Matthias
e29d918ea5
Avoid double-locks also in per pair locks
2020-12-07 08:23:10 +01:00
Matthias
fc97266dd4
Add "now" to lock_pair method
2020-12-07 08:23:10 +01:00
Matthias
59091ef2b7
Add helper method to calculate protection until
2020-12-07 08:23:10 +01:00
Matthias
5133675988
Apply all stops in the list, even if the first would apply already
2020-12-07 08:23:10 +01:00
Matthias
9484ee6690
Test for low_profit_pairs
2020-12-07 08:23:10 +01:00
Matthias
bb06365c50
Improve protection documentation
2020-12-07 08:23:10 +01:00
Matthias
1f703dc341
Improve protection documentation
2020-12-07 08:23:10 +01:00
Matthias
00d4820bc1
Add low_profit_pairs
2020-12-07 08:23:10 +01:00
Matthias
9f6c2a583f
Better wording for config options
2020-12-07 08:23:10 +01:00
Matthias
8dbef6bbea
Add test for cooldown period
2020-12-07 08:23:10 +01:00
Matthias
fe0afb9883
Implement calling of per-pair protection
2020-12-07 08:23:10 +01:00
Matthias
2a66c33a4e
Add locks per pair
2020-12-07 08:23:10 +01:00
Matthias
ff7ba23477
Simplify enter_positions and add global pairlock check
2020-12-07 08:23:10 +01:00
Matthias
05be33ccd4
Simplify is_pair_locked
2020-12-07 08:23:10 +01:00
Matthias
56975db2ed
Add more tests
2020-12-07 08:23:10 +01:00
Matthias
816703b8e1
Improve protections work
2020-12-07 08:23:10 +01:00
Matthias
f39a534fc0
Implement global stop (First try)
2020-12-07 08:23:10 +01:00
Matthias
3447f1ae53
Implement first stop method
2020-12-07 08:23:10 +01:00
Matthias
a0bd2ce837
Add first version of protection manager
2020-12-07 08:23:10 +01:00
Matthias
b6b9c8e5cc
Move "slow-log" to it's own mixin
2020-12-07 08:23:10 +01:00
Matthias
51fbd0698c
Move get_logs to be static method
2020-12-06 19:57:48 +01:00
Matthias
245c19f5e9
Add simple test for /stats call
2020-12-05 14:48:56 +01:00
Matthias
aa27c9ace2
Reorder methods in telegram
...
/stats is closely related to /profit
2020-12-05 14:39:50 +01:00
Matthias
143423145c
Refactor most of the logic to rpc.py
...
this way /stats can be used by other RPC methods too
2020-12-05 14:38:42 +01:00
Matthias
c556d1b37e
Make /stats working
2020-12-05 14:06:46 +01:00
Matthias
8f61b68b2a
Merge branch 'develop' into pr/imxuwang/3799
2020-12-05 14:06:23 +01:00
Matthias
058d40a72c
Fix telegram /daily command without arguments
2020-12-05 08:16:40 +01:00
Matthias
2fbbeb970b
Gracefully handle cases where no buy price was found
...
closes #4030
2020-12-04 07:42:16 +01:00
Matthias
22595e6f92
Merge pull request #3929 from radwayne/roi_trailing_backtest
...
change backtesting behaviour if roi and trailing-stop happen at the same time
2020-12-03 19:40:46 +01:00
Matthias
36b7edc342
Update typing errors
2020-12-01 19:57:09 +01:00
Matthias
dda5bcbc8d
Merge pull request #4009 from mrsegen/patch-4
...
[Pairlist] Add PerformanceFilter
2020-11-30 07:48:15 +01:00
Leif Segen
e7a035eefe
Lint
2020-11-28 12:29:31 -06:00
Leif Segen
323c0657f8
Sort by profit after sort by count/pair
2020-11-28 12:17:03 -06:00
Leif Segen
6a74c57c3d
Pair name-based sorting.
...
Attempt at more rational string sorting. Change test to show not working as expected.
2020-11-28 11:33:25 -06:00
Matthias
e40d97e05e
Small formatting improvements
2020-11-28 17:52:29 +01:00
Matthias
5d3f59df90
Add best / worst trade
2020-11-28 17:45:56 +01:00
Matthias
a00f852cf9
Add best / worst pair to summary statistics
2020-11-28 17:37:10 +01:00
Leif Segen
03c5714399
Use explicit merge without depending on library detail. Add no trades case.
2020-11-28 09:45:17 -06:00
Leif Segen
e1d42ba78c
Alphabetize
2020-11-28 09:44:01 -06:00
Matthias
a47d8dbe56
Small refactor, avoiding duplicate calculation of profits
2020-11-28 11:35:29 +01:00
Leif Segen
37d2e476df
isort imports
2020-11-28 01:59:30 -06:00
Leif Segen
966c6b308f
Satisfy linter.
2020-11-28 01:34:18 -06:00
Leif Segen
cfbd1c4c43
Merge branch 'develop' into patch-4
2020-11-28 01:17:34 -06:00
Leif Segen
662ec32073
Add test cases
2020-11-28 01:15:36 -06:00
Leif Segen
91b4c80d35
Remove unused parameters
2020-11-27 22:18:49 -06:00
Leif Segen
380cca2252
Remove unused imports
2020-11-27 22:00:48 -06:00
Leif Segen
7cbd89657f
Initial step towards implementing proposed code
2020-11-27 21:24:40 -06:00
Matthias
af1b3721fb
remove duplicate settings check
2020-11-27 20:28:17 +01:00
Matthias
95c3c45ec9
Remove long deprecated settings that moved from experimental to
...
ask_strategy
2020-11-27 20:24:32 +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
Matthias
dddbc799f9
have kraken stoploss-limit support trailing stop
2020-11-26 19:40:36 +01:00
Matthias
1d56c87a34
Fully support kraken limit stoploss
2020-11-25 21:40:39 +01:00
Matthias
53231d94a9
Merge pull request #3975 from freqtrade/volatility_filter
...
RangeStabilityFilter filter - filter for pairs without much movement
2020-11-25 19:17:06 +01:00
Matthias
c14c0f60a1
Add Support for kraken stoploss-limit
2020-11-25 16:27:27 +01:00
Matthias
6810192992
Update docstring for new filter
2020-11-25 15:14:36 +01:00
Matthias
8ae604d473
Ensure we're not running off of empty dataframes
2020-11-25 15:14:36 +01:00
Matthias
0d349cb355
Small finetuning
2020-11-25 15:14:36 +01:00
Matthias
8f1d2ff070
Renamd volatilityFilter to RangeStabilityFilter
2020-11-25 15:14:29 +01:00
Matthias
0104c9fde6
Fix double logging
2020-11-25 14:31:34 +01:00
Matthias
ceb50a7807
use exception handler when downloading data
...
closes #3992
2020-11-25 07:57:27 +01:00
Matthias
bd98ff6332
Update docstring in all pairlists
2020-11-24 20:24:51 +01:00
Matthias
006436a18d
Require use_sell_signal to be true for edge
...
Otherwise edge will have strange results, as
edge runs with sell signal, while the bot runs without sell signal,
causing results to be invalid
closes #3900
2020-11-24 07:47:35 +01:00
Matthias
730c9ce471
Add Max_open_trades to summary metrics
2020-11-24 06:57:26 +01:00
Matthias
29c6a9263d
Protect against 0 values
2020-11-22 15:50:44 +01:00
Matthias
2e1551a2eb
Improve tests of volatilityfilter
2020-11-21 19:57:17 +01:00
Matthias
f8fab5c4f8
Add tests for failure cases
2020-11-21 15:51:39 +01:00
Matthias
109824c9a8
Add VolatilityFilter
2020-11-21 15:39:00 +01:00
Matthias
fb86d8f8ff
Add get_historic_ohlcv_as_df to support VolatilityFilter
2020-11-21 15:28:50 +01:00
Matthias
4d60a4cf4e
Add warning to StochRSI in sample strategy
...
closes #2961
2020-11-21 11:32:46 +01:00
Matthias
e8e3ca0c3c
Catch ValueError from trade_conversion
...
closes #3967
2020-11-21 10:57:19 +01:00
Matthias
83861fabde
Fix #3967 , move TradeList type to constants
2020-11-21 10:52:15 +01:00
Matthias
5ed85963a9
Allow forcebuy price to be a string by converting it to float
...
fix #3970
2020-11-21 10:39:49 +01:00
Matthias
fa0fcfb492
Merge pull request #3939 from drdux/historic-pair
...
Historic pair
2020-11-19 19:46:08 +01:00
Matthias
7a8b274a44
Merge branch 'develop' into pr/imxuwang/3799
2020-11-19 13:18:03 +01:00
Matthias
52c9a2c37f
Convert np to None when loading hdf5 trades to allow duplicate detection
2020-11-19 07:31:54 +01:00
Matthias
9621734adc
Allow setting datafromat via configuration
...
closes #3953
2020-11-17 06:53:38 +01:00
Matthias
05f0cc787c
Plotting should use startup_candles too
...
closes #3943
2020-11-14 09:28:00 +01:00
Matthias
164105acf2
Adjust startup_candle_count of sample strategies
2020-11-14 08:25:57 +01:00
Matthias
08b52926c8
Catch asyncio.TimeoutError when reloading async markets
2020-11-13 10:43:48 +01:00
Matthias
4eb96cfc4f
Allow locks to be gathered even when the bot is stopped
2020-11-13 06:51:45 +01:00
Daniel Goller
2d6bfe1592
only skip pair validation rather than all of it
2020-11-12 11:32:45 +00:00