Commit Graph

1797 Commits

Author SHA1 Message Date
Janne Sinivirta e282d57a91 fix broken test 2018-08-02 12:57:47 +03:00
Janne Sinivirta 3a5b435dfa
Merge pull request #1089 from freqtrade/feat/backtest_multi_strat
Allow multi strategy backtest without data reload
2018-08-02 12:35:47 +03:00
Janne Sinivirta 17d78b7807
Merge pull request #1115 from creslinux/candlesnottickers
renamed/refactored get_ticker_history to get_candle_history to stop confusion
2018-08-02 12:33:09 +03:00
creslin 1f97d0d78b fix 2018-08-02 09:15:02 +00:00
creslin a741f1144a missing __init__.py 2018-08-02 08:58:04 +00:00
creslin f619cd1d2a renamed/refactored get_ticker_history to get_candle_history
as it does not fetch any ticker data only candles
and is causing confusion when developer are talking about candles /tickers
incorreclty.

OHLCV < candles and Tickers are two seperate datafeeds from the exchange
2018-08-02 08:45:28 +00:00
Matthias 4f5b530dcb
Merge pull request #1113 from berlinguyinca/backslap_develop
Backslap develop
2018-08-02 10:30:36 +02:00
Matthias 9c08cdc81d Fix typehints 2018-08-01 21:58:32 +02:00
Matthias 915160f21f Add tests for tickers-history 2018-08-01 21:44:02 +02:00
Matthias c466a028e0 Add a first async test 2018-08-01 21:40:54 +02:00
creslin 36f91fcdf5 XBT missing as a market symbol for BTC in constants 2018-08-01 06:03:34 +00:00
Matthias 5b8ee214f9 Adapt to pair_to_strat methology 2018-08-01 07:28:12 +02:00
Matthias 038e97667f
Merge branch 'develop' into BASE64 2018-08-01 07:26:13 +02:00
Gert 04d5e857e2 added option to easily switch between backtesting and backslapping from the commandline option 2018-07-31 18:10:23 -07:00
Gert 3428b6666b Merge branch 'develop_current' into backslap_develop 2018-07-31 17:07:30 -07:00
Matthias 40ee86b357 Adapt after rebase 2018-07-31 21:08:03 +02:00
Matthias 76fbb89a03 use print for backtest results to avoid odd newline-handling 2018-07-31 21:04:03 +02:00
Matthias c648e2acfc Adjust documentation to strategy table 2018-07-31 21:04:03 +02:00
Matthias 765d1c769c Add test for stratgy summary table 2018-07-31 21:04:03 +02:00
Matthias 028589abd2 Add strategy summary table 2018-07-31 21:04:03 +02:00
Matthias 5125076f5d Fix typo 2018-07-31 21:04:03 +02:00
Matthias a8b55b8989 Add test for strategy-name injection 2018-07-31 21:04:03 +02:00
Matthias a57a2f4a75 Store backtest-result in different vars 2018-07-31 21:04:03 +02:00
Matthias bd3563df67 Add test for new functionality 2018-07-31 21:04:03 +02:00
Matthias 644f729aea Refactor strategy loading to __init__ 2018-07-31 21:04:03 +02:00
Matthias 5f2e92ec5c Refactor backtesting 2018-07-31 21:04:03 +02:00
Matthias 65aaa3dffd Extract backtest strategy setting 2018-07-31 21:04:03 +02:00
Matthias 9a42aac0f2 Add testcase for --strategylist 2018-07-31 21:04:03 +02:00
Matthias 56046b3cb3 Add strategylist option to backtesting 2018-07-31 21:04:03 +02:00
Matthias e7d0439741 Add new arguments 2018-07-31 21:03:17 +02:00
Matthias 136442245c Add todo's and dockstring 2018-07-31 21:02:04 +02:00
Matthias 12417cc303 fix tests 2018-07-31 20:54:51 +02:00
Matthias 52065178e1 use .get all the time 2018-07-31 20:53:32 +02:00
Matthias b45d465ed8 init _klines properly 2018-07-31 20:50:59 +02:00
Matthias 31870abd25 Refactor async-refresh to it's own function 2018-07-31 20:43:32 +02:00
Matthias a486b1d01c Use Dict instead of tuplelist, run in _process 2018-07-31 20:25:10 +02:00
misagh 74fa4ddca4 CCXT rate limit config default to => true
+ adding config to config_full.json.example
2018-07-31 16:54:02 +02:00
misagh be1298dbd2 Initializing CCXT with rate_limit parameter optional (default to false) 2018-07-31 14:19:16 +02:00
misagh 154e4569d7 Merge branch 'develop' into ccxt-async 2018-07-31 12:48:12 +02:00
misagh c8f125dbb9 ccxt async POC 2018-07-31 12:47:32 +02:00
Janne Sinivirta 1044d15b17
Merge pull request #1096 from freqtrade/cleaner-tests
Cleaning unit tests, first set
2018-07-31 08:22:33 +03:00
Gert bf0b1af878 merged latest development branch 2018-07-30 13:43:25 -07:00
Gert b83487cc36 added required changes 2018-07-30 13:00:08 -07:00
Matthias 5a55cd25ff
Merge branch 'develop' into sandbox2 2018-07-30 20:18:48 +02:00
Janne Sinivirta f85cc422a3
Merge branch 'develop' into cleaner-tests 2018-07-30 21:08:55 +03:00
Janne Sinivirta 155e134f50
Merge pull request #1097 from creslinux/gdax3
Enable GDAX support by rounding amount/rate (with unit tests)
2018-07-30 21:04:26 +03:00
creslin fe27ca63b4
Update test_exchange.py 2018-07-30 17:08:33 +00:00
creslinux 012fe94333 Recommitted as new branch with unit tests - GIT screwd me on the last PR 2018-07-30 16:49:58 +00:00
Janne Sinivirta 8b8d3f3b75 default_conf is function-scoped fixture, no need to deepcopy it 2018-07-30 15:41:02 +03:00
Janne Sinivirta 67d1693901 avoid validating default_conf hundreds of times 2018-07-30 14:57:51 +03:00
Janne Sinivirta 3083e5d2be use pytest fixture properly in test_hyperopt 2018-07-30 13:26:54 +03:00
Janne Sinivirta affdeb8fd8 rename func to throttled_func 2018-07-30 12:58:29 +03:00
Janne Sinivirta fb80964b69 freqtradebot tests don't need to mock coinmarketcap anymore 2018-07-30 12:58:29 +03:00
Janne Sinivirta 1c20ef873d remove parens 2018-07-30 12:09:07 +03:00
Janne Sinivirta df53e912f0 fix one more test that was missing mock and needed internet 2018-07-30 12:09:07 +03:00
Janne Sinivirta e242842805 remove more useless docstrings from tests 2018-07-30 12:09:07 +03:00
Matthias 2401fa15d2 Change missed calls to advise_* functions 2018-07-29 21:07:21 +02:00
Matthias 787d6042de Switch from pair(str) to metadata(dict) 2018-07-29 20:56:23 +02:00
Matthias 82680ac6aa improve docstrings for strategy 2018-07-29 20:55:40 +02:00
Matthias 5fbce13830 update hyperopt to use new methods 2018-07-29 20:55:40 +02:00
Matthias 39cf0decce don't use __annotate__
it is only present when typehints are used which cannot be guaranteed
for userdefined classes
2018-07-29 20:55:40 +02:00
Matthias f286ba6b87 overload populate_indicators to work with and without pair argumen
all while not breaking users strategies
2018-07-29 20:55:40 +02:00
Matthias 98665dcef4 revert inadvertent wihtespace changes 2018-07-29 20:55:37 +02:00
Matthias 791c5ff071 update comments to explain what advise methods do 2018-07-29 20:55:37 +02:00
Matthias 8a9c54ed61 use new methods 2018-07-29 20:55:37 +02:00
Matthias 18b8f20f1c fix small test bug 2018-07-29 20:55:37 +02:00
Matthias f12167f0dc Fix backtesting test 2018-07-29 20:55:37 +02:00
Matthias df8700ead0 Adapt after merge from develop 2018-07-29 20:55:37 +02:00
Matthias 0eff6719c2 improve tests for legacy-strategy loading 2018-07-29 20:55:37 +02:00
Matthias aa772c28ad Add tests for advise_indicator methods 2018-07-29 20:55:37 +02:00
Matthias c9a97bccb7 Add tests for deprecation 2018-07-29 20:55:32 +02:00
Matthias 7300c0a0fe remove @abstractmethod as this method may not be present in new
strategies
2018-07-29 20:55:06 +02:00
Gert Wohlgemuth 921f645623 fixing tests... 2018-07-29 20:55:06 +02:00
Gert Wohlgemuth 0dcaa82c3b fixed test? 2018-07-29 20:55:06 +02:00
Gert Wohlgemuth 3dd7d209e9 more test fixes 2018-07-29 20:55:06 +02:00
Gert Wohlgemuth abc55a6e6b fixing? hyperopt 2018-07-29 20:55:06 +02:00
Gert Wohlgemuth 5871488858 fixed errors and making flake pass 2018-07-29 20:55:06 +02:00
xmatthias 2e6e5029ba fix mypy and tests 2018-07-29 20:55:06 +02:00
Gert Wohlgemuth 19b9966417 satisfied flake8 again 2018-07-29 20:55:06 +02:00
Gert Wohlgemuth 57f683697d revised code 2018-07-29 20:55:06 +02:00
Gert Wohlgemuth 296d3d8bbe working on refacturing of the strategy class 2018-07-29 20:55:06 +02:00
Janne Sinivirta f832edf5bc remove useless docstrings from tests 2018-07-29 17:09:44 +03:00
Janne Sinivirta 1bbb86c621 remove nonsense asserts 2018-07-29 16:23:17 +03:00
Matthias 7f27beff4b
Revert "backtesting: try to load data with ujson if it exists" 2018-07-29 13:23:11 +02:00
creslinux dd71071740 Added logger.info when Sandbox is enabled. 2018-07-29 09:15:13 +00:00
creslinux 1e804c0df5 flake 8 2018-07-29 08:10:55 +00:00
creslinux fc06d028b8 Unit tests for sandbox pass / fail scenarios
Big Wave of appreciation to xmatthias for the guidence on how
Mocker works
2018-07-29 08:02:04 +00:00
Matthias 618784d060
Merge pull request #1090 from freqtrade/ujson-loader
backtesting: try to load data with ujson if it exists
2018-07-29 08:54:02 +01:00
Samuel Husso cfcc2e61e5
Merge pull request #1088 from freqtrade/fix/unpatched_mock
fix rpc test going to network
2018-07-29 09:53:52 +03:00
Samuel Husso 187e039a58
Merge pull request #1034 from freqtrade/feat/positive_sl_limit
add offset for positive trailing stop loss
2018-07-29 08:30:29 +03:00
Gert ab66fe1b72 prepared for tracking signals 2018-07-28 19:45:33 -07:00
Gert ed47240b6e working on develop backslap 2018-07-28 18:30:12 -07:00
Gert 1a673c6ac9 working on moving backslap 2018-07-28 14:23:18 -07:00
creslinux 0a059662b3 Submitting with unit test for the working scenario.
Strongly recommend core team check the unit test is even targetting the
correct code in exchange/__init__.py

