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
Daniel Goller
2424ac94c2
skip the check for active markets with flag for existing StaticPairList
2020-11-12 11:29:46 +00:00
Daniel Goller
2640dfee93
Revert "Added ConstPairList handler to skip validation of pairs if you want to backtest a pair that's not live any more, e.g. expiring contracts."
...
This reverts commit 13da8f9368
.
2020-11-12 11:27:30 +00:00
Daniel Goller
916776bb53
Option to skip exchange validation, required to backtest pairs that are not live on the exchange any more.
2020-11-09 08:37:38 +00:00
Daniel Goller
13da8f9368
Added ConstPairList handler to skip validation of pairs if you want to backtest a pair that's not live any more, e.g. expiring contracts.
2020-11-09 08:34:40 +00:00
Matthias
2af1c80fd5
Convert _rpc_show_config to static method
2020-11-08 11:26:02 +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
b58d6d38b5
Use correct fields in telegram
2020-11-03 08:59:11 +01:00
Matthias
d1dab23283
Remove deprecated api fields
2020-11-03 08:59:11 +01:00
Matthias
cf89a773da
Standardize trade api outputs
...
there should be no difference between current_profit and close_profit
it's always profit, and the information if it's a closed trade is available elsewhere
2020-11-03 08:58:57 +01:00
Matthias
887d78171c
Merge pull request #3857 from freqtrade/arrow_deprecation_timestamp
...
Convert timestamp to int_timestamp for all arrow occurances
2020-11-02 16:40:43 +01:00
Matthias
e73203acb8
FIx bug with dmmp
2020-11-01 10:51:07 +01:00
Matthias Spiller
78874fa865
informative_pairs does not honor dataformat
2020-10-31 10:53:51 +00:00
Matthias
f4d39f2a12
Improve test coverage of deploy_commands
2020-10-29 07:44:03 +01:00
Matthias
19fcbc92a7
Remove stake-currency for download-data - it's not needed
2020-10-29 07:43:40 +01:00
Matthias
5cb3735a57
Improve error when hyperopt-loss-function is missing
2020-10-28 07:58:55 +01:00
Matthias
72f61f4682
Remove optional, now is not optional
2020-10-27 10:08:24 +01:00
Matthias
5c8779b155
Sort imports
2020-10-27 08:11:57 +01:00
Matthias
6c913fa617
Fix locking - should round before storing to have a consistent picture
2020-10-27 08:01:31 +01:00
Matthias
e602ac3406
Introduce Pairlocks middleware
2020-10-27 07:06:06 +01:00
Matthias
b8c12f6576
Test if return value is an exception when downloading historic data
2020-10-23 07:50:40 +02:00
Matthias
50e7418d24
Merge branch 'develop' into pr/imxuwang/3799
2020-10-22 08:05:09 +02:00
Matthias
9999017953
Fix small bug in case of duplicate locks
2020-10-22 08:04:48 +02:00
Matthias
2f91f87ad3
Merge branch 'develop' into pr/imxuwang/3799
2020-10-22 07:55:48 +02:00
Matthias
cf1a726198
Rename table to be inline with other table naming
2020-10-22 07:35:59 +02:00
Matthias
a143f7bc43
Improve pairlock docstrings
2020-10-21 19:35:57 +02:00
Matthias
fd6018f67a
Fix dependency sorting
2020-10-21 06:21:13 +02:00
Matthias
adffd402ea
Replace some pointless occurances of arrow
2020-10-20 20:11:38 +02:00
Matthias
7a092271c5
Merge branch 'develop' into arrow_deprecation_timestamp
2020-10-20 20:01:54 +02:00
Matthias
5f63fdd8ad
Use better lock message
2020-10-20 19:40:39 +02:00
Matthias
64e680d7ee
Document new api method
2020-10-20 19:30:00 +02:00
Matthias
1156f5e686
Use constant for times
2020-10-20 19:21:13 +02:00
Matthias
0daf77f313
Don't check for lock start date
2020-10-20 19:21:13 +02:00
Matthias
cd2866eaec
Add rest endpoint for /locks
2020-10-20 19:21:13 +02:00
Matthias
7a9768ffa6
Add /locks Telegram endpoint
2020-10-20 19:21:13 +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
6eab20e337
Use constant to format datetime
2020-10-20 19:21:13 +02:00
Matthias
2d04c2dd4f
Fix small bug when cancel-order does not contain id
...
happens with kraken ...
2020-10-20 06:24:46 +02:00
Xu Wang
1c27aaab72
Declare type of 'dur'.
2020-10-18 20:24:13 +01:00
Matthias
cf2ae788d7
Convert backtesting rows to Tuples for performance gains
2020-10-18 17:16:57 +02:00
Matthias
5d3a67d324
Don't debug-log during backtesting.
...
Even though log-messages are surpressed, calling "debug" will always
have to do something.
2020-10-18 16:38:16 +02:00
Matthias
b80a219d03
Improve typehints for backtesting
2020-10-18 16:35:23 +02:00
Matthias
380e6628e0
Merge branch 'develop' into feat/backtest_speedup_serialize
2020-10-18 16:19:04 +02:00
Matthias
2591a34db4
Don't use arrow objects for backtesting
2020-10-18 16:18:52 +02:00
Matthias
8cdc795a44
Rename persistence.init to init_db
2020-10-16 08:15:18 +02:00
Matthias
ec713ff5ae
Convert _rpc_analysed_history_full to static method
2020-10-16 06:26:57 +02:00
Matthias
07da21e633
Fix problem when limit is > max allowed limit
2020-10-13 20:38:02 +02:00
Matthias
8165cc11df
Change get_next_limit_in_list to use list comprehension
2020-10-13 20:30:35 +02:00
Matthias
8962b6d5c9
Add Bittrex subclass to correctly handle L2 orderbook
2020-10-13 20:09:43 +02:00
Matthias
077374ac42
Implement generic solution for l2 limited limit
2020-10-13 20:02:47 +02:00
Matthias
ecddaa663b
Convert timestamp to int_timestamp for all arrow occurances
2020-10-13 06:24:01 +02:00
Matthias
44e374878c
Fix mypy errors due to new version
2020-10-12 19:28:14 +02:00
Matthias
23bad8fd9f
Rename DefahltHyperoptLoss function to ShortTradeDurHyperOptLoss
2020-10-10 14:22:29 +02:00
Matthias
f676156ec7
Implement division/0 checks for win and loss columns in edge
...
closes #3839
2020-10-09 06:39:13 +02:00
Matthias
23278e52db
remove obsolete logging statements
2020-10-08 20:22:59 +02:00
Matthias
e8f2c09f08
Extract handling of left open trades to seperate method
2020-10-08 20:11:45 +02:00
Matthias
52502193c4
Backtesting should not double-loop for sell signals
2020-10-07 20:59:05 +02:00
Matthias
8c2f763193
Add test to ensure --hyperopt-loss is mandatory
2020-10-05 20:36:16 +02:00
Matthias
378b214a56
Remove hyperopt-loss default option
...
Force users to make a concious choice on a hyperopt-loss function
2020-10-05 19:27:28 +02:00
Matthias
584d095295
Merge pull request #3835 from freqtrade/hyperopt_trailing_output
...
Fix Hyperopt trailing output
2020-10-05 19:09:02 +02:00
Matthias
b86a602ad4
Update typehint
2020-10-05 16:17:37 +02:00
Matthias
40b61bbfe3
Adjust trailing-stop to be python compliant
2020-10-05 07:44:12 +02:00
Matthias
301598bac9
Merge pull request #3818 from freqtrade/rpc/candlehistory
...
Rpc/candlehistory
2020-10-04 09:34:25 +02:00