Commit Graph

5978 Commits

Author SHA1 Message Date
Matthias 6eef6d41bc
Merge pull request #4465 from freqtrade/dependabot/pip/develop/arrow-1.0.2
Bump arrow from 0.17.0 to 1.0.2
2021-03-01 09:30:11 +01:00
Matthias 2083cf6ddf Fix mypy errors introduced by Arrow update 2021-03-01 08:57:57 +01:00
Matthias 3d65ba2dcb Add rpc method to delete locks 2021-03-01 07:51:33 +01:00
Matthias bba9b9e819 Don't use __root__ directly for api response 2021-03-01 07:08:44 +01:00
Matthias 4b689f5b88
Merge pull request #4420 from freqtrade/dependabot/pip/develop/mypy-0.812
Bump mypy from 0.790 to 0.812
2021-02-28 15:30:44 +01:00
Matthias aba034ff40 Fix mypy problem after mypy 0.800 upgrade 2021-02-28 11:04:30 +01:00
Matthias 54ccbd9370
Merge pull request #4391 from squat0001/develop
Add dust level to balance command in telegram
2021-02-28 10:36:44 +01:00
Matthias a13dc3cdde Use sensible defaults for balance_dust_level 2021-02-28 09:57:52 +01:00
Matthias 9cb37409fd Explicitly convert starting-balance to float 2021-02-28 09:56:29 +01:00
Florian Reitmeir 0895407811 add balance_dust_level parameter to make telegram less chatty 2021-02-28 08:51:32 +01:00
Matthias 05f057fe72 Stringify favicon path
potentially closes #4459
2021-02-28 08:48:28 +01:00
Matthias b2e9295d7f Small stylistic fixes 2021-02-27 19:57:42 +01:00
Matthias 324b9dbdff Simplify wallet code 2021-02-27 10:33:25 +01:00
Matthias f5bb5f56f1 Update documentation with backtesting compounding possibilities 2021-02-27 09:33:00 +01:00
Matthias 98f3142b30 Improve handling of backtesting params 2021-02-27 09:33:00 +01:00
Matthias 86f9409fd2 fix --stake-amount parameter 2021-02-27 09:33:00 +01:00
Matthias fc256749af Add test for backtesting _enter_trade 2021-02-27 09:33:00 +01:00
Matthias 60db6ccf45 Add test for subclassing 2021-02-27 09:33:00 +01:00
Matthias 53a57f2c81 Change some types
Fix types of new model object
2021-02-27 09:33:00 +01:00
Matthias 03eb23a4ce 2 levels of Trade models, one with and one without sqlalchemy
Fixes a performance issue when backtesting with sqlalchemy, as that
uses descriptors for all properties.
2021-02-27 09:33:00 +01:00
Matthias 394a6bbf2a Fix some type errors 2021-02-27 09:33:00 +01:00
Matthias 52acacbed5 Check min-trade-stake in backtesting 2021-02-27 09:33:00 +01:00
Matthias f04f07299c Improve backtesting metrics 2021-02-27 09:33:00 +01:00
Matthias 7913166453 Improve performance by updating wallets only when necessary 2021-02-27 09:33:00 +01:00
Matthias 37d7d2afd5 Wallets should not recalculate close_profit for closed trades 2021-02-27 09:33:00 +01:00
Matthias f367375e5b ABS drawdown should show wallet high and low values 2021-02-27 09:33:00 +01:00
Matthias aed23d55c2 Add starting balance to profit cumsum calculation 2021-02-27 09:33:00 +01:00
Matthias 0d2f877e77 Use absolute drawdown calc 2021-02-27 09:32:59 +01:00
Matthias 74fc4bdab5 Shorten debug log 2021-02-27 09:32:59 +01:00
Matthias 72f21fc5ec Add trade-volume metric 2021-02-27 09:32:59 +01:00
Matthias 35e6a9ab3a Backtest-reports should calculate total gains based on starting capital 2021-02-27 09:32:59 +01:00
Matthias 8d61a26382 Allow dynamic stake for backtesting and hyperopt 2021-02-27 09:32:59 +01:00
Matthias e4abe902fc Enable compounding for backtesting 2021-02-27 09:32:59 +01:00
Matthias 959ff99046 Add Dry-run wallet CLI option 2021-02-27 09:32:59 +01:00
Matthias 0754a7a78f total_open_trades_stake should support no-db mode 2021-02-27 09:32:59 +01:00
Matthias 0faa6f84dc Improve Wallet logging disabling for backtesting 2021-02-27 09:32:59 +01:00
Matthias 20455de2a9 Small enhancements to docs 2021-02-27 09:32:59 +01:00
Matthias 081b9be45c use get_all_locks to get locks for backtest result 2021-02-27 09:32:59 +01:00
Matthias e32b2097f0 Use timestamp in UTC timezone for ROI comparisons 2021-02-27 09:32:59 +01:00
Matthias 712d503e6c Use sell-reason value in backtesting, not the enum object 2021-02-27 09:32:59 +01:00
Matthias b5177eadab Extract close method for exchange 2021-02-27 09:32:59 +01:00
Matthias 4ce4eadc23 remove only ccxt objects when hyperopting 2021-02-27 09:32:59 +01:00
Matthias 9361aa1c95 Add wallets to backtesting 2021-02-27 09:32:59 +01:00
Matthias f0a154692d Wallets should use trade_proxy 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 0bb80d1442
Merge pull request #4446 from Xanders/patch-1
Webhook JSON format
2021-02-26 20:03:07 +01:00
Matthias 7d87c44c35
Merge pull request #4436 from Th0masL/forcesell_type
Allow changing the order_type for forcesell
2021-02-26 19:42:00 +01:00
Xanders 7281e794b4
Fix too long line at webhook.py 2021-02-26 21:31:33 +03:00
Xanders fc69240e6d
Add JSON-encoded webhooks 2021-02-26 17:46:23 +03:00
Matthias 1b3b389109 Remove binanceje, add ftx to config selector
closes #4441
2021-02-26 07:58:15 +01:00
Th0masL 006f31129e Reduced length of the line 2021-02-25 05:23:24 +02:00
Th0masL 117f0064ed Allow changing the order_type for forcesell 2021-02-25 05:02:08 +02:00
Matthias c71ecd3680 Fix wrong pair-content in strategy-analysis notebook and documentation
closes #4399
2021-02-22 20:04:36 +01:00
Matthias 228e51b60b Fix #4405 2021-02-22 13:34:52 +01:00
Matthias 3629892fc3 Stoploss-guard should use the trade_limit or more
fix #4404
2021-02-20 19:38:44 +01:00
Matthias 245e39e523 dry-run should be a bool, not a string 2021-02-20 19:17:26 +01:00
Matthias 2b0d2070d0 Avoid crash with /delete
When a trade is deleted between querying the database and actually
handling the trade.

