Commit Graph

1792 Commits

Author SHA1 Message Date
Matthias ced5cc7ce2 Don't recalculate min/max date - they won't change between epochs 2021-05-02 09:46:27 +02:00
Matthias 97478abb9d Move format explanation string to HyperoptTools 2021-05-02 09:46:27 +02:00
Matthias 4c00d4496d Update tests to reflect new backtest returns 2021-05-02 09:46:27 +02:00
Matthias f2e182002d Simplify calling backtesting by returning the proper result 2021-05-02 09:46:27 +02:00
Matthias e2e1d34828 Extract stake_currency param from hyperopt-explanationstring 2021-05-02 09:46:27 +02:00
Matthias 852f125347 Fix tests 2021-05-02 09:46:27 +02:00
Matthias 545cba7fd8 Refactor optimize_report
we should not calculate non-daily statistics in the daily stats method
2021-05-02 09:46:27 +02:00
Matthias b125c975c7 Rename strategy_comparison method 2021-05-02 09:46:27 +02:00
Matthias c45204a2c4 Fix failing mocks 2021-05-02 08:59:21 +02:00
Matthias 30da307d13 Remove encode/decode for hyperopt 2021-05-01 17:01:52 +02:00
Matthias 555262b6e1 Only calculate additional indicators if the space is selected 2021-05-01 16:40:29 +02:00
Matthias e381df9098 extract has_space to Hyperopt-Tools 2021-05-01 16:36:35 +02:00
Matthias a3d2e68312
Merge pull request #4750 from rokups/rk/custom_sell
Add IStrategy.custom_sell method which allows per-trade sell signal evaluation
2021-04-29 06:50:56 +02:00
Matthias aab020c9a2
Merge pull request #4818 from freqtrade/cleanup_models
Move static Trade functions to right class
2021-04-28 21:18:55 +02:00
Matthias 63c28b6519 Remove obsolete get_balance method 2021-04-28 16:00:12 +02:00
Matthias 6eb947ae09 Move static Trade functions to right class 2021-04-28 06:37:40 +02:00
Matthias cc916ab2e9 Add test for custom_sell 2021-04-26 20:26:14 +02:00
Matthias 6f0a585bd0 Fix random test failure due to ttl 0 issue 2021-04-26 11:53:44 +02:00
Matthias bb7ef2f804 Cache pairlist in pairlist, not globally
closes #4797 closes #4689
2021-04-25 20:10:47 +02:00
Matthias fd3afdc230 plot-profit should use absolute values 2021-04-25 10:10:09 +02: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
Matthias 4636b3970b Fix failed test due to exchange downtime 2021-04-25 08:25:12 +02:00
Matthias f12e002686
Merge pull request #4775 from freqtrade/fix_wallet_unlimited
Fix wallet unlimited
2021-04-24 15:54:06 +02:00
Matthias 5c7f278c8a add tests for IntParameter.range 2021-04-24 07:18:35 +02:00
Matthias 4005708f85 Handle edge with volumepairlist and empty pair_whitelist
closes #4779
2021-04-23 06:50:39 +02:00
Matthias 4693cba10d
Merge pull request #4769 from freqtrade/trades_pagination
Trades pagination
2021-04-22 19:13:19 +02:00
Matthias 7e2e196643 improve sell_message by using sell rate 2021-04-22 17:13:22 +02:00
Matthias 92a2e254af Fix backtesting test 2021-04-21 20:17:30 +02:00
Matthias d8c8a8d8c2 Remvoe pointless arguments from get_trade_stake_amount 2021-04-21 20:01:10 +02:00
Matthias 9f6f3e0862 Address ZeroDivisionExceptiond
closes #4764 closes #4617
2021-04-20 21:41:49 +02:00
Matthias 05ce3acc46 Improve tests for api_trades 2021-04-20 21:29:16 +02:00
Matthias bd92ce938c trade_history should paginate through results
this avoids huge results
2021-04-20 21:04:44 +02:00
Matthias f821ef5aec Final finetunings of rpc_fill messages 2021-04-20 19:36:30 +02:00
Matthias efbe0843be Add documentation for fill messages 2021-04-20 19:23:29 +02:00
Matthias 0341ac5a55 rename RPC message types 2021-04-20 19:23:28 +02:00
Matthias 8800a09770 Don't send double-notifications for stoploss fills 2021-04-20 19:22:14 +02:00
Matthias fecd5c582b Add buy and sell fill notifications
closes #3542
2021-04-20 19:22:14 +02:00
Matthias 71b017e7c3 Simplify webhook test 2021-04-20 19:22:14 +02:00
Matthias 1936dd1ee8 Add test-case verifying "changing" wallet
with unlimited amount
2021-04-20 15:45:07 +02:00
Matthias 2254f65fa7 use binance intests instead of bittrex 2021-04-20 12:59:15 +02:00
Matthias bd7e535e42 Use "human" amounts in stake_amount tests 2021-04-20 11:58:47 +02:00
Matthias c9e901cf32 Move wallet tasks to test_wallets 2021-04-20 11:31:37 +02:00
Matthias 44bfb53668 Don't use current rate for closed trades 2021-04-17 19:29:34 +02:00
Matthias c8d3d449a3 Add quick test for pair_whitelist overwrite 2021-04-17 10:51:02 +02:00
Matthias c52edcff4d
Merge pull request #4677 from mads03dk/get_trade
Add API endpoint for getting a specific trade
2021-04-16 19:57:58 +02:00
Matthias 9f2b6ee9a5
Merge pull request #4740 from freqtrade/decimal_stoploss_Hyperopt
stoploss and roi skdecimal spaces hyperopt
2021-04-16 19:46:07 +02:00
Matthias aeb81f90ff Implement errorhandling for /trade endpoint 2021-04-16 19:35:56 +02:00
Gonzalo Matheu e3c5a4b3fc telegram: Formatting imports 2021-04-15 21:51:16 -03:00
Gonzalo Matheu 5fae4ea2fd telegram: Formatting code 2021-04-15 21:51:16 -03:00
Gonzalo Matheu 50bdae8eb2 telegram: Adding forcebuy inline keyboard 2021-04-15 21:51:16 -03:00
grillzoo 5e51ba6258 fix flake8 2021-04-15 21:38:00 +01:00
Théo Martin ce23d9dfee
Fix test min stake amount 2021-04-15 01:38:08 +01:00
Théo Martin 885096f2b3
Update tests for get_min_pair_stake_amount 2021-04-15 01:22:52 +01:00
Matthias e820814809 Default-stoploss-hyperopt should use decimal space, nto real 2021-04-14 20:32:34 +02:00
Matthias ba38e398e4 Add type hint 2021-04-13 22:17:42 +02:00
Matthias c316531c49 make tests 3.7 compatible 2021-04-13 22:07:01 +02:00
Matthias c2f35ce416 /balance should use cached tickers when possible 2021-04-13 20:21:03 +02:00
Matthias e4bb6b1582 Add kucoin exchange subclass
Kucoin has some specific orderbook restrictions

