Commit Graph

6889 Commits

Author SHA1 Message Date
Matthias
cb4889398b Fix backtesting bug 2021-08-25 07:03:48 +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
f9f32a15bb Update plotting tests for new strategy interface 2021-08-24 20:30:42 +02:00
Matthias
9a03cb96f5 Update get_signal 2021-08-24 20:24:51 +02:00
Matthias
46285cd77e Fix some namings in freqtradebot 2021-08-24 20:07:39 +02:00
Matthias
b40f985b13 Add short-exit logic to backtesting 2021-08-24 20:02:40 +02:00
Matthias
eb71ee847c Rename backtest index constants 2021-08-24 06:56:06 +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
7373b39015 Initial support for backtesting with short 2021-08-23 21:16:26 +02:00
Matthias
3e8164bfca Use proper exchange name in backtesting 2021-08-23 21:13:47 +02:00
Matthias
9add3bf808 Add enter_long compatibility layer 2021-08-23 21:12:46 +02:00
Sam Germain
07de5d11ca Removed a bug causing errors from freqtradebot 2021-08-23 00:25:08 -06:00
Sam Germain
61ad38500a Reverted freqtrade/templates/*hyperopt* files back to no shorting 2021-08-23 00:18:15 -06:00
Sam Germain
53b51ce8cf Reverted freqtrade/templates/sample_strategy back to no shorting, and created a separate sample short strategy 2021-08-23 00:17:20 -06:00
Sam Germain
0afeb269ad Removed unnecessary TODOs 2021-08-23 00:15:35 -06:00
Sam Germain
9f6b6f04b4 Added False to self.strategy.get_signal 2021-08-22 23:55:34 -06:00
Sam Germain
e5b2b64a3f Changed stoploss side on some tests 2021-08-22 23:36:36 -06: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
488d729574 Merge branch 'feat/short' into lev-exchange 2021-08-22 20:59:33 -06:00
Sam Germain
70ebf09871 exchange - kraken - minor changes 2021-08-22 20:58:22 -06:00
Matthias
3026583ed4 Reduce verbosity of "is in blacklist" logging 2021-08-22 19:40:43 +02:00
Matthias
56759cea7b Add "high fee rate" blocker to fees from trades
part of #5415 (potentially fixing this)
2021-08-22 14:37:45 +02:00
Sam Germain
6ac0ab0233 Added short functionality to exchange stoplss methods 2021-08-21 21:10:03 -06:00
Sam Germain
a5be535cc9 strategy interface: removed some changes 2021-08-21 17:06:04 -06:00
Sam Germain
4ac2237937 Changed ftx set_leverage implementation 2021-08-21 16:26:04 -06:00
Sam Germain
f5fd8dcc05 Added error handlers to api functions and made a logger warning in fill_leverage_brackets 2021-08-21 01:13:51 -06:00
Sam Germain
84bc4dd740 Removed some outdated TODOs and whitespace 2021-08-20 18:50:02 -06:00
Sam Germain
97bb555d41 Implemented fill_leverage_brackets get_max_leverage and set_leverage for binance, kraken and ftx. Wrote tests test_apply_leverage_to_stake_amount and test_get_max_leverage 2021-08-20 18:23:21 -06:00
Masoud Azizi
40ad451019 Download-data log process added
Download-data log process added

pytest assert solved
2021-08-20 14:52:56 +00:00
Matthias
695a1e21bf Set gate.io download limit to 1000 candles 2021-08-20 06:51:04 +02: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
f7087feeb1
Merge pull request #5347 from Axel-CH/custom_order_price
Custom order price
2021-08-18 20:59:40 +02:00
Matthias
9951f51079 Update test to ensure direction of movement is correct 2021-08-18 20:24:19 +02:00
axel
2fb9f6e2f4 rename custom price max distance option in config, update formula and test associated 2021-08-18 05:07:37 -04:00
Matthias
4164f93853 Simplify fiat_convert and handle multi-mappings 2021-08-17 20:50:52 +02:00
Matthias
37e3d20357 Fix no-event-loop available
closes #5433
2021-08-17 06:54:10 +02:00
Matthias
9758bed250 Fix refresh_latest_ohlcv bug 2021-08-17 06:44:36 +02:00
axel
6ab99369f2 Merge branch 'develop' of https://github.com/freqtrade/freqtrade into custom_order_price 2021-08-16 23:26:29 -04:00
axel
17daba321b add custom_price_max_distance_percent config option in constants 2021-08-16 23:09:30 -04:00
axel
3ea4b2ba00 add custom_price_max_distance_percent security to get_valid_price, update tests 2021-08-16 15:18:57 -04:00
slowy07
f24a951ec5 fix: typo spelling grammar 2021-08-16 19:16:24 +07:00
Matthias
4115121c24 Fix missing return statement in is_Relative_to 2021-08-16 07:26:58 +02:00
Matthias
4b65206e6b Add compat code for is_relative_to 2021-08-16 07:09:05 +02:00
Matthias
6b2ef36a56 Prevent directory traversal in UI Serving
Checking for directory base

closes #5427
2021-08-16 06:47:53 +02:00
Matthias
322ea2481e Add log-message for edge-case 2021-08-15 19:28:36 +02:00
Matthias
ed6776c5cd Fix disappearing pairlist bug 2021-08-15 17:06:16 +02:00
Matthias
4f10a88529 Reduce verbosity when incompatible pairs are detected 2021-08-15 15:14:57 +02:00
Matthias
fa4ec9f83e Add explicit test for get_sell_trade_entry 2021-08-15 14:52:24 +02:00
Matthias
3406b889b6 First test 2021-08-14 17:06:28 +02:00
Matthias
8405ccc15e Seperate detail data loading from regular backest-data loading 2021-08-14 16:33:01 +02:00
Matthias
88172fab82 Allow "detailed" backtesting timeframe to look into the candle 2021-08-14 16:04:23 +02:00
Matthias
123971d271 Don't change passed in parameter variable 2021-08-14 16:02:31 +02:00
Matthias
c456cfc312 Merge branch 'develop' into pr/Axel-CH/5347 2021-08-14 09:13:30 +02:00
Matthias
c7147311f8 Fix json syntax error in config template 2021-08-13 17:14:38 +02:00
axel
20cc60bfde update get_valid_price function and test cases to handle inputs with try catch 2021-08-13 11:06:15 -04:00
axel
dbf7f34ecb add unit test to function get_valid_price 2021-08-12 15:30:49 -04:00
axel
b098ce4e76 add function get_valid_price to validate type of custom entry or exit price and use default proposed price if invalid 2021-08-12 15:13:14 -04:00
axel
ae11be3970 manage None or string value returned by custom_entry_price and add unit test for those cases 2021-08-12 14:47:01 -04:00
Matthias
e03784d98d Fix filled exception
closes #5404
2021-08-12 05:02:56 +00:00
Matthias
bfc3968ab3
Merge pull request #5400 from freqtrade/limit_dry_market_slippage
Add max-slippage limiting for dry-run orders to avoid insane market o…
2021-08-12 06:54:55 +02:00
Matthias
bdbac37be7
Merge pull request #5399 from rokups/rk/fix-buy-tag-backtest
Fix buy_tag not being saved to trade object.
2021-08-12 06:36:33 +02:00
Rokas Kupstys
f6267c7514 Fix buy_tag not being saved to trade object.
Column is mistakenly excluded because advise_buy() creating this column runs after code detecting presence of buy_tag column.
2021-08-11 15:21:23 +03:00
Matthias
61c076563f Add max-slippage limiting for dry-run orders to avoid insane market order fills 2021-08-11 12:11:29 +02:00
Sam Germain
180d92f879 Merge branch 'feat/short' into lev-exchange 2021-08-11 01:46:41 -06:00
ipqhjjybj
65d025923d add code 2021-08-11 14:35:16 +08:00
Matthias
0b6aedbc4c
Merge pull request #5395 from freqtrade/fix/hyperopt-show
Stream hyperopt-result in small batches
2021-08-10 19:54:02 +02:00
Matthias
039d6384ed Stream hyperopt-result in small batches
Avoiding memory-exhaustion on huge hyperopt results

closes #5305
closes #5149
2021-08-10 10:12:57 +02:00
Matthias
3f160c7144 Cache dataframe before cutting the first candle
This allows providing the "current closed" candle in all cases.
2021-08-10 09:14:29 +02:00
Matthias
cf27968b97 Properly preserve trade's low during backtesting 2021-08-09 19:38:56 +02:00
Matthias
5bfb9edf02 Only query date once from list 2021-08-09 15:42:17 +02:00
Matthias
895b912c71 Fix recently introduced lookahead bias in backtesting
closes #5388
2021-08-09 14:54:47 +02:00
Matthias
a5f796bc97 refactor ohlcvdata_to_dataframe to advise_all_indicators 2021-08-09 14:53:18 +02:00
Matthias
f17942b68f Fix random test failure 2021-08-09 11:18:18 +02:00
Sam Germain
de4b0d1f7c Merged with feat/short 2021-08-09 00:24:25 -06:00
Sam Germain
06206335d9 Added tests for interest_function 2021-08-09 00:00:50 -06:00
Sam Germain
0733d69cda Added TODOs to test files 2021-08-08 23:24:38 -06:00
Sam Germain
53a6ce881c Added set_leverage function to exchange 2021-08-08 23:24:03 -06:00
Sam Germain
4ca1d25db1 Removed setup leverage and transfer functions from exchange 2021-08-08 23:24:03 -06:00
Sam Germain
2c0077abc7 Exchange stoploss function takes side 2021-08-08 23:24:03 -06:00
Sam Germain
b48b768757 Added get_interest template method in exchange 2021-08-08 23:24:03 -06:00
Sam Germain
120cad88af Add prep functions to exchange 2021-08-08 23:24:03 -06:00
Matthias
47f641d12f Remove hyperopt-pickle result support 2021-08-09 07:04:18 +02:00
Sam Germain
8e941e6836 Changed interest implementation 2021-08-08 17:09:17 -06:00
Sam Germain
0545a0ed3c Replaced the term margin with leverage when it should say leverage 2021-08-08 17:04:24 -06:00
Matthias
3bd0c3d009 Remove legacy code from export to csv 2021-08-08 11:02:54 +02:00
Matthias
faf16a64e5 Remove legacy hyperopt file support 2021-08-08 10:22:45 +02:00
Matthias
0ae4eccea5 Refactor Hyperopt-list and hyperopt-show to reduce some duplicate code 2021-08-08 10:06:35 +02:00
Sam Germain
4630f69830 Removed short, exit_short from enums 2021-08-08 01:36:59 -06:00
Sam Germain
658f138e30 Added short_tag to SignalTagType 2021-08-07 20:08:52 -06:00
Sam Germain
71963e65f1 Removed ExchangeName Enum 2021-08-07 18:47:03 -06:00
Sam Germain
7e6b281b75 Merge branch 'feat/short' of https://github.com/freqtrade/freqtrade into feat/short 2021-08-07 01:43:56 -06:00
Matthias
92ed7c0bf8 Merge branch 'develop' into feat/short 2021-08-07 09:42:25 +02:00
Matthias
6532aba765
Merge pull request #5360 from freqtrade/hyperopt_protections
Hyperopt protections and Boolean parameter
2021-08-07 09:42:05 +02:00
Sam Germain
9988c293b5 Merge branch 'enums' into feat/short 2021-08-06 19:30:31 -06:00
Sam Germain
9b58c58609 Merge branch 'develop' into feat/short 2021-08-06 18:12:53 -06:00
Sam Germain
b9356a5564 Autopep8 formatting 2021-08-06 16:35:39 -06:00
Sam Germain
aec82b4647 Added empty everage/__init__.py 2021-08-06 01:37:34 -06:00
Sam Germain
50d185ccd8 Added exchange_name variables to exchange classes 2021-08-06 01:23:55 -06:00
Sam Germain
241bfc409f Added leverage enums 2021-08-05 23:29:26 -06: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
84d082033b fix default retval for strategy custom_entry_price 2021-08-05 18:00: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
ad0e4a8567 Add BooleanParameter 2021-08-04 20:52:56 +02:00
Matthias
b73768acd1 Fix bug in property overwriting prevention 2021-08-04 20:21:56 +02:00
Matthias
3c41223333 Add test for protections-hyperopt 2021-08-04 20:01:28 +02:00
Matthias
a661e0db6e Deprecate protections from config 2021-08-04 19:43:16 +02:00
Matthias
a6454cfc39 Autoenable protections when protection-space is selected 2021-08-04 07:17:29 +02:00
Matthias
797d7e5ce6
Merge pull request #5157 from samgermain/margin-db
Margin db
2021-08-04 06:57:36 +02:00
Matthias
091bf7c4d2 Output protection space 2021-08-04 06:50:14 +02:00
Matthias
544e0da6c2 Add protection parameter space 2021-08-04 06:50:14 +02:00
Matthias
800b2eeaf0 Load protections as part of backtest()
this enables different values in hyperopt per epoch
2021-08-04 06:50:14 +02: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
16146357b3 reuse buy_limit_requested as rate input for custom entry price 2021-08-03 16:39:35 -04:00
axel
42e24d8b4b remove price change cancel reason in contants, will be added in another PR 2021-08-03 16:35:16 -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
07673ef47f
Update Migrations to use the latest added columns 2021-08-03 10:25:59 +02:00
Sam Germain
5b6dbbd750 Changed order of buy_tag in migrations 2021-08-03 00:23:21 -06:00
Sam Germain
d88e2ae603 Merge branch 'develop' into margin-db 2021-08-02 23:58:44 -06:00
Matthias
dfc17f2bd1 Fix ci failure 2021-08-03 07:21:11 +02:00
Matthias
4ab03f7e37 Don't load fallback methods for autohyperopt 2021-08-02 21:17:56 +02:00
Matthias
e70a742005 Reorder space methods in hyperopt 2021-08-02 21:12:10 +02:00
Matthias
adb33e763b
Merge pull request #5350 from freqtrade/environment_vars
Add environment variable support
2021-08-02 20:48:23 +02:00
Matthias
c981641441 Don't fail if strategy doesn't contain sell signal 2021-08-02 20:30:46 +02:00
Matthias
d8d8261f1b
Merge pull request #5318 from samgermain/combined_exchange_buy_sell
combined exchange.buy and exchange.sell
2021-08-02 20:11:09 +02:00
Matthias
5ead95b06b
Merge pull request #5245 from sauces1313/RangeStabilityFilterMax
Range stability filter max
2021-08-02 08:06:36 +02:00
Matthias
b63eda3a2b Some minor cleanup and improved test coverage 2021-08-02 07:15:09 +02:00
sauces1313
059c32b067 Check for and default to 'None' 2021-08-02 02:49:49 +00:00
Matthias
056bc93bc6 backtesting needs startup_candle_count
fixes informative-pair loading  being different between --strategy-list and
--strategy.
2021-08-01 19:17:52 +02:00
Matthias
e9ef9a6d28 Use .view() to convert dates to enums
part of #5314 - fixing deprecation warning.
2021-08-01 10:31:35 +02:00
Matthias
6f8519d0a3 Add environment variable support 2021-07-31 19:26:56 +02:00
Matthias
c5e3348b89 Migrations for indexes should run in a seperate session
closes #5349
2021-07-31 16:36:28 +02:00
Matthias
1ccc89d1e9 Store fully analyzed dataframe 2021-07-31 10:00:24 +02:00
Sam Germain
ef429afb6f Removed is_oeing_trade is_closing_trade 2021-07-31 01:22:48 -06:00
Sam Germain
d6ffd23865 Merged with remote 2021-07-31 01:19:11 -06:00
Matthias
b1cbc75e93 Properly cache pair dataframe in backtesting (without startup-range). 2021-07-31 08:45:04 +02:00
Sam Germain
26be620f71 Removed LocalTrade.set_is_short 2021-07-31 00:20:25 -06:00
Sam Germain
fadb0de7c7 Removed excess modes stop_loss method, removed models.is_opening_side models.is_closing_side 2021-07-31 00:12:53 -06:00
Matthias
138b126d03
Merge pull request #5299 from kevinjulian/feat/kevinjulian/add-buy-signal-name
Add buy signal name
2021-07-30 08:23:11 +02:00
Matthias
aa34889c04 Don't run migrations twice 2021-07-30 07:14:35 +02:00
Matthias
71838dc51a
Merge pull request #5285 from freqtrade/backtest_startup_afte_populates
Remove startup-candles after populating buy/sell signals
2021-07-30 07:01:26 +02:00
Matthias
dad98d43be
Merge pull request #5287 from GeorgeMurAlkh/develop
Dataprovider caching and trimming of historical informative.
2021-07-29 20:43:40 +02:00
Matthias
03064731ac Version bump 2021.7 2021-07-29 19:49:19 +02:00
Matthias
d0528a6213 Merge branch 'stable' into new_release 2021-07-29 19:49:04 +02:00
Matthias
8768df647a
Merge pull request #5312 from raph92/patch-3
Fix code to get Bittrex US-restricted markets
2021-07-29 07:13:42 +02:00
Matthias
cf4d1875dd Use prohibitedIn instead of isRestricted 2021-07-29 06:56:37 +02:00
Sam Germain
25c527ee67 combined exchange.buy and exchange.sell, Adding dummy mock to create_order in tests in test_freqtradebot 2021-07-28 14:55:06 -06:00
Sam Germain
3fb7f983f8 Added is_short and leverage to __repr__ 2021-07-28 12:25:56 -06:00
Sam Germain
195badeb80 Changed liquidation_price to isolated_liq 2021-07-28 12:25:56 -06:00
Sam Germain
6ad9b535a9 persistence all to one test file, use more regular values like 2.0 for persistence tests 2021-07-28 12:25:56 -06:00
Sam Germain
a900570f1a Added enter_side and exit_side computed variables to persistence 2021-07-28 12:25:56 -06:00
Matthias
317f4ebce0 Boolean sqlite fix for orders table 2021-07-28 12:25:56 -06:00
Matthias
071f6309cc Try fix migration tests 2021-07-28 12:25:56 -06:00
Sam Germain
af8875574c updated mkdocs and leverage docs
Added tests for set_liquidation_price and set_stop_loss
updated params in interestmode enum
2021-07-28 12:25:56 -06:00
Sam Germain
256160740e Updated interest and ratio calculations to correct functions 2021-07-28 12:25:56 -06:00
Sam Germain
8e52a3a29c updated ratio_calc_profit function 2021-07-28 12:25:55 -06:00
Sam Germain
006a60e5a4 Added docstrings to methods 2021-07-28 12:25:55 -06:00
Sam Germain
b0476ebd3e All persistence margin tests pass
Flake8 compliant, passed mypy, ran isort .
2021-07-28 12:25:55 -06:00
Sam Germain
52def4e826 Changed InterestMode enum implementation 2021-07-28 12:25:55 -06:00
Sam Germain
60572c9e0d Took liquidation price out of order completely 2021-07-28 12:25:55 -06:00
Sam Germain
737a62be52 set initial_stop_loss in stoploss helper 2021-07-28 12:25:55 -06:00
Sam Germain
f566d83839 Tried to add liquidation price to order object, caused a test to fail 2021-07-28 12:25:55 -06:00
Sam Germain
31fa6f9c25 updated timezone.utc time 2021-07-28 12:25:55 -06:00
Sam Germain
811cea288d Added checks for making sure stop_loss doesn't go below liquidation_price 2021-07-28 12:25:55 -06:00
Sam Germain
286427c04a Moved interest calculation to an enum 2021-07-28 12:25:55 -06:00
Sam Germain
be3a9390fe Switched migrations.py check for stake_currency back to open_rate, because stake_currency is no longer a variable 2021-07-28 12:25:55 -06:00
Sam Germain
5fc587c225 Removed exchange file modifications 2021-07-28 12:25:55 -06:00
Sam Germain
0ffc85fed9 Set default leverage to 1.0 2021-07-28 12:25:55 -06:00
Sam Germain
78708b27f2 Updated tests to new persistence 2021-07-28 12:25:55 -06:00
Matthias
e0d42d2eb7 Fix migrations, revert some parts related to amount properties 2021-07-28 12:25:55 -06:00
Sam Germain
e4d4d1d1f1 Wrote all tests for shorting 2021-07-28 12:25:55 -06:00
Sam Germain
f194673001 Updated ratio calculation, updated short tests 2021-07-28 12:25:55 -06:00
Sam Germain
5ac03762f0 Kraken interest test comes really close to passing
Added more trades to conftest_trades
2021-07-28 12:25:55 -06:00
Sam Germain
df360fb281 Made borrowed a computed property 2021-07-28 12:25:55 -06:00
Sam Germain
68d3699c19 Turned amount into a computed property 2021-07-28 12:25:55 -06:00
Sam Germain
efcc2adacf About 15 margin tests pass 2021-07-28 12:25:55 -06:00
Sam Germain
f5d7deedf4 added exception checks to LocalTrade.leverage and LocalTrade.borrowed 2021-07-28 12:25:55 -06:00
Sam Germain
34073135b7 Added types to setters 2021-07-28 12:25:55 -06:00
Sam Germain
d07fe1586c Set leverage and borowed to computed properties 2021-07-28 12:25:55 -06:00
Sam Germain
c24ec89dc4 Started some pytests for short and leverage
1 short test passes
2021-07-28 12:25:55 -06:00
Sam Germain
b80f8ca0af Created interest function 2021-07-28 12:25:55 -06:00
Sam Germain
000932eed0 Adding templates for leverage/short tests
All previous pytests pass
2021-07-28 12:25:55 -06:00