closes #4326
2021-02-18 12:49:14 +01:00
Matthias b5a9ce2894 Download data in the right format as well ...
closes #4393
2021-02-18 09:26:35 +01:00
Matthias 11b20d6932 Add config to hyperopt_loss_function documentation 2021-02-17 07:04:29 +01:00
Matthias eff0d46ea1
Merge pull request #4375 from flomerz/pass_processed_data
pass data and config to loss function
2021-02-16 20:06:50 +01:00
Matthias 009a447d8a Adjust documentation for new parameter in loss functions 2021-02-16 19:51:09 +01:00
Florian Merz 3e06cd8b3a pass data and config to loss function 2021-02-16 10:11:33 +01:00
Matthias 1a3e7191ed
Merge pull request #4116 from squat0001/develop-squat
Develop squat
2021-02-15 07:15:11 +01:00
Florian Reitmeir 5c263c7ffd add backtesting results abs profit min/abs profit max, to get a better view if a strategy has a enough money to succeed 2021-02-14 19:41:12 +01:00
Matthias ee74bc1f52 timeframe is mandatory, no need to use .get() 2021-02-14 11:01:12 +01:00
Matthias da89838b5c Set bittrex limits as returned by the exchange
closes #4181
2021-02-14 10:32:55 +01:00
Matthias 5622bb3247 Make candle_limit optionally timeframe dependent 2021-02-14 10:29:45 +01:00
Matthias 7ecf8f8b80 Cleanup candle_limit usage 2021-02-14 10:08:05 +01:00
Matthias 6f77ec063e Fix cookieError on python<3.8
Only occurs in combination with api-server enabled,
due to some hot-fixing starlette does.
Since we load starlette at a later point, we need to replicate
starlette's behaviour for now, so sameSite cookies don't create a
problem.

closes #4356
2021-02-14 07:22:08 +01:00
Matthias 73d91275c4 Reset sell_order_status if a new sell-order is placed
closes #4365
2021-02-14 07:11:07 +01:00
Matthias d4c8be915c Use fstring where possible 2021-02-13 16:11:49 +01:00
Matthias e7acee7904 Improve coin value output by rounding coin specific 2021-02-13 16:05:56 +01:00
Matthias 072abde9b7 Introduce round_coin_value to simplify coin rounding 2021-02-13 16:05:35 +01:00
Matthias dd23f6bcbc Fix type for getting pairs 2021-02-11 20:29:31 +01:00
Matthias 843fb204e9 Fix problem with inf values returned from dataframe for api methods 2021-02-11 20:21:31 +01:00
Matthias aa79574c0c Position-size should NEVER be over available_capital
Part of #4353
2021-02-11 17:09:31 +01:00
Matthias 7ee149da5d Improve plotting errorhandling
closes #4327
2021-02-08 20:08:32 +01:00
Matthias c5ab3a80a5 Check if order is a dict before parsing
closes #4331
2021-02-08 19:35:22 +01:00
Matthias f6cdc6d9a2
Merge pull request #4325 from freqtrade/refresh_order_skip
Refresh order skip
2021-02-07 08:23:22 +01:00
Edvinas Selskas 694f55c0a5
Use suggested link 2021-02-06 14:43:50 +00:00
Matthias d5cf837c0f Parse regular cancel_order call to update orders table 2021-02-06 09:23:10 +01:00
Edvinas Selskas bc8fda8d63
Update sample_strategy.py
Fix test
2021-02-06 03:13:53 +00:00
Edvinas Selskas 0a43988f3f
Fix sample strategy documentation link
Noticed that the current link is dead. I think this would be the most appropriate link in this case.
2021-02-06 03:02:37 +00:00
Matthias aec22c5c3d introduce skip_open_order_update parameter
skips startup-open-order-update
closes #4128
2021-02-05 20:17:53 +01:00
Matthias 2c71b3b118
Merge pull request #4309 from freqtrade/extract_stake_amount
Move get_trade_stake_amount to wallets
2021-02-05 19:47:30 +01:00
Matthias 1310a7b547 Fix bug with wrong conversion for BTCST/BTC
This can happen if a pair starts with the stake-currency

closes #4307
2021-02-04 19:58:44 +01:00
raoulus 99b2214d1f setting resize_keyboard=True for slightly smaller Telegram buttons 2021-02-04 15:27:18 +01:00
Matthias e8e5acc2e2 Fix import in strategy template 2021-02-03 20:15:08 +01:00
Matthias 024849d844
Merge pull request #4285 from freqtrade/ui_deploy
Deploy FreqUI into webserver
2021-02-03 20:09:31 +01:00
Matthias b8cb39462c Move get_trade_stake_amount to wallets
this way it can be easier used by other functions
2021-02-03 20:00:33 +01:00
Matthias cfd0bb8964 Extract min stake amount from bot to exchange class 2021-02-02 19:47:21 +01:00
Matthias fa8156b321
Merge pull request #4282 from pan-long/patch-1
Fix a bug when compare sell_profit_offset
2021-02-02 08:22:38 +01:00
Matthias 3d9b4034e6 Use already calculated current_profit for sell_profit_offset comparison 2021-02-02 08:06:19 +01:00
Matthias 52acf9aaf6 Fix "disappearing pairs" bug
closes #4277
2021-02-01 19:40:31 +01:00
Matthias 2c80388b40 Fix valueerror in case of empty array files 2021-02-01 06:28:49 +01:00
Matthias 06e2bc94c3 Deploy to subdirectory 2021-01-31 16:01:00 +01:00
Matthias e4a085027b Add test for UI methods 2021-01-31 15:27:00 +01:00
Matthias 28be71806f Install html file as well 2021-01-31 15:13:51 +01:00
Matthias a87a885ccd Don't use Path object to return fileresponses 2021-01-31 14:54:58 +01:00
Matthias 7b3d99819f Fix bug with not cleaning UI folder 2021-01-31 14:50:54 +01:00
Matthias 944d674eeb Store freqUI version and read it again 2021-01-31 14:50:54 +01:00
Matthias 2af1d2d639 Extract last FreqUI version from api response 2021-01-31 14:50:54 +01:00
Matthias e928d2991d Add fallback file 2021-01-31 14:50:54 +01:00
Matthias f05f2c45e8 Allow deleting of UI only 2021-01-31 14:50:54 +01:00
Matthias a1a35115ad Extract get_ui_download_url 2021-01-31 14:50:54 +01:00
Matthias 87ed2d7502 Write some tests for UI Downloading 2021-01-31 14:50:54 +01:00
Matthias a47616eed4 Add UI installation subcommand 2021-01-31 14:50:54 +01:00
Matthias 27970b424d Add webUI serving to api-server 2021-01-31 14:50:54 +01:00
Matthias 5724371a4f Fix types for numpy 1.20.0 upgrade 2021-01-31 11:21:23 +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 16dad8b6d4 Allow custom_stoploss to cooperate with stoploss on exchange 2021-01-30 20:11:18 +01:00
Matthias ea0ffbae73 use profit_ratio in calculate_cum_profit 2021-01-29 19:06:57 +01:00
Matthias 5cdd9dd445 Cache markets in the exchange object 2021-01-28 19:47:32 +01:00
Matthias 65459086a3
Merge pull request #4268 from freqtrade/backtest_trade_object
Backtest trade object
2021-01-27 19:10:21 +01:00
Matthias a9b4d6de33 Check for existance of ask key in ticker
closes #4267
2021-01-26 17:18:55 +01:00
Tho Pham (Alex) 8f529f48da
Update freqtrade/freqtradebot.py use is_open.is_(True)
Co-authored-by: Matthias <xmatthias@outlook.com>
2021-01-26 07:38:25 +07:00
Matthias c659150d9f Also print trade_duration in seconds to json 2021-01-25 19:42:34 +01:00
Tho Pham (Alex) c22cccb55b
Fix operator does not exist: boolean = integer 2021-01-25 12:24:47 +07:00
Matthias 62e43539c9 Limit max_open_trades to maximum available pairs
closes #4008
2021-01-24 19:59:54 +01:00
Matthias 789a980a30 Fix tests for new export format 2021-01-24 19:42:32 +01:00
Matthias deb8432d33 Streamline trade to dataframe conversion 2021-01-24 08:58:41 +01:00
Matthias 8ee264bc59 Don't use profit_percent for backtesting results anymore 2021-01-24 08:58:41 +01:00
Matthias 48977493bb Backtesting does not need to convert to BacktestResult object 2021-01-24 08:58:41 +01:00
Matthias 3b51545d23 Add trade_duration to to_json 2021-01-24 08:58:41 +01:00
Matthias 16f9675356 Fix whitelist expansion problem 2021-01-23 20:40:27 +01:00
Matthias 31e0b09643 Rename config.json.example
it's really the config dedicated to bittrex,
so the name should reflect this in beeing config_bittrex.json.example
2021-01-22 19:18:34 +01:00
Matthias 5c0f98b518 Blacklist Poloniex - as ccxt does not provide a fetch_order endpoint 2021-01-20 19:31:17 +01:00
Matthias 7c80eeea95 Add use_custom_stoploss to optimize_report 2021-01-19 22:51:12 +01:00
Matthias 20591b539a
Merge pull request #4228 from baartch/develop
Extending the Telegram Bot command /status with the possibility to query specific trade_ids
2021-01-19 20:08:49 +01:00
Andreas Brunner a68a546dd9 _rpc_trade_status argument datatype optimizations 2021-01-18 15:26:53 +01:00
Andreas Brunner eb95d970e9 flake8 beautify 2021-01-17 21:26:55 +01:00
Andreas Brunner d21eff0d52 fix, if an non existing trade_id is provided 2021-01-17 21:21:31 +01:00
Andreas Brunner 3ea33d1737 updating doc and help with new /status argument 2021-01-17 21:15:17 +01:00
Andreas Brunner 6d40814dbf extend status bot command to query specific trades 2021-01-17 20:39:35 +01:00
Matthias a8bae3a381 Don't update trade fees for dry-run orders 2021-01-17 20:31:27 +01:00
Matthias 53c208197d Add bot_name setting
allows naming the bot to simply differentiate when running different
bots.
2021-01-16 16:19:49 +01:00
Matthias 3fefb6f1c8
Merge pull request #4215 from freqtrade/refactor/backtest
Small backtest refactor, introduce calling `bot_loop_start` in backtesting
2021-01-16 09:32:19 +01:00
Matthias d74376726a api-server should fully support max_open_trades=-1 2021-01-15 20:47:12 +01:00
Matthias baef8b4f79
Merge pull request #4197 from nas-/develop
Added support for regex in whitelist
2021-01-15 07:34:49 +01:00
Matthias bf5868c96d Add testcase for nonexisting pairs on whitelist 2021-01-15 07:10:17 +01:00
nas- f72d53351c Added ability to keep invalid pairs while expanding expand_pairlist 2021-01-15 06:37:57 +01:00
Matthias 0b65fe6afe Capture backtest start / end time 2021-01-14 19:09:25 +01:00
Matthias 9147106259 call bot_loop_start() in backtesting to allow setup-code to run 2021-01-14 19:09:25 +01:00
Matthias baa1142afa Use preprocessed to get min/max date in hyperopt 2021-01-14 19:09:21 +01:00
Matthias 9d4cdcad10 Extract backtesting of one strategy 2021-01-14 19:04:42 +01:00
Matthias f3de0dd3eb Fix support for protections in hyperopt
closes #4208
2021-01-14 06:53:40 +01:00
Matthias 47a06c6213 Fix enable/reenable of swagger UI endpoint 2021-01-12 19:28:22 +01:00
Matthias ac43591c44 Fix failing api when max_open_trades is unlimited 2021-01-12 19:24:37 +01: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
nas- 4d7ffa8c81 Added suppoort for regex in whitelist 2021-01-12 01:13:58 +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 f159c46438 Include stoploss_on_exchange in stoploss_guard
fix #4183
2021-01-11 07:55:01 +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 8631a54514 Fix test due to pyjwt2.0 2021-01-08 19:34:01 +01:00
Matthias bf182dc01e Fix wrong key usage in trade_history_timebased 2021-01-07 20:03:34 +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
Matthias e69dac2704 Fix bug in RPC history mode when no data is found 2021-01-06 15:38:46 +01:00
Matthias 91f8667881 DOn't update open orders in dry-run mode 2021-01-06 09:57:36 +01:00
hoeckxer c0f170fdb9 Merge branch 'develop' into ignore_expired_candle 2021-01-05 21:00:08 +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 5ca2cd3a1e Change defaults to log only errors 2021-01-03 07:18:41 +01:00
Matthias 634d6f3898 Change logging to stderr 2021-01-03 07:15:45 +01:00
Matthias 26c3463403 Stake-amount supports unlimited, too 2021-01-03 06:49:10 +01:00
Matthias cff50f9f66 Add response-model for show_config 2021-01-03 06:49:10 +01:00
Matthias ca0bb7bbb8 Don't require RPC for strategy 2021-01-03 06:49:07 +01:00
Matthias e6176d43f3 Optional RPC dependency 2021-01-03 06:49:07 +01:00
Matthias 3dc37dd79d Add types for deps 2021-01-03 06:49:07 +01:00
Matthias 336dd1a29c Rename api_models to api_schemas 2021-01-03 06:49:07 +01:00
Matthias 84ced92002 Fix mock-tests missing some fields 2021-01-03 06:49:07 +01:00
Matthias 29f4dd1dcd Enhance some response models 2021-01-03 06:49:07 +01:00
Matthias 718f2b24d2 Don't use relative imports 2021-01-03 06:49:07 +01:00
Matthias b2ab553a31 Rename api_server2 module to apiserver 2021-01-03 06:49:04 +01:00
Matthias eb20f6e7d0 Align auth token to flask version to prevent user-logout 2021-01-03 06:49:04 +01:00
Matthias 346542e5cd Remove flask dependency 2021-01-03 06:49:04 +01:00
Matthias 68d148e72d Allow configuration of openAPI interface 2021-01-03 06:49:04 +01:00
Matthias 1717121f10 Properly use JWT secret key 2021-01-03 06:49:04 +01:00
Matthias 790f833653 Some more tests around api_auth 2021-01-03 06:49:04 +01:00
Matthias 776ce57f55 Remove api_server 2021-01-03 06:49:04 +01:00
Matthias 54a50b1fb4 Fix some tests 2021-01-03 06:49:04 +01:00
Matthias 9f873305eb Improve response models 2021-01-03 06:49:04 +01:00
Matthias 9350f505bc Implement missing methods 2021-01-03 06:49:04 +01:00
Matthias e23898d17b Improve some tests 2021-01-03 06:49:04 +01:00
Matthias 9ee1d88355 Implement more endpoints 2021-01-03 06:49:04 +01:00
Matthias 73a29e6d74 Improve tests, implement more fastapi methods 2021-01-03 06:49:04 +01:00
Matthias a18d66e108 Add more endpoints to fastapi 2021-01-03 06:49:04 +01:00
Matthias 4b86700a0f Implement more endpoints 2021-01-03 06:48:56 +01:00
Matthias 5e4c4cae06 Fix auth providers 2021-01-03 06:48:53 +01:00
Matthias 86d0700884 Move models to apimodels 2021-01-03 06:46:25 +01:00