Commit Graph

356 Commits

Author SHA1 Message Date
Janne Sinivirta aacd7d8987
Merge pull request #131 from gcarq/feature/backtesting-max-open-trades
implement trade count lock for backtesting
2017-11-23 16:16:43 +02:00
gcarq 4a707d7452 add --limit-max-trades 2017-11-23 00:25:06 +01:00
gcarq 7727f2cc8f implement test 2017-11-22 21:02:36 +01:00
gcarq 9a87dcf0a1 dont apply fees on trade creation 2017-11-22 21:01:44 +01:00
gcarq 9136e64d89 force flush in create_trade and execute_sell (fixes #128) 2017-11-22 20:51:25 +01:00
Samuel Husso 765a762ccf
Merge pull request #122 from gcarq/feature/fix-signal-handling
fix signal handling
2017-11-22 13:38:57 +02:00
gcarq 02ca2ed585 implement trade count lock for backtesting 2017-11-21 22:33:34 +01:00
gcarq f3ba3ddd54 move buy_price and sell_price to plotting script 2017-11-21 20:41:49 +01:00
gcarq 65ce948b0b catch ValueErrors from analyze_ticker (fixes #123) 2017-11-21 20:37:29 +01:00
gcarq 383a9f6eeb catch BaseException to force stdout flush when process dies 2017-11-21 20:24:52 +01:00
gcarq 5d934cd5b6 enhance open order formatting in status handle 2017-11-20 23:33:52 +01:00
gcarq 788cda4925 add missing import 2017-11-20 22:26:32 +01:00
gcarq 55a69e4a45 use normal program flow to handle interrupts 2017-11-20 22:15:19 +01:00
gcarq 86b6c6f334 version bump 2017-11-20 20:01:10 +01:00
gcarq cd5afd6ff4 use jsonschema regex pattern for whitelist format and enhance validation error messages (closes #120) 2017-11-20 19:37:25 +01:00
Janne Sinivirta d88cc084e6 align numbers in hyperopt print out (#119) 2017-11-20 10:22:11 +01:00
Jeff Pipas 5deaebf0c2 Tests now use UTC time with arrow instead of datetime (#117)
* fixing tests to use arrow-utc

* removing datetime import
2017-11-19 04:58:35 +01:00
gcarq 19734ad863 set bootstrap_retries to infinite (fixes #113) 2017-11-18 22:23:05 +01:00
gcarq b16ccb9919 handle requests exception in validate_pairs 2017-11-18 22:22:45 +01:00
gcarq d41837817c move logging to freqtrade.rpc 2017-11-18 21:43:21 +01:00
gcarq 3ab14dfe39 add middleware to expose common functionality for multiple rpc implementations 2017-11-18 21:30:31 +01:00
Michael Egger 4a91ecd91a
Merge pull request #115 from gcarq/pylint_cleanups
Pylint cleanups
2017-11-18 16:00:21 +01:00
Samuel Husso a3da2911e8
Merge pull request #114 from gcarq/new_algo
New buy strategy
2017-11-18 13:09:40 +02:00
Janne Sinivirta 6f5b418f0b small balancing to hyperopt objective 2017-11-18 10:24:18 +02:00
Janne Sinivirta 37a74b38ba more little pylint fixes 2017-11-18 10:09:19 +02:00
Janne Sinivirta 9ab81a987d fix pylint warnings in test_main.py 2017-11-18 09:58:55 +02:00
Janne Sinivirta 4b08e3d571 fix pylint warnings in __init__ files 2017-11-18 09:58:29 +02:00
Janne Sinivirta 187fea0c28 disable bunch of meaningless pylint warnings 2017-11-18 09:45:01 +02:00
Janne Sinivirta 4e54b27398 use parentheses for multiline string instead of backslash 2017-11-18 09:44:28 +02:00
Janne Sinivirta aced5cc3ba rename variable to remove Mypy warning of type error 2017-11-18 09:43:42 +02:00
Janne Sinivirta 669ec30413 remove unused import 2017-11-18 09:34:57 +02:00
Janne Sinivirta 0082b7abdd add missing module and class docstring 2017-11-18 09:34:32 +02:00
Janne Sinivirta 7903f3a546 fix test name 2017-11-18 09:19:22 +02:00
Janne Sinivirta ec75586bdd new buy strategy 2017-11-18 08:45:57 +02:00
Janne Sinivirta df9902d6a4
Merge pull request #107 from gcarq/feature/add-backtesting-subcommand
add backtesting subcommand and refresh test data
2017-11-18 08:13:42 +02:00
Janne Sinivirta 315919cdd6 fix platform dependent bug in argparse test 2017-11-18 08:07:37 +02:00
gcarq 63c95a3546 modify trade life cycle (should fix #112) 2017-11-17 20:17:29 +01:00
gcarq 59d04d1d0c catch TelegramError (fixes #113) 2017-11-17 19:49:03 +01:00
gcarq 14de46576b use load_backtesting_data 2017-11-17 18:23:40 +01:00
gcarq bdff29a472 remove code duplicates 2017-11-17 18:17:59 +01:00
gcarq 8655c6c264 reduce backtest data samples to 10 2017-11-17 18:15:25 +01:00
gcarq 3f4e4a23a0 add argparse handling tests 2017-11-17 18:15:24 +01:00
gcarq b682262486 refactor argparse handling 2017-11-17 18:15:24 +01:00
gcarq 5be7be6189 adapt tests 2017-11-17 18:15:24 +01:00
gcarq 3475a07522 fetching new testing data for oneMin and fiveMin intervals 2017-11-17 18:15:24 +01:00
gcarq fb7ea169d4 fix some formatting issues 2017-11-17 18:13:34 +01:00
gcarq 5469293e5f use tabulate to format backtesting result 2017-11-17 18:13:02 +01:00
gcarq 9b644b0305 add --ticker-interval 2017-11-17 18:09:55 +01:00
gcarq 0df1404d6a fix typo 2017-11-17 18:09:55 +01:00
gcarq bb4a9ed20f implement backtest subcommand 2017-11-17 18:09:55 +01:00
Janne Sinivirta d89db50465 avoid copy operation due to memory consumption 2017-11-17 12:30:54 +02:00
Janne Sinivirta 632d00e01d move price point calculations out from populate functions 2017-11-17 12:30:03 +02:00
Janne Sinivirta 2a56031cdc remove unnecessary line 2017-11-17 12:30:03 +02:00
Janne Sinivirta 16d412323c add a little snippet to allow running line_profiler with hyperopt 2017-11-16 20:43:24 +02:00
Janne Sinivirta 27a6b29c80 move time diff calculation out of a loop 2017-11-16 20:43:24 +02:00
Janne Sinivirta 5d1f874041 switch ix to loc, ix is apparently deprecated 2017-11-16 20:43:24 +02:00
Janne Sinivirta 174122a09b remove unnecessary calculation 2017-11-16 20:38:59 +02:00
Janne Sinivirta 1b6a60ecb2 refactor backtesting to avoid recalculating indicators in hyperopt 2017-11-16 20:38:46 +02:00
Janne Sinivirta a963f1820c rename should_sell to min_roi_reached 2017-11-16 16:53:34 +01:00
Janne Sinivirta b9983149ef plug sell strategy to backtesting 2017-11-16 16:53:34 +01:00
Janne Sinivirta c1ef3f526c remove unnecessary comparison 2017-11-16 16:53:34 +01:00
Janne Sinivirta 6b7afb80b2 fix failing test 2017-11-16 16:53:34 +01:00
Janne Sinivirta 0b8afa12e9 exit strategy after roi check 2017-11-16 16:53:34 +01:00
Janne Sinivirta 1db0a7d4ce populate sell signal 2017-11-16 16:53:34 +01:00
Janne Sinivirta c12a9ebd92 make signal getting parametrized 2017-11-16 16:53:34 +01:00
gcarq d86dcc4752 check if result exists in get_ticker (fixes #106) 2017-11-16 16:39:06 +01:00
gcarq 0bc96241d5 rework exception handling (fixes #108) 2017-11-16 16:14:43 +01:00
gcarq 2e953a937d version bump 2017-11-16 00:40:36 +01:00
gcarq 4e05691cab check if balance list is empty (fixes #105) 2017-11-16 00:01:47 +01:00
gcarq b5f58724a0 get_ticker_history: check if result is set (fixes #103) 2017-11-15 23:16:54 +01:00
gcarq b83309b55d reduce calls_per_second to 1 2017-11-15 23:16:39 +01:00
gcarq e8101a6da5 default BaseVolume to 0.0 if null 2017-11-14 17:48:19 +01:00
gcarq dd9cb008fb refresh whitelist based on wallet health (fixes #60)
Refreshs the whitelist in each iteration based on the wallet health,
disabled wallets will be removed from the whitelist automatically.
2017-11-13 21:34:47 +01:00
gcarq 81f7172c4a sanitize get_ticker_history (fixes #100) 2017-11-13 19:54:09 +01:00
Michael Egger bab59fbacd
Merge pull request #99 from gcarq/more_triggers2
Expanding hyperopt
2017-11-13 12:11:15 +01:00
Janne Sinivirta 0f0b10b6cc adjust search spaces 2017-11-13 07:28:56 +02:00
Janne Sinivirta 8e68c5358e clean up prints during hyperopt 2017-11-12 09:44:31 +02:00
Janne Sinivirta 660f01b514 add hilbert transform leadsine trigger 2017-11-12 09:13:54 +02:00
Janne Sinivirta 13537e3ce4 add short ema guard to hyperopt 2017-11-12 08:45:32 +02:00
Janne Sinivirta 2963a90008 add stochastics trigger 2017-11-12 08:38:52 +02:00
Janne Sinivirta 15b20b83fa optimize hyperopt objective function 2017-11-12 08:30:58 +02:00
gcarq 1c3c316e45 reduce calls_per_second 2017-11-11 21:29:35 +01:00
gcarq 517879382b Add argument for dynamic-whitelist handling
If --dynamic-whitelist is passed the whitelist in the config file
is ignored. It gets automatically refreshed every 30 minutes and
currently selects the 20 topmost BaseVolume markets
2017-11-11 19:20:53 +01:00
gcarq bcd3340a80 implement get_market_summaries 2017-11-11 19:20:16 +01:00
gcarq 12ae1e111e use get_candles from python-bittrex 2017-11-11 17:14:55 +01:00
gcarq d3b3370f23 Add configurable throttle mechanism 2017-11-11 16:47:19 +01:00
gcarq 8f817a3634 use TTLCache for get_ticker_history 2017-11-11 15:29:31 +01:00
Janne Sinivirta cf79b15651 use discrete values for filters 2017-11-11 11:50:10 +02:00
Janne Sinivirta a4284351e3 fix green_candle 2017-11-11 11:22:12 +02:00
Janne Sinivirta 906caf329b remove two unused or poorly performing indicators 2017-11-11 11:22:12 +02:00
Janne Sinivirta 3db13fae13 add green_candle guard 2017-11-11 11:22:12 +02:00
Janne Sinivirta 274972f7af make faststoch trigger use crossed_above helper 2017-11-11 11:22:11 +02:00
Janne Sinivirta 83fd27e031 add sar reversal as trigger 2017-11-11 11:22:11 +02:00
gcarq 3126dcfcea drop sleep_time and use python-bittrex request delay 2017-11-10 23:39:49 +01:00
Michael Egger 72aec6c320
Merge pull request #96 from gcarq/feature/add-argparse
add argparse and implement basic arguments
2017-11-10 18:04:03 +01:00
gcarq b709ccbf53 enhance logging messages 2017-11-10 17:56:03 +01:00
gcarq 0de211674d version bump 2017-11-09 23:52:34 +01:00
gcarq f7a27c156c add /version command handler 2017-11-09 23:51:32 +01:00
gcarq 98f11fc7bb fix sqlite threading issue 2017-11-09 23:45:22 +01:00
gcarq 013e13e546 use tabulate for /count 2017-11-09 23:45:03 +01:00
gcarq 6ff26c561a move plot_dataframe to scripts/ folder 2017-11-09 22:29:23 +01:00
gcarq c81358c291 remove MagicBot 2017-11-09 22:11:02 +01:00
gcarq ed34d9f22f add tests for /forcesell all 2017-11-09 22:08:28 +01:00
gcarq ee05561ef3 refactor forcesellall to /forcesell all 2017-11-09 22:07:51 +01:00
Eoin 69ae99406a add telegram handler for forcesellall 2017-11-09 21:52:08 +01:00
gcarq 0cfbb56b6c enhance and test pair validation 2017-11-09 21:47:47 +01:00
gcarq 991b43b7e5 version bump 2017-11-09 20:55:45 +01:00
gcarq a0fa6abcdc use in-memory db for dry_run 2017-11-09 20:26:52 +01:00
gcarq 86501b43c0 adjust message formatting 2017-11-09 20:25:17 +01:00
gcarq 80592970e9 add more tests 2017-11-09 20:02:41 +01:00
gcarq fafbb0abfe update python-bittrex to 0.2.0 2017-11-09 00:31:53 +01:00
gcarq 31c03cdce1 fix linter issue 2017-11-08 22:44:32 +01:00
gcarq e01c85bb3a add argparse and implement basic arguments 2017-11-08 22:43:47 +01:00
gcarq a1b91ad1ea remove unneeded wrapper function 2017-11-08 21:17:51 +01:00
gcarq 6ce6018bb7 add more tests 2017-11-07 22:27:44 +01:00
gcarq 18eec0f4d4 catch BaseException in command_handler 2017-11-07 22:27:16 +01:00
gcarq 32327c45c2 set close_date on sell_order update 2017-11-07 22:26:44 +01:00
gcarq ba485fe2b2 return state changes 2017-11-07 22:26:08 +01:00
gcarq f8084b117e apply pylint recommendations 2017-11-07 20:13:36 +01:00
gcarq abdddd5193 define common fixtures 2017-11-07 20:12:56 +01:00
gcarq 8eeb02e592 make ticker interval configurable 2017-11-07 18:59:47 +01:00
gcarq 8555271102 remove unneeded header from get_ticker_history 2017-11-07 18:49:16 +01:00
gcarq d921bae75e set executable bit 2017-11-07 18:42:40 +01:00
gcarq a1388ef296 add tick_interval to get_ticker_history as an optional parameter 2017-11-07 18:41:48 +01:00
gcarq ddc7c94a1d Merge branch 'develop' of https://github.com/gcarq/freqtrade into develop 2017-11-07 18:40:56 +01:00
Michael Egger e36444df27
Merge pull request #95 from gcarq/improve_backtests
Share pytest fixtures. Cache testfile loading.
2017-11-07 18:40:00 +01:00
Janne Sinivirta 0395c92260 move testdata file loading to pytest fixture 2017-11-07 19:24:51 +02:00
gcarq f03395b90d force python3 via shebang 2017-11-07 17:54:44 +01:00
gcarq 20d5628786 catch broader RequestException instead ConnectionError 2017-11-07 17:45:13 +01:00
gcarq 57e089efd3 fix NoneType issue in status command handle 2017-11-07 17:39:57 +01:00
Janne Sinivirta fbbde9de25 put shared fixtures to conftest.py 2017-11-07 17:29:00 +02:00
Samuel Husso 3d42b9fd75
Merge pull request #94 from gcarq/autopep
autoformat with autopep8
2017-11-06 19:41:57 +02:00
Janne Sinivirta adfae9e75c autoformat with autopep8 2017-11-06 19:17:23 +02:00
gcarq 117dfbb563 fix wording 2017-11-06 18:15:33 +01:00
Michael Egger ae0b49f532
Merge pull request #92 from gcarq/feature/rework-dry_run-mode
rework dry_run
2017-11-06 16:54:55 +01:00
gcarq a37ea13fd1 catch RuntimeError earlier
This makes it possible to to restart the bot, if there are temporary
server issues.
2017-11-06 01:03:37 +01:00
gcarq cc29126d61 make download_backtest_data.py platform independent 2017-11-06 00:16:24 +01:00
gcarq 810f2f9243 drop minimum_date from get_ticker_history 2017-11-06 00:06:59 +01:00
gcarq 60e651cb4c only return data['result'] from get_ticker_history 2017-11-05 23:47:59 +01:00
gcarq 472ce8566d enhance bittrex exception messages 2017-11-05 22:47:55 +01:00
gcarq d12dba16db simplify status command 2017-11-05 18:35:32 +01:00
Sébastien Moreau 3884cfb809
Merge branch 'develop' into feature/advanced-status-command 2017-11-05 10:32:53 -05:00
Sebastien Moreau caa6e22e53 Adds unit tests 2017-11-05 10:26:03 -05:00
gcarq 19f6ff330c adapt float precision asserts 2017-11-05 16:21:13 +01:00
gcarq 8fdd127f72 fix float precision rendering 2017-11-05 16:13:55 +01:00
gcarq 0a5eba64e2 do not remove order from dry_run order list 2017-11-05 16:13:20 +01:00
gcarq b82c4444b2 apply correct typehint 2017-11-05 16:12:58 +01:00
gcarq 95a17b8f98 dry_run: remove mock value notice 2017-11-05 15:35:15 +01:00
gcarq 325f72fd91 dry_run: keep list of open orders 2017-11-05 15:21:16 +01:00
Janne Sinivirta 29b173f4e7 only run four evals of hyperopt, just to check it works 2017-11-05 09:28:42 +02:00