Commit Graph

1797 Commits

Author SHA1 Message Date
Nullart2 b6b89a464f move order_book config out of experimental 2018-08-29 17:38:43 +08:00
Matthias 42587741dd mock exchange to avoid random failures 2018-08-25 13:21:10 +02:00
Matthias a489a044ad Mock Exchange results to avoid random test-failures 2018-08-25 13:17:07 +02:00
misagh bc6b80ff38 Edge functionality drafted 2018-08-24 11:59:10 +02:00
Samuel Husso 7376a0d538
Merge pull request #1131 from freqtrade/parametrize_outdated_ticker
parametrize outdated_offset to simplify sandbox usage
2018-08-22 07:02:38 +03:00
Samuel Husso 36e0e652f0
Merge pull request #1135 from freqtrade/fix/rpc_balance_vtho
Fix /balance rpc call if coin is not properly listed
2018-08-22 07:01:40 +03:00
Misagh 66d52c1236
Merge pull request #4 from xmatthias/ccxt_async_retrier
Add async retrier
2018-08-21 19:55:30 +02:00
Matthias 6e90d482ef remove amount_to_lots (deprecated / removed)
was removed from ccxt in
527f082e59
2018-08-21 19:08:21 +02:00
Matthias 8f41e0e190 Use setting in 'exchange' dict 2018-08-20 20:01:57 +02:00
Matthias a077955efa update json.load to json_load - followup to #1142 2018-08-19 19:58:07 +02:00
Matthias 0674c3e8f0
Merge pull request #1142 from freqtrade/ujson-loader
backtesting: try to load data with ujson if it exists
2018-08-19 19:53:38 +02:00
Matthias 6d1c82a5fa Remove last refreence to `get_candle_history` 2018-08-19 19:50:14 +02:00
Matthias de0f3e43bf remove unused mocks 2018-08-19 19:49:39 +02:00
Matthias 694b8be32f Move variables from class to instance 2018-08-19 19:49:02 +02:00
Matthias 9403248e4d have plot-script use async ticker-refresh 2018-08-19 19:48:24 +02:00
Matthias 088c54b88c remove unnecessary function 2018-08-19 09:17:17 +02:00
Matthias d722c12109 fix bug in async download script 2018-08-18 21:08:59 +02:00
Matthias d556f669b0 Add async retrier 2018-08-18 21:05:38 +02:00
Matthias d1c5eebff2 Add explicit test on handling min_roi_reached 2018-08-17 06:50:36 +02:00
Samuel Husso 98240e0e48
Merge pull request #1154 from freqtrade/min_roi_output
Output min-roi setting when overwriting from config
2018-08-16 20:18:49 +03:00
Samuel Husso 0750d356a1
Merge pull request #1141 from freqtrade/fix/python3.7
fix running freqtrade on python3.7
2018-08-16 20:17:24 +03:00
Matthias 16fa877b67 Remove verbosity of trying backup tables - properly log if
databasemigration happened
2018-08-16 13:15:46 +02:00
Matthias ff8ed564f1 Refactor refresh_pairs to exchange and fix tests 2018-08-16 12:15:09 +02:00
misagh e6e2799f03 Keeping cached Klines only in exchange and renaming _cached_klines to
klines.
2018-08-16 11:37:31 +02:00
Matthias 4a8c120926 Output min-roi setting when overwriting from config 2018-08-16 11:35:41 +02:00
misagh a2d9126917 Merge branch 'develop' into ccxt-async 2018-08-15 15:09:35 +02:00
Matthias baeffee80d Replace time.time with arrow.utcnow().timestamp
arrow is imported already
2018-08-15 13:26:01 +02:00
Matthias 76914c2c07 remove todo comment as this is actually done 2018-08-15 12:57:27 +02:00
Matthias ca6594cd24 remove comment, add docstring 2018-08-15 12:49:39 +02:00
Matthias d007ac4b96 check version explicitly, use "python" in venv 2018-08-15 08:37:20 +02:00
Janne Sinivirta 6e2a2abe80
Merge pull request #1151 from freqtrade/version-bump
Push develop as 0.17.2
2018-08-15 08:26:43 +03:00
Samuel Husso dd7f540e5a Push develop as 0.17.2 2018-08-15 08:25:04 +03:00
Nullart2 1edbc494ee refactor 2018-08-15 12:37:30 +08:00
Nullart2 b34aa46181 additional tests 2018-08-15 12:05:56 +08:00
Nullart2 48e218d6c0 test_talib fix 2018-08-15 11:01:59 +08:00
Nullart2 2bc7a668a3 informative startup 2018-08-15 10:39:32 +08:00
Matthias 3aa210cf93 Add test for get_history 2018-08-14 20:53:58 +02:00
Matthias e37cb49dc2 Ad test for async_load_markets 2018-08-14 20:42:13 +02:00
Matthias 67cbbc86f2 Add test for exception 2018-08-14 20:35:12 +02:00
Matthias 37e504610a refactor private method - improve some async tests 2018-08-14 20:33:03 +02:00
Matthias 8528143ffa Properly close async exchange as requested by ccxt 2018-08-14 19:52:09 +02:00
Matthias 69cc6aa958 Add test to async 2018-08-14 16:02:03 +02:00
misagh a6b69da391 Merge branch 'develop' into ccxt-async 2018-08-14 15:30:34 +02:00
Nullart2 78610bb47f mock order_book and additional test 2018-08-14 18:12:44 +08:00
Matthias 721fb3e326 remove unused profile import 2018-08-14 10:12:57 +02:00
Matthias 2b37c1ff0e Merge branch 'develop' into ujson-loader 2018-08-12 13:11:40 +02:00
Matthias 7d72e364aa Remove broken ujson loading - replace with variable-based fix 2018-08-12 13:08:10 +02:00
Matthias e3e79a55fa Fix _abc_data pickle error in 3.7 2018-08-12 10:16:51 +02:00
Matthias e73331b9b6
Merge pull request #1124 from berlinguyinca/database_tuning
Database tuning
2018-08-12 09:45:48 +02:00
Matthias ffa47151ee Flake8 fix 2018-08-12 09:30:12 +02:00
Matthias 88e85e8d33 fix tests - move load_async_markets call to validate_pairs 2018-08-10 13:11:04 +02:00
Matthias fce071843d Move async-load to seperate function 2018-08-10 13:04:43 +02:00
Matthias a852d2ff32 default since_ms to 30 days if no timerange is given 2018-08-10 11:15:02 +02:00
Matthias a107c4c7b4 Download using asyncio 2018-08-10 11:08:28 +02:00
Matthias 74d6816a1a Fix some comments 2018-08-10 11:00:07 +02:00
Matthias e34f2abc3a Add some typehints 2018-08-10 09:58:04 +02:00
Matthias 8a0fc888d6 log if using cached data 2018-08-10 09:48:54 +02:00
Matthias 36f05af79a sort fetch_olvhc result, refactor some
* add exception for since_ms - if this is set it should always download
2018-08-10 09:44:15 +02:00
Matthias e654b76bc8 Fix async test 2018-08-10 09:44:03 +02:00
Matthias 56768f1a61 Flake8 in tests ... 2018-08-09 20:17:55 +02:00
Matthias b008649d79 Remove unnecessary quote escaping 2018-08-09 20:13:07 +02:00
Matthias 3b2f161573 Add test for ta_on_candle override 2018-08-09 20:12:45 +02:00
Matthias df960241bd Add log-message for skipped candle and tests 2018-08-09 20:07:01 +02:00
Matthias 4ece5d6d7a Add tests for ta_on_candle 2018-08-09 20:02:24 +02:00
Matthias e36067afd3 refactor candle_seen to private 2018-08-09 19:58:47 +02:00
Matthias c4e43039f2 Allow control from strategy 2018-08-09 19:24:00 +02:00
misagh 280ead7bdb Merge branch 'develop' into ccxt-async 2018-08-09 13:04:01 +02:00
Matthias 98730939d4 Refactor to use a plain dict
* check config-setting first - avoids any call to "candle_seen"
eventually
2018-08-09 13:02:41 +02:00
Matthias d1306a2177 Fix failing tests when metadata in `analyze_ticker` is actually used 2018-08-09 13:01:57 +02:00
misagh cb26085229 Moving should_not_update logic to async function per pair. if there is
no new candle, async function will just return the last cached candle
locally and doesn’t hit the API
2018-08-09 12:47:26 +02:00
misagh cef09f49a6 wait for markets to be loaded before looping in symbols. 2018-08-09 11:51:38 +02:00
Matthias e1921c8849 Fix bug causing /balance to fail 2018-08-08 22:00:39 +02:00
Matthias 3c451e0677 Add test for bugreport #1111 2018-08-08 21:54:52 +02:00
Nullart2 c9c0e108ab refactor 2018-08-07 18:29:37 +08:00
Matthias c9580b31d0 parametrize outdated_offset to simplify sandbox usage 2018-08-07 09:25:21 +02:00
Matthias 255f303850 Fix tests and flake8 2018-08-07 08:56:06 +02:00
Matthias 131d268721 Fix failing tests when metadata in `analyze_ticker` is actually used 2018-08-06 19:15:30 +02:00
Samuel Husso 199bd7bc50
Merge pull request #1123 from freqtrade/fix-db_migration
Fix db migration
2018-08-06 12:00:22 +03:00
Axel Cherubin 65f7b75c34 fix flake8 issue 2018-08-05 17:52:06 -04:00
Axel Cherubin 0b825e96aa fix talib bug on bollinger bands and other indicators when working on small assets, rise talib prescision and add test associated 2018-08-05 16:08:49 -04:00
Nullart2 1309c2b14f tests update 2018-08-05 22:56:14 +08:00
Nullart2 7143b64fb7 tests for coverage 2018-08-05 22:41:58 +08:00
Nullart2 26d591ea43 mypy fix 2018-08-05 21:08:07 +08:00
Nullart2 4a9bf78770 Order Book with tests 2018-08-05 12:41:06 +08:00
Matthias d73d0a5253 Fix database migration 2018-08-04 20:22:45 +02:00
Matthias ea506b05c6 Add test for failing database migration 2018-08-04 20:22:16 +02:00
misagh 3ce4d20ab9 using constants instead of stripping the string 2018-08-04 13:04:16 +02:00
misagh af93b18475 Do not refresh candles on "process_throttle_secs" but on intervals 2018-08-03 18:10:03 +02:00
misagh 3987a8aeb8 Merge branch 'ccxt-async' of https://github.com/misaghshakeri/freqtrade into ccxt-async 2018-08-03 14:50:11 +02:00
misagh 59b9a6d94d Break the loop as soon as one buy signal is found. 2018-08-03 14:49:55 +02:00
creslin 10ab6c7ffa Removed unneeded property code 2018-08-03 09:14:16 +00:00
creslin 1fef384bba flake 8 2018-08-03 08:40:16 +00:00
creslin d2a728cebd flake 8 2018-08-03 08:38:13 +00:00
creslin 6b3e8dcc33 holds a dict of each pair last seen.
to correctly manage the last seen of a pair.
2018-08-03 08:33:37 +00:00
creslin c38d94df2d Resubmitting - because GIT.
This is the last cut that was in #1117 before i closed that PR

This PR allows a user to set the flag "ta_on_candle" in their config.json

This will change the behaviour of the the bot to only process indicators
when there is a new candle to be processed for that pair.

The test is made up of "last dataframe row date + pair" is different to
last_seen OR  ta_on_candle is not True
2018-08-03 07:33:34 +00:00
Gert 85c73ea850 added index 2018-08-02 16:39:13 -07:00
Matthias 337d9174d9 Flake8 fixes 2018-08-02 20:11:27 +02:00
Matthias 80a1c6ea64
Merge pull request #1106 from creslinux/xbt
XBT missing as a market symbol for BTC in constants
2018-08-02 20:07:25 +02:00
misagh 05ca78d2a3 ticker_history changed to candle_history naming 2018-08-02 17:10:38 +02:00
misagh 2ec2f1abce async branch updated to reflect develop branch changes 2018-08-02 16:48:21 +02:00
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