closes #4723
2021-04-13 12:28:07 +02:00
Matthias 59cfbbee17
Merge pull request #4724 from csteeg/develop
Fixes FTX stoploss on echange throwing an error
2021-04-13 08:41:52 +02:00
Matthias 99e7ee1273 Fix ftx stoploss creation test 2021-04-13 08:26:41 +02:00
Matthias f1cf56cc42 Update current_whitelist test 2021-04-13 06:57:21 +02:00
Matthias 9a58a85347 Don't export "hum" date versions for trade objects.
They are not used and have a rather high performance penalty due to
using arrow.get
2021-04-13 06:17:11 +02:00
Matthias cb60db01b1
Merge pull request #4703 from freqtrade/decimal_space
Add SKDecimal Space
2021-04-12 19:18:10 +02:00
Matthias aaf9872ef3 Simplify webserver test 2021-04-10 19:53:00 +02:00
Matthias be0dc737dc
Merge pull request #4706 from freqtrade/simplify_fiat_convert
Simplify fiat convert and fix USD coingecko problem
2021-04-10 14:57:34 +02:00
Matthias 4820b4b314 Fix test failure 2021-04-10 14:52:34 +02:00
Matthias 579e68f31e Reduce log verbosity when buying 2021-04-10 14:40:44 +02:00
Matthias 14e8574235 fetch_balance is never called in dry-run 2021-04-10 14:17:43 +02:00
Matthias 37c2e037f1 Rename dry_run_order to create_dry_run_order 2021-04-10 13:50:56 +02:00
Matthias ebbe47f38d Simplify fiat convert and fix USD coingecko problem 2021-04-10 13:36:16 +02:00
Matthias 4996bd443e
Merge pull request #4697 from freqtrade/docker_user
Docker as user
2021-04-10 08:19:25 +02:00
Matthias 34e47db18d Test SKDecimal space 2021-04-09 22:15:24 +02:00
Matthias fedff1a75a Fix failing test 2021-04-09 22:10:20 +02:00
Matthias 898c24949b Add chown method to support docker 2021-04-08 20:17:07 +02:00
Matthias 8cd3c05c39
Merge pull request #4686 from gerrito333/develop
Add Pairlist Handler for Volatility
2021-04-08 20:00:41 +02:00
Matthias 4d30c32ad2 Improve resiliancy of a test 2021-04-07 17:10:20 +02:00
Matthias c36051be56
Merge pull request #4685 from freqtrade/ft_has
Use ccxt's has to check which exchanges can work with freqtrade
2021-04-07 10:47:56 +02:00
gbojen 17508efbbc resolves freqtrade/freqtrade#4650 2021-04-07 08:59:44 +02:00
gbojen 9772a93634 resolves freqtrade/freqtrade#4650 2021-04-06 23:11:40 +02:00
gbojen 187cf6dcd5 VolatilityFilter resolves freqtrade/freqtrade#4650 2021-04-06 22:41:15 +02:00
Matthias a3b4667f7c Update exchange validation to use "validate_exchange". 2021-04-06 20:16:29 +02:00
Matthias c40b811f19 flush after creating mock trades 2021-04-06 19:35:28 +02:00
Matthias 56ef3af424 Allow comments in pairs files 2021-04-06 13:29:22 +02:00
Matthias ddabfe0206 adjust tests to match new exchangelist output 2021-04-06 07:58:45 +02:00
Matthias 431f0a3db4
Merge pull request #4671 from freqtrade/fix/sqlalchemy
sqlalchemy database locked bug
2021-04-05 14:09:35 +02:00
Matthias dc406fe19f Fail in case of name and explicit space name collisions 2021-04-05 10:53:00 +02:00
Matthias 7132aefd60 Rename Trade.session to Trade._session 2021-04-05 08:46:12 +02:00
Matthias ea0b47a7f9 Replace test occurances of Trade.session with Trade.query.session 2021-04-05 07:38:07 +02:00
Matthias 41cb2a6451 Merge branch 'develop' into pr/rokups/4596 2021-04-03 17:00:37 +02:00
Matthias 6555454bd2 Remove more ticker_interval occurances 2021-04-03 16:54:47 +02:00
Rokas Kupstys ea43d5ba85 Implement DecimalParameter and rename FloatParameter to RealParameter. 2021-04-02 17:08:16 +03:00
Mads Sørensen ede26091b9 Add validation in the right places... 2021-04-02 14:35:19 +02:00
Mads Sørensen 2c0079b00b Add profit_fiat to tests, use ANY, as price changes... 2021-04-02 13:16:52 +02:00
Matthias d64295ba24 Adapt test strategy to new parameters 2021-04-01 06:55:25 +02:00
Matthias 2869d5368d Allow edge to use dynamic pairlists
closes #4298
2021-03-30 20:20:24 +02:00
Matthias 50fcb3f330 Reduce verbosity of missing data if less than 1% of data is missing 2021-03-30 07:26:39 +02:00
Matthias 89bbfd2324 Remove candle_count from dataframe before backtesting
closes #3754
2021-03-29 20:26:54 +02:00
Matthias 6954a1e029 MOre tests for ParameterHyperopt 2021-03-29 19:49:22 +02:00
Matthias f6211bc00e new-config should include API config 2021-03-28 20:23:57 +02:00
Matthias 929f329607 more tests 2021-03-28 19:49:20 +02:00
Matthias 20f7e9b4b7 Make BaseParameter get_space abstract 2021-03-28 19:31:54 +02:00
Matthias 4fd7bedcb2 Sort imports ... 2021-03-27 11:32:51 +01:00
Matthias 71e2134694 Add some simple tests for hyperoptParameters 2021-03-27 11:26:26 +01:00
Matthias 7adfa0cfd9
Merge pull request #4592 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.2
Bump sqlalchemy from 1.3.23 to 1.4.2
2021-03-22 20:00:13 +01:00
Matthias b7702a1e9f Improve tests to work with new sqlalchemy version 2021-03-22 19:39:06 +01:00
Matthias e39cff522d Remove duplicate dict keys in test 2021-03-22 17:30:16 +01:00
Matthias 43d7f9ac67 Add bid_last_balance parameter
to interpolate sell prices

closes #3270
2021-03-20 14:38:26 +01:00
Matthias f4e71c1f14 get_buy_rate tests should be sensible 2021-03-20 14:02:13 +01:00
Matthias 73876b61b4 Show potential errors when loading markets 2021-03-20 13:34:33 +01:00
Matthias 16a54b3616 Don't require non-mandatory arguments 2021-03-20 13:08:02 +01:00
Matthias fe7f3d9c37 Add price side validation for market orders 2021-03-20 11:48:39 +01:00
Matthias 7ffe1fd36a Fix calculation error for min-trade-stake 2021-03-20 07:21:22 +01:00
Matthias 0d5833ed91 Use OperationalException for TimeRange errors 2021-03-19 06:40:04 +01:00
Patrick Brunier 4d52732d30 Added a small snippet to give users a descent error message,
when their start date is afer the stop date.
Also updated the tests.
2021-03-18 22:38:54 +01:00
Matthias 84ca9bd2c7
Merge pull request #4543 from brookmiles/fix-math-custom-stoploss-docs
correct math used in examples and clarify some terminology regarding …
2021-03-18 19:32:30 +01:00
Matthias 76ca3c219f extract result-printing from hyperopt class 2021-03-17 20:45:15 +01:00
Matthias 6597055a24 Ensure ccxt tests run without dry-run
closes #4566
2021-03-17 19:36:11 +01:00
Brook Miles ce1ed76269 complete stoploss_from_open and associated test 2021-03-17 22:44:10 +09:00
Matthias 79d4585dad Add check to ensure close_profit_abs is filled on closed trades
Technically, this should not be possible, but #4554 shows it is.

closes #4554
2021-03-16 19:24:03 +01:00
Matthias 0b35c0571f Allow custom fee to be used during dry-run
closes #3696
2021-03-14 19:37:57 +01:00
Jackson Law 618bae23a6
fix: Use now() to match timezone of download data 2021-03-13 11:14:36 -08:00
Matthias 3b99f04a78
Merge pull request #4535 from freqtrade/fix/backtestperformance
Improve backtest performance after enabling compounding
2021-03-13 16:51:00 +01:00
Matthias 6389e86ed6 Add test for uvloop fix 2021-03-13 16:09:07 +01:00
Matthias 0320c8dc92 Improve tests for trades_proxy 2021-03-13 15:51:27 +01:00
Matthias d1acc8092c Improve backtest performance 2021-03-13 10:17:14 +01:00
Matthias 333ad02605 Fix random test failure 2021-03-10 10:39:38 +01:00
Matthias 0db5c9746f
Merge pull request #4454 from freqtrade/backtest_compound_speed
Backtest compound, wallet, ...
2021-03-10 10:07:40 +01:00
Matthias a1902f226d Make trade-close sequence clear for mock trades 2021-03-09 19:29:00 +01:00
Th0masL 37e6006169 Fix order_by in trades command 2021-03-08 23:21:56 +02:00
Th0masL ad0e60b5b6 Add trade_id to Cancel messages and reduced lines length 2021-03-06 15:07:47 +02:00
Th0masL 2472f52874 Add trade_id to tests 2021-03-06 01:07:37 +02:00
Matthias 5196306407 Remove deprecated profit return value 2021-03-05 20:03:49 +01:00
raoulus 0968ecc1af added "Median profit" column to hyperopt -> export-csv 2021-03-04 17:27:04 +01:00
Matthias 007ac7abb5 Add telegram pair unlocking 2021-03-01 20:09:40 +01:00
Matthias 6640156ac7 Support deleting locks via API 2021-03-01 19:50:39 +01:00
Matthias 3d65ba2dcb Add rpc method to delete locks 2021-03-01 07:51:33 +01:00
Matthias a13dc3cdde Use sensible defaults for balance_dust_level 2021-02-28 09:57:52 +01:00
Matthias f65092459a Fix optimize_reports test 2021-02-27 10:14:25 +01:00
Matthias fb489c11c9 Improve test-coverage of pairlocks 2021-02-27 10:07:02 +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 52acacbed5 Check min-trade-stake in backtesting 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 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 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 0754a7a78f total_open_trades_stake should support no-db mode 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
Xanders efa50be145
Fix blank lines rule at test_rpc_webhook.py 2021-02-26 21:32:41 +03:00
Xanders 52641aaa31
Add test for webhook JSON format 2021-02-26 18:12:10 +03:00
Matthias 228e51b60b Fix #4405 2021-02-22 13:34:52 +01:00
Matthias 5e4730b73b Add test confirming #4405 2021-02-22 11:44:39 +01:00
Matthias 3629892fc3 Stoploss-guard should use the trade_limit or more
fix #4404
2021-02-20 19:38:44 +01:00
Matthias fedbb5c0c4 Remove last flask occurance from setup.py
fixes #4390
2021-02-17 20:47:11 +01:00
Matthias 1a3e7191ed
Merge pull request #4116 from squat0001/develop-squat
Develop squat
2021-02-15 07:15:11 +01:00
Matthias 1a166f639d Add test for calcuate_csum 2021-02-14 19:44:13 +01:00
Matthias ee74bc1f52 timeframe is mandatory, no need to use .get() 2021-02-14 11:01:12 +01:00
Matthias ffca09bbcb Test ohlcv_candle_limit explicitly 2021-02-14 10:38:49 +01:00
Matthias 5622bb3247 Make candle_limit optionally timeframe dependent 2021-02-14 10:29:45 +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 aa79574c0c Position-size should NEVER be over available_capital
Part of #4353
2021-02-11 17:09:31 +01:00
Matthias 3110d2dbb1 Add small test cases 2021-02-09 20:09:10 +01:00
Matthias 427d762746 Improve tests for cancel_order to be more realistic 2021-02-08 19:37:24 +01:00
Matthias c5ab3a80a5 Check if order is a dict before parsing
closes #4331
2021-02-08 19:35:22 +01:00
Matthias de727645ab FIx random test failure if certain files exist 2021-02-08 19:21:33 +01:00
Matthias d5cf837c0f Parse regular cancel_order call to update orders table 2021-02-06 09:23:10 +01:00
Matthias 0806202d47 ccxt version bump to 1.41.62 2021-02-05 20:02:55 +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 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 130a9b4db3 Add test to call verify_pairlist multiple times 2021-02-01 19:39:55 +01:00
Matthias cd5c58fd37 Properly patch exchange for plot_profit test 2021-02-01 12:58:18 +01:00
Matthias 4facf662de Fix random test-failure caused by un-clean hyperopt shutdown
pytest --random-order-seed=415781
2021-02-01 11:00:55 +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 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 f05f2c45e8 Allow deleting of UI only 2021-01-31 14:50:54 +01:00
Matthias ddc99553bd Add test case for get_ui_download_url 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 27970b424d Add webUI serving to api-server 2021-01-31 14:50:54 +01:00
Matthias 79087ba166 Fix intermitted test failure 2021-01-31 14:50:39 +01:00
Matthias 5724371a4f Fix types for numpy 1.20.0 upgrade 2021-01-31 11:21:23 +01:00
Matthias 16dad8b6d4 Allow custom_stoploss to cooperate with stoploss on exchange 2021-01-30 20:11:18 +01:00
Matthias 406682c3bb Fix random api failure in slow cases 2021-01-30 10:20:40 +01:00