Commit Graph

450 Commits

Author SHA1 Message Date
Janne Sinivirta 80ef2cfed4
Merge pull request #193 from gcarq/feature/ci-enforce-pep8
CI: enforce PEP8 conform code
2017-12-17 07:42:23 +02:00
Janne Sinivirta 5efc417690
Merge pull request #192 from gcarq/feature/forcesell-handle-open-orders
/forcesell: handle trades with open orders
2017-12-17 07:41:51 +02:00
Gérald LONLAS 14868615d5 Add mock to improve backtesting tests (#194) 2017-12-17 00:24:21 +01:00
Gérald LONLAS 512fcdbcb1 Allow user to update testdata files with parameter --refresh-pairs-cached (#174) 2017-12-16 15:42:28 +01:00
gcarq 95fe0f4dec fix pep8 warnings 2017-12-16 03:39:47 +01:00
gcarq ddd3d2d0a9 ignore cancelled order during trade state update 2017-12-16 02:36:43 +01:00
gcarq cb4ecfd3a3 move function 2017-12-16 01:37:06 +01:00
gcarq f4b59492ab fix NoneType issue 2017-12-16 01:31:15 +01:00
gcarq ae37f49b51 /forcesell: handle trades with open orders 2017-12-16 01:09:07 +01:00
gcarq 6e68315d2c reorder imports 2017-12-15 23:58:21 +01:00
gcarq c1c9dd03ce /daily: fix identation and simplify loops 2017-12-15 23:56:02 +01:00
Gérald LONLAS e00f02b603 Improve telegram /profit command (#188) 2017-12-15 17:19:00 +01:00
Gerald Lonlas 2a2af4878e Update /daily command, reorder telegram menu, limit /daily profit at 8 decimals 2017-12-14 21:18:52 -08:00
Michael Egger bfb3e09d1d
raise ContentDecodingError if bittrex responds with NO_API_RESPONSE (#183) 2017-12-14 20:27:04 +01:00
Gérald LONLAS 2ac8b685d6 Add param for Dry run to use a DB file instead of memory (#182) 2017-12-14 15:10:11 +01:00
Samuel Husso cb09cabbdd
Merge pull request #171 from stephendade/dailymsg
Added daily profit telegram command
2017-12-12 19:42:31 +02:00
Janne Sinivirta 77023c0ecf
Merge pull request #169 from jblestang/fix_ticker_interval
Fix ticker interval
2017-12-12 17:21:55 +02:00
Stephen Dade 0b18c93d19 Daily profit command - better message formatting and minor fixes 2017-12-12 19:41:25 +11:00
Jean-Baptiste LE STANG 0617753a7f Adding a test unit for 1 minute ticker interval 2017-12-11 22:11:06 +01:00
Janne Sinivirta b77fad6e5f
Merge pull request #173 from glonlas/autoselect_top_currencies
Allow to change the number of currencies used by dynamic-whitelist
2017-12-11 18:04:10 +02:00
Gerald Lonlas 90bf6f2d4a Remove unecessary import 2017-12-11 00:07:36 -08:00
Gerald Lonlas ef7646417b Allow to change the number of currencies used by dynamic-whitelist 2017-12-11 00:01:27 -08:00
Janne Sinivirta 7afd8da28f fix a broken unit test due to changing test dataset 2017-12-10 13:56:39 +02:00
Janne Sinivirta 3d532c6015 update backtest data to match pairs in config.json.example 2017-12-10 11:17:01 +02:00
Stephen Dade ccb8c3c352 Added daily profit telegram command 2017-12-10 17:32:40 +11:00
toto 18f01113c2 use the CLI arguments as the ticker interval 2017-12-09 11:51:53 +01:00
toto f7def09dec fix for the ticker interval set by default to 5 2017-12-09 11:39:26 +01:00
Samuel Husso a7cca4985e omit hyperopt output if total_profit doesn't go pass threashold (3) 2017-12-02 01:32:23 +02:00
Samuel Husso 965c075362 disable info logging on hyperopt.tpe 2017-12-02 00:21:46 +02:00
gcarq 0c35e6ad19 minor changes 2017-11-25 03:28:52 +01:00
gcarq e27a6a7a91 add mongodb support for hyperopt parallelization 2017-11-25 02:04:37 +01:00
gcarq 5bf583cba4 remove unused imports 2017-11-25 01:23:18 +01:00
gcarq a23fce519d pretty print hyperopt results 2017-11-25 01:22:36 +01:00
gcarq 9ff1f05e66 add --epochs to hyperopt subcommand 2017-11-25 01:12:44 +01:00
gcarq b9c4eafd96 integrate hyperopt and implement subcommand 2017-11-25 01:04:11 +01:00
gcarq 7fa5846c6b move hyperopt to freqtrade.optimize.hyperopt 2017-11-25 00:30:39 +01:00
gcarq 3b37f77a4d move backtesting to freqtrade.optimize.backtesting 2017-11-24 23:58:35 +01:00
Michael Egger 858d2329e5
add experimental flag support and add use_sell_signal (#143)
* add use_sell_signal to config schema

* check use_sell_signal

* set use_sell_signal to false
2017-11-24 21:58:00 +01:00
Mathieu Favréaux 371ee1e457 In backtesting, ensure we don't buy the same pair again before selling (#139)
* in backtesting, ensure we don't buy before we sell

* no overlapping trades only if max_open_trades > 0

* --limit-max-trades now --realistic-simulation
2017-11-24 21:09:44 +01:00
Geka000 cfbfe90aa0 keyboard markup for telegram bot (#142) 2017-11-24 20:54:50 +01:00
gcarq be6939ee8a use 8 digits of precision for amount and rate in formatting 2017-11-23 20:52:07 +01:00
Janne Sinivirta 371e6d99c9 set stoploss to -10% 2017-11-23 18:43:19 +02:00
Janne Sinivirta c6def418cf
Merge pull request #135 from rybolov/develop
Better buy and sell strategy
2017-11-23 18:25:56 +02:00
Michael Smith 5fce2c5712 Better buy and sell strategy:
Buy if at the low end of normal range and the price is increasing.
Buy into extreme gains regardless of if it's on the low part of the range.
Avoid buying when the price is on a long decrease even if it's low.
Sell anytime the price is above the top end of normal range and the momentum slows.
Sell on an extreme drop.
2017-11-23 22:33:41 +08:00
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
gcarq 264d71e29e fix some pylint warnings 2017-11-04 18:55:41 +01:00
gcarq a873688a44 backtesting: init Trade with Bittrex fee 2017-11-04 18:43:23 +01:00
gcarq 04342acff1 fix typo 2017-11-03 21:37:20 +01:00
gcarq c37df0e70d inform about mocked values with dry_run 2017-11-03 21:36:55 +01:00
gcarq 460dfa1031 fix percentage formating in execute_sell 2017-11-02 19:00:25 +01:00
gcarq 08a1d3ca1d pylint changes 2017-11-02 19:00:25 +01:00