I have a real knowledge gap on mocker, in so far as how tests map to
what they're targeting.
2018-07-28 20:32:10 +00:00
Samuel Husso cb2fff8909 mypy doesn't handle common idiomacy so disable the line (see the open issue more details) 2018-07-28 22:06:26 +03:00
Samuel Husso cdd8cc551c backtesting: try to load data with ujson if it exists 2018-07-28 21:56:11 +03:00
Samuel Husso 6ab8fa8c71
Merge pull request #1079 from creslinux/apiAuthPass
add Password option to API login, GDAX as example requires.
2018-07-28 13:53:39 +03:00
Matthias 243b63e39c fix rpc test going to network (unsuitable for flights...) 2018-07-27 21:14:41 +01:00
creslin 40ae250193
Update constants.py
Adding UID also, as itll get ran into in future on an exchange that needs it.
2018-07-27 12:19:01 +00:00
creslinux c47253133a have to begin before we can stop 2018-07-27 12:07:07 +00:00
creslinux 7efa81073a Removed ; at line end. 2018-07-27 09:10:09 +00:00
creslinux d23b3ccc5e odd cut and paste error fixed. 2018-07-27 08:55:36 +00:00
Matthias 48cd468b6c Don't do all network calls at once without async 2018-07-27 07:40:27 +01:00
creslinux 0372485cf0 Some reason did not push this...
vector calcs redone.
2018-07-26 19:17:00 +00:00
creslinux e39ae45d2f Some reason did not push this...
vector calcs redone.
2018-07-26 18:40:45 +00:00
Matthias df3e76a65d Remove legacy code, fix missed call 2018-07-26 19:11:51 +01:00
Matthias f2a9be3684 Adjust tests and remove legacy variable 2018-07-26 19:06:25 +01:00
Matthias 3324cdfcbe add mock for get_history in patch_get_signal 2018-07-26 18:58:49 +01:00
Matthias 484103b957 extract get_history_data from get_signal 2018-07-26 18:23:42 +01:00
Janne Sinivirta 726b94b077
Merge pull request #1069 from freqtrade/feat/movefiatconverttorpc
Feat/movefiatconverttorpc
2018-07-26 14:25:58 +03:00
Matthias 452a1cad9d don't default fiat_convert to None for outputs 2018-07-26 07:26:23 +01:00
Matthias 7b49f746d1 remove #FIX which was fixed 2018-07-25 22:47:20 +01:00
Janne Sinivirta 4b38c8b11d use pandas own min and max for column sorting 2018-07-25 17:04:25 +03:00
Matthias dc1ad3cbf6 whitespace issues 2018-07-24 23:08:40 +01:00
Matthias ff6435948e Fix random test failure 2018-07-24 22:53:10 +01:00
Matthias 4928686af9 Remove currency from daily table 2018-07-24 09:37:25 +01:00
Matthias 30b72ad98a don't show fiat-currency if not set 2018-07-24 08:20:32 +01:00
Matthias 1a9ead45eb fix missed fiat_display_currency config value 2018-07-24 08:00:56 +01:00
Janne Sinivirta 0b3190552e
Merge pull request #1018 from freqtrade/feat/sell_reason
Record sell reason
2018-07-24 09:09:45 +03:00
Matthias 456e49fe35 default fiat_currency to none 2018-07-24 00:01:51 +01:00
Matthias 10fc2c67c7 Fix bug causing a database-migration to fail from aspecific state 2018-07-23 09:10:37 +01:00
Matthias 643de58c4d Add test to check for a mid-migrated database (not old but not new) 2018-07-23 09:09:56 +01:00
Janne Sinivirta aba3c69765
Merge pull request #1061 from freqtrade/fix_networkcall
Add missing mock
2018-07-23 07:19:37 +03:00
Matthias 0775a371fe rename sellreason to sell_Reason, fix typos 2018-07-23 00:54:20 +01:00
Matthias 23fe0db2df Add missing mock 2018-07-22 17:06:42 +01:00
Matthias f54ac5a8de revert bugfix done in it's own branch 2018-07-22 17:05:22 +01:00
Matthias 4c8411537f Don't require fiat-currency 2018-07-22 14:53:46 +02:00
Matthias bd2771b8f9 use correct property 2018-07-22 14:52:58 +02:00
Matthias 4d864df59e Add tests for no_fiat functionality 2018-07-22 14:49:07 +02:00
Matthias fae4c3a4e3 only init if stake_currency is set 2018-07-22 14:48:06 +02:00
Matthias 2b297869a1 adjust checks to fit new functionality 2018-07-22 14:35:59 +02:00
Matthias 6cc0a72bca ADd optional to class _fiat_convert 2018-07-22 14:35:37 +02:00
Matthias f297d22edb fix some tests in rpc_telegram 2018-07-21 20:49:57 +02:00
Matthias 0681a806cc move cryptofiatconvert to rpc 2018-07-21 20:44:38 +02:00
Matthias be3f04775a remove unnecessary mocks - add mocks which went to exchange 2018-07-21 20:21:00 +02:00
Matthias 9467461160 only init FIATConvert when telegram is enabled 2018-07-21 20:13:32 +02:00
Matthias 66af41192a Catch all exceptions from fiat-convert api calls 2018-07-21 19:50:38 +02:00
Matthias dd1290e38e Add multiple verbosity levels 2018-07-19 21:12:27 +02:00
Matthias 90915b6b2f
Revert "Add more verbosity levels" 2018-07-19 20:43:41 +02:00
Matthias 1b2bfad348 Fix wrong test 2018-07-19 20:36:49 +02:00
Matthias 060469fefc Add stuff after rebase 2018-07-19 20:12:20 +02:00
Matthias 4fb9823cfb fix rebase problem 2018-07-19 19:50:06 +02:00
Matthias 760c79c5e9 Use `.center()` to output trades header line 2018-07-19 19:39:08 +02:00
Matthias a452864b41 Use namedtuple for sell_return 2018-07-19 19:39:08 +02:00
Matthias 506aa0e3d3 Add print_sales table and test 2018-07-19 19:34:14 +02:00
Matthias 426c25f631 record ticker_interval and strategyname 2018-07-19 19:34:14 +02:00
Matthias 4059871c28 Add get_strategy_name 2018-07-19 19:34:14 +02:00
Matthias 2a61629014 Export sell_reason from backtest 2018-07-19 19:29:31 +02:00
Matthias 8c0b19f80c Check sell-reason for sell-reason-specific tests 2018-07-19 19:29:31 +02:00
Matthias 838b0e7b76 Remove unused import 2018-07-19 19:29:31 +02:00
Matthias cbffd3650b add sell_reason to backtesting 2018-07-19 19:29:31 +02:00
Matthias 0147b1631a remove optional from selltype 2018-07-19 19:27:33 +02:00
Matthias 49a7c7f08e fix tests 2018-07-19 19:27:33 +02:00
Janne Sinivirta 0cc1b66ae7
Merge pull request #1037 from freqtrade/fix/backtest-comment
replace --realistic with 2 separate flags
2018-07-19 17:33:19 +03:00
Janne Sinivirta 6070d819b8
Merge pull request #1040 from freqtrade/xmatthias_backtest_duration
Fix backtest duration calculation
2018-07-19 17:32:11 +03:00
Matthias f991109b0a Add sell-reason to sell-tree 2018-07-19 13:29:42 +02:00
Matthias 6bb7167b56 Add sellType enum 2018-07-19 13:25:48 +02:00
Matthias c0a7725c1f Add stoploss offset 2018-07-19 13:22:44 +02:00
Matthias 8f254031c6 Add short form for parameters, change default for hyperopt 2018-07-19 13:19:36 +02:00
Matthias aa69177436 Properly check emptyness and adjust floatfmt 2018-07-19 13:14:21 +02:00
Matthias 64f933477d
Merge pull request #1007 from freqtrade/remove-analyze
Remove Analyze
2018-07-19 10:12:36 +02:00
Matthias 75c0a476f8 Test setting verbosity in commandline 2018-07-18 23:40:04 +02:00
Matthias 1ab7f5fb6d add tests for more debug levels 2018-07-18 22:53:44 +02:00
Matthias 789b98015f Allow different loglevels 2018-07-18 22:52:57 +02:00
Matthias 7134c15e86
Merge pull request #1024 from freqtrade/feature/webhook
Feature/webhook
2018-07-18 20:39:57 +02:00
Matthias 79b1030435 output duration in a more readable way 2018-07-18 20:08:55 +02:00
Matthias f9f6a3bd04
cast to int to keep exports constant 2018-07-18 09:29:51 +02:00
Matthias 8e4d2abd4e
Fix typo 2018-07-18 09:10:17 +02:00
Matthias 08237abe20
Fix wrong backtest duration
identified in #1038
2018-07-18 09:06:12 +02:00
Luis Felipe Diaz Chica ee8e890f50 Add docs to get_trade_stake_amount function 2018-07-18 01:36:39 -05:00
creslinux 3184c85dca default settings to trigger low, take stop 2018-07-17 21:33:11 +00:00
Matthias 3df79b8542 fix hanging intend 2018-07-17 21:12:05 +02:00
Matthias c82276ecbe add --disable-max-market-positions 2018-07-17 21:05:03 +02:00
Matthias e17618407b Rename --realistic-simulation to --enable-position-stacking 2018-07-17 20:26:59 +02:00
Janne Sinivirta 85fd4dd3ff rename analyze.py to exchange_helpers.py 2018-07-17 21:26:52 +03:00
creslinux 8cea0517eb Added stop_stops
stop_stops is an int value
when number of stops in a pair reached the int the pair is stopped
trading.

This allows backtest to align with my pre_trade_mgt that does the same
in dry and live operations
2018-07-17 11:22:38 +00:00
creslinux ed4bf32f2a Fixed Stop closing in Index 0
when buy opening on Index 1
2018-07-17 10:59:17 +00:00
Janne Sinivirta e11ec28962 remove leftover commented-out code 2018-07-17 11:13:35 +03:00
creslinux baaf0a5b21 Handle when 0 trades are found in any pairs being tested. 2018-07-17 08:12:21 +00:00
Janne Sinivirta 084264669f fix the last failing unit test 2018-07-17 11:02:07 +03:00
Janne Sinivirta dbc3874b4f __init__ must return None to please mypy 2018-07-17 10:47:15 +03:00
Janne Sinivirta 78af4bc785 move and fix tests from Analyze to interface of strategy 2018-07-17 10:23:04 +03:00
creslinux a313917347 Handle a buy on the last candle
We will never see this, as buy is on close which is the end of backtest
e.g there is no next candle OPEN to buy at, or on
2018-07-16 18:59:48 +00:00
creslinux 357c8c0ba0 sensible defaults 2018-07-16 18:32:41 +00:00
creslinux 8d5da4e6ad changed defaults
Seperated save trades and print trades options.
2018-07-16 17:48:11 +00:00
creslinux ec1960530b Added Show trades option
If true, prints trades ordered by date after summary.
Useful for spotting trends.
2018-07-16 17:06:06 +00:00
creslinux 99d16e82c0 disable time calcs output on vector displaying in debug. Excessive. 2018-07-16 16:30:11 +00:00
creslinux 885a653439 Disabled full debug on in last commit
Switched Stops to trigger on Low
Switched Stops to pay stop-rate not close.
2018-07-16 16:18:54 +00:00
creslinux 059aceb582 Disabled full debug on in last commit
Switched Stops to trigger on Low
Switched Stops to pay stop-rate not close.
2018-07-16 16:12:33 +00:00
creslinux 0f3339f74f use ujson to load ticker files 30% faster from disk. 2018-07-16 16:09:42 +00:00
creslinux 4a39a754f4 Fixed: self.use_backslap = Bool on line97
If self.use_backslap = True   Backslap executes
If self.use_backslap = False  Original Backtest Code executes
2018-07-16 15:57:15 +00:00
creslinux 5aaf454f12 GAS trades verified from candle data to excel by hand
All pass
3 sells 1 stop loss
2018-07-16 15:48:06 +00:00
creslinux fb0edd71ff in tech test 2018-07-16 14:16:35 +00:00
creslinux eed29a6b8a update 2018-07-16 13:16:18 +00:00
creslinux 7174f27eb8 Rewrite to used algned numpy/dataframes
updated logic
added vector fill for abs/profit/duration in single hit on results.
2018-07-16 12:01:02 +00:00
Samuel Husso a3466f4b42
Merge pull request #1031 from freqtrade/feat/update_configdict
Update config dict with attributes loaded from strategy
2018-07-16 10:00:46 +03:00
Samuel Husso 050afe2bc0
Merge pull request #979 from creslinux/Check_timeframes
Handle if ticker_interval in config.json is not supported on exchange.
2018-07-16 09:57:46 +03:00
Janne Sinivirta 5c87c420c7 restore one analyze test 2018-07-16 08:59:14 +03:00
Janne Sinivirta aeb4102bcb refactor Analyze class methods to base Strategy class 2018-07-16 08:23:39 +03:00
Janne Sinivirta f6b8c2b40f move parse_ticker_dataframe outside Analyze class 2018-07-16 08:23:39 +03:00
Janne Sinivirta 85e6c9585a remove pass-through methods from Analyze 2018-07-16 08:23:39 +03:00
Janne Sinivirta a74147c472 move strategy initialization outside Analyze 2018-07-16 08:23:39 +03:00
creslinux a8b62a21cc hmm 2018-07-15 17:03:47 +00:00
creslinux 4e68362d46 Works with reporting output
Bugs
Calculating % prof ok, but abs wrong

BAT/BTC DF is very broken all OHLC are the same - but exposes a
buy after stop on last row "oddness" to be investigated / handled
2018-07-15 10:33:00 +00:00
creslinux 71c3106f8f Added ABS and Fees
Fixed Index Alignment that was off moving from scratch to FT
Fixed Stoploss,
  its a negative in FT, had been using positve stop -1 in scratch
2018-07-15 09:30:01 +00:00
Matthias 158226012a consistent use of the config dict within the test 2018-07-15 09:08:14 +02:00
Matthias b4ba641131 Update config dict with attributes loaded from strategy 2018-07-15 09:01:08 +02:00
creslinux 07175ebc5a up 2018-07-14 23:45:06 +00:00
creslinux 90e3c38757 First cut, Bslap
science project replacement for freqtrade backtest analysis

- appprox 300-500x quicker to execute

- fixes stop on close take close price bug in FT
Bslap is configurable but by default stops are triggerd on
low and pay stop price

Not implimented dynamic stops or roi
2018-07-14 22:54:23 +00:00
Matthias 278e7159bc adjust webhook tests 2018-07-14 13:32:35 +02:00
Matthias 1284627219 move url to private class level 2018-07-14 13:32:35 +02:00
Matthias 120fc29643 use dict comprehension 2018-07-14 13:32:35 +02:00
Matthias 6336d8a0e2 remove copy leftover 2018-07-14 13:32:35 +02:00
Matthias ee2f6ccbe9 Add test for enable_webhook 2018-07-14 13:32:35 +02:00
Matthias 144d308e5e Allow enabling of webhook 2018-07-14 13:32:35 +02:00
Matthias a4643066a8 allow more flexibility in webhook 2018-07-14 13:32:35 +02:00
Matthias 25250f7c10 don't hardcode post parameters 2018-07-14 13:32:35 +02:00
Matthias fa8512789f add tests for webhook 2018-07-14 13:32:35 +02:00
Matthias ae22af1ea3 fix typo 2018-07-14 13:32:35 +02:00
Matthias 6e16c1d80d add webhook test file 2018-07-14 13:32:35 +02:00
Samuel Husso fa8b349200 rpc: dont re-use variables with different types 2018-07-14 08:02:39 +03:00
gcarq cb8cd21e22 add tests for telegram.send_msg 2018-07-12 17:50:11 +02:00
gcarq a559e22f16 remove duplicate send_msg invocation 2018-07-12 17:29:02 +02:00
gcarq 7eaeb8d146 status: return arrow object instead humanized str 2018-07-12 17:27:40 +02:00
gcarq 0920fb6120 use more granular msg dict for buy/sell notifications 2018-07-12 17:16:31 +02:00
gcarq 4cb1aa1d97 use dict as argument for rpc.send_msg 2018-07-12 17:12:42 +02:00
gcarq 96a405feb7 implement name property in abstract class 2018-07-12 17:11:31 +02:00
gcarq 112998c205 refactor _rpc_balance 2018-07-12 17:11:31 +02:00
gcarq f1a370b3b9 return dict from _rpc_status and handle rendering in module impl 2018-07-12 17:10:04 +02:00
gcarq 29670b9814 remove markdown formatting from exception string 2018-07-12 17:07:19 +02:00
gcarq df8ba28ce5 convert start, stop and reload_conf to return a dict 2018-07-12 17:07:19 +02:00
Matthias 06c9494a46
add missing s to Backtest cum results 2018-07-11 14:50:04 +02:00
Janne Sinivirta 1f16ff268f
Merge pull request #1010 from jblestang/refactoring_create_trade_function
Refactoring Create Trade
2018-07-11 07:23:03 +03:00
Janne Sinivirta aa2366346a
Merge pull request #1001 from xmatthias/feat/backtest_cum_profit
Add cumulative profit to backtest result table
2018-07-11 07:21:28 +03:00
Jean-Baptiste LE STANG 773fb5953b Reafcotring Create Trade 2018-07-10 15:10:56 +02:00
Matthias 85c60519b0 Fix test crash 2018-07-09 22:11:12 +02:00
Matthias 750d737b7d Add tests for change to open_rate 2018-07-08 20:18:34 +02:00
Matthias 8b06000f0f Use open-rates for backtesting 2018-07-08 20:03:11 +02:00
Matthias efaa8f16e7 Improve formattiong of table 2018-07-08 20:01:33 +02:00
Matthias 38487644f0 fix tests for backtest-result output table 2018-07-08 19:55:16 +02:00
Matthias 1a24afef77 add cumsum to backtest-results 2018-07-08 19:55:04 +02:00
Janne Sinivirta 8fb146ba6a
Merge pull request #992 from freqtrade/backtest_optimize
reduce calculation effort by removing a call to calc_profit_percent
2018-07-08 17:41:50 +03:00
Janne Sinivirta 6926e468a4
Merge pull request #984 from freqtrade/test_backtest_results
Test backtest results
2018-07-08 17:40:12 +03:00
Matthias 8dd6e29426 don't flag data as outdated which isn't 2018-07-08 13:34:47 +02:00
Matthias 3e03a208f1 reduce calculation effort (slightly!) 2018-07-07 20:17:53 +02:00
Matthias 570d27a0c4 Add testcase where ticker_interval is not in the configuration 2018-07-07 15:30:29 +02:00
Matthias 3f6e9cd28f Add tests for validate_timeframes 2018-07-07 14:42:53 +02:00
Matthias af17cef002 fix existing tests to work with validate_timeframes 2018-07-07 14:41:42 +02:00
Matthias 9906da46f6 move comment to correct place 2018-07-06 20:00:54 +02:00
Matthias 54976fa103 Add more tests to validate buy/sell rows 2018-07-06 19:56:16 +02:00
Gert Wohlgemuth 1897a1cb6a fixed mypy issues, seriosuly... 2018-07-05 16:10:38 -07:00
Gert Wohlgemuth 58879ff012 fixed braket 2018-07-05 15:01:53 -07:00
Gert Wohlgemuth e1f5745f59
Update resolver.py 2018-07-05 14:50:23 -07:00
Gert Wohlgemuth 1c48902e64
Merge branch 'develop' into BASE64 2018-07-05 14:40:04 -07:00
Gert Wohlgemuth 8bbee4038b integrated BASE64 encoded strategy loading 2018-07-05 14:30:24 -07:00
Matthias c35d1b9c9d Add test which checks the backtest result 2018-07-05 23:22:35 +02:00
Samuel Husso e808b3a2a1 rpc: get rid of extra else and fix mypy warning 2018-07-05 10:47:08 -05:00
Samuel Husso df68b0990f rpc: fstrings 2018-07-05 10:11:29 -05:00
Samuel Husso adbffc69e1 telegram: fstrings in use 2018-07-05 10:11:29 -05:00
Samuel Husso a2063ede55 persistence: fstrings in use 2018-07-05 10:11:29 -05:00
Samuel Husso 7dca3c6d03 freqtradebot,main,hyperopt: fstrings in use 2018-07-05 10:11:29 -05:00
Samuel Husso 03c112a601 config, optimize: fstrings in use 2018-07-05 10:11:29 -05:00
creslinux 5ab644dea6 flake 8 fix 2018-07-05 12:05:31 +00:00
creslinux 966668f48a Handle if ticker_interval in config.json is not supported on exchange.
Returns.

Tested positive and negative data.
The ticker list in constants.py may be obsolete now, im not sure.

 raise OperationalException(f'Invalid ticker {timeframe}, this Exchange supports {timeframes}')
freqtrade.OperationalException: Invalid ticker 14m, this Exchange supports {'1m': '1m', '3m': '3m', '5m': '5m', '15m': '15m', '30m': '30m', '1h': '1h', '2h': '2h', '4h': '4h', '6h': '6h', '8h': '8h', '12h': '12h', '1d': '1d', '3d': '3d', '1w': '1w', '1M': '1M'}
2018-07-05 11:57:59 +00:00
Samuel Husso d8d0579c5a
Merge pull request #930 from freqtrade/skopt
Replace Hyperopt with scikit-optimize
2018-07-04 13:51:14 -05:00
Janne Sinivirta bf4d0a9b70 sort imports 2018-07-04 10:31:35 +03:00
Janne Sinivirta 96bb2efe69 use joblib.dump and load for trials 2018-07-03 23:08:29 +03:00
Janne Sinivirta c4a8435e00 change pickle file name to better suit it's current purpose 2018-07-03 22:17:43 +03:00
Janne Sinivirta 9dbe0f50a3 fix tests after changing the dumping and pickling dataframe in hyperopt 2018-07-03 22:09:59 +03:00
Janne Sinivirta 3a7056ea1b run at least one epoch 2018-07-03 21:55:22 +03:00
Janne Sinivirta 2cde540645 remove dead code 2018-07-03 21:50:45 +03:00
Janne Sinivirta ef59f9ad24 sort imports in hyperopt.py 2018-07-03 21:50:24 +03:00
Janne Sinivirta ee4754cfb9 avoid re-serialization of whole dataframe 2018-07-03 14:49:58 +03:00
Janne Sinivirta 2713fdb860 use cpu count explicitly in job count 2018-07-03 11:46:56 +03:00
Janne Sinivirta 79aab4cce2 use fstring 2018-07-03 11:44:54 +03:00
Janne Sinivirta fa8fc3e4ce handle the case where we have zero buys 2018-07-02 11:46:55 +03:00
Janne Sinivirta aec3f582e1 Merge branch 'develop' into skopt 2018-07-02 11:27:27 +03:00
xmatthias 3c5be55eb9 remove unnecessary variable 2018-07-01 20:17:30 +02:00
xmatthias 782570e71e Address PR comment 2018-07-01 20:03:07 +02:00
Matthias ed2a1becef
Merge branch 'develop' into feat/stop_loss 2018-07-01 20:01:02 +02:00
xmatthias 937644a04b change while-loop to enumerate - add intensified test for this scenario 2018-07-01 19:55:51 +02:00
xmatthias e39d88ef65 Address some PR comments 2018-07-01 19:54:26 +02:00
Michael Egger f91263c8ef
Merge pull request #966 from freqtrade/feat/revamp_exchangetest
Rewrite standard ccxt exception handling
2018-07-01 19:47:57 +02:00
Michael Egger e2127f5af1
Merge pull request #969 from xmatthias/split_unfilled
separating unfulfilled timeouts for buy and sell
2018-07-01 19:47:24 +02:00
xmatthias 2dc881558d address PR comments 2018-07-01 19:41:19 +02:00
xmatthias c66f858b98 rename innerfun to mock_ccxt_fun 2018-07-01 19:37:55 +02:00
Michael Egger 8023fdf923
Merge pull request #971 from freqtrade/fix/nonmocked_markets
Add get_markets mock to new tests
2018-07-01 15:11:22 +02:00
Michael Egger 2cee8e52c1
Merge pull request #965 from freqtrade/fix/fix_959
catch crash with cobinhood
2018-07-01 14:28:01 +02:00
xmatthias 9e3e900f78 Add get_markets mock to new tests 2018-06-30 17:49:46 +02:00
Nullart 98108a78f1 separating unfulfilled timeouts for buy and sell 2018-06-30 13:44:42 +02:00
Janne Sinivirta 0ce08932ed mypy fixes 2018-06-30 09:54:31 +03:00
Michael Egger 6dd5f85fb6
Merge pull request #954 from freqtrade/feat/allow_backtest_plot
allow backtest ploting
2018-06-29 19:44:06 +02:00
xmatthias cf6b1a637a increase exchange code coverage 2018-06-28 22:32:28 +02:00
xmatthias dcdc18a338 rename test-function 2018-06-28 22:18:38 +02:00
xmatthias 15c7854e7f add test for exchange_has 2018-06-28 22:11:45 +02:00
xmatthias fe8a21681e add test for Not supported 2018-06-28 21:56:37 +02:00
xmatthias ebbfc720b2 increase test coverage 2018-06-28 21:51:59 +02:00
xmatthias 8ec9a09749 Standardize retrier exception testing 2018-06-28 21:22:43 +02:00
xmatthias 2d4ce593b5 catch crash with cobinhood
fixes #959
2018-06-28 19:53:51 +02:00
xmatthias d5ad066f8d support multiple db transitions by keeping the backup-table dynamic 2018-06-27 20:15:25 +02:00