Commit Graph

647 Commits

Author SHA1 Message Date
Samuel Husso ca8cab0ce9 Hyperopt to handle SIGINT by saving/reading the trials file 2018-01-09 12:25:58 +02:00
Janne Sinivirta f7dd5e6396 use sensible value for stoploss in test 2018-01-08 22:00:10 +02:00
Janne Sinivirta dd2ccea6e5 fix wrong range in stoploss search space 2018-01-08 21:59:46 +02:00
Stephen Dade 26b8661325 Added missing fiat currencies to config 2018-01-08 18:51:04 +11:00
Janne Sinivirta 1ae73d7da2 Merge branch 'develop' into hyperopt_stoploss 2018-01-08 07:49:44 +02:00
Samuel Husso d8e692c9a3
Merge pull request #339 from gcarq/upgrade_flake8
Upgrade flake8
2018-01-08 07:34:45 +02:00
Gerald Lonlas ca05d1f79e Fix for flake8 2018-01-07 21:08:12 -08:00
Janne Sinivirta 9dd38aebe0 add stoploss to the hyperopt parameters 2018-01-07 21:08:12 -08:00
Gerald Lonlas 9c21077dc1 Fix hypeopt issue when no result found 2018-01-07 17:53:21 -08:00
Jean-Baptiste LE STANG bba711c89a with flake8 ... 2018-01-07 23:35:16 +01:00
Jean-Baptiste LE STANG 5fbaa6d4cf rebasing for ta-lib dependency 2018-01-07 23:30:37 +01:00
Jean-Baptiste LE STANG 5b1f84f816 without debug print 2018-01-07 23:29:19 +01:00
Jean-Baptiste LE STANG 65127533ef fixing unittest 2018-01-07 23:29:19 +01:00
Jean-Baptiste LE STANG 05ca00b623 Add a unitest and fix pep8 2018-01-07 23:26:45 +01:00
Jean-Baptiste LE STANG 4b6d855e63 fix a typo in the description of get_ticker 2018-01-07 23:26:45 +01:00
Jean-Baptiste LE STANG 7d7752efbf really fixing 2018-01-07 23:26:45 +01:00
Jean-Baptiste LE STANG ce6f6ab9fe fixing refresh argument ... 2018-01-07 23:26:45 +01:00
Jean-Baptiste LE STANG 3a0569cfd3 force refresh is the value has never been set 2018-01-07 23:26:45 +01:00
Jean-Baptiste LE STANG 7d21015b52 get_ticker can return a cached value 2018-01-07 23:26:45 +01:00
Jean-Baptiste LE STANG 4c8ae3a7af without debug print 2018-01-07 23:15:33 +01:00
Jean-Baptiste LE STANG 2773ce7ebf rebasing against develop 2018-01-07 21:34:42 +01:00
Jean-Baptiste LE STANG f4e4104d14 Fixing unitest 2018-01-07 21:26:43 +01:00
Jean-Baptiste LE STANG b722a89276 fixing unittest 2018-01-07 21:24:17 +01:00
Janne Sinivirta 5be733a174 fix flake8 warnings 2018-01-07 14:37:09 +02:00
Jean-Baptiste LE STANG 975a785e68 Add a unitest and fix pep8 2018-01-07 10:14:11 +01:00
Jean-Baptiste LE STANG 6be607e528 fix a typo in the description of get_ticker 2018-01-07 10:14:11 +01:00
Jean-Baptiste LE STANG 80c4dea875 really fixing 2018-01-07 10:14:11 +01:00
Jean-Baptiste LE STANG 9e7a4c3717 fixing refresh argument ... 2018-01-07 10:14:11 +01:00
Jean-Baptiste LE STANG c72e9c3cef force refresh is the value has never been set 2018-01-07 10:14:11 +01:00
Jean-Baptiste LE STANG 8175eaa48a get_ticker can return a cached value 2018-01-07 10:14:11 +01:00
kryofly 890083ce7f Merge branch 'develop' into datadir 2018-01-07 10:00:35 +01:00
Gérald LONLAS 454cd16df4
Merge pull request #331 from gcarq/fix/work_without_network
Fix _coinmarketcap that fails backtesting and Hyperopt when no network
2018-01-06 21:33:24 -08:00
Gérald LONLAS 7e233b536c
Merge pull request #323 from gcarq/add_indicators
Add 28 optional indicators populate_indicators()
2018-01-06 21:30:27 -08:00
Gerald Lonlas bf4b2dc05e Fix _coinmarketcap that fails backtesting and Hyperopt when no network 2018-01-06 21:21:28 -08:00
Gerald Lonlas b3ea0f4ec5 Make readable hyperopt best parameters result 2018-01-06 17:19:48 -08:00
Gérald LONLAS 2432c9f290
Merge pull request #324 from kryofly/parse-common
Parsing: common options, reduce function scope
2018-01-06 15:11:30 -08:00
kryofly 60ed4b9d1e --datadir <path> argument
This argument enables usage of different backtesting directories.
Useful if one wants compare backtesting performance over time.
2018-01-06 23:24:35 +01:00
Gerald Lonlas 83a999d16e Change Bollinger bands for qtpylib.bollinger_bands 2018-01-06 13:19:45 -08:00
Janne Sinivirta a29f3de025 fix variable names to pythonic 2018-01-06 21:21:56 +02:00
Janne Sinivirta 6ab0ec6aac only apply profit guarantee to sell_signal 2018-01-06 21:18:57 +02:00
kryofly 984204e380 let parse_args only parse, no continuation
This removes parse_args() from the call stack
It pushes down the test-mocking one level [from parse_args() to main()].
Moves parse_args into a more generic 'modules' parsing direction.
2018-01-06 11:21:09 +01:00
Gerald Lonlas 297166fcb9 Add 29 optional indicators populate_indicators() 2018-01-06 01:11:01 -08:00
Janne Sinivirta bcde377019
Merge pull request #321 from gcarq/log-exceptions
Log exceptions
2018-01-06 10:14:57 +02:00
Samuel Husso 2d39759d34 pep8 fix 2018-01-06 10:08:25 +02:00
kryofly e4500af736 test case for common CLI parsing
Rearrange current tests.
2018-01-06 08:27:44 +01:00
Janne Sinivirta 41933c31ca
Merge pull request #315 from kryofly/tests_jan05
tests cover more backtesting
2018-01-06 09:26:20 +02:00
kryofly 47675943ee split common command line args parsing
A new function parse_args_common() that only parses
common command line options. The returned object can
be composed to parse more arguments.
As is done by parse_args().
2018-01-06 07:39:05 +01:00
Gérald LONLAS 74a708b794
Merge pull request #312 from gcarq/fix_backtesting_header
Fix Backtesting header alignment
2018-01-05 19:30:04 -08:00
Janne Sinivirta 833c7f21af
Merge pull request #306 from stephendade/timeoutfix
Unfilled order timeouts - now using timestamps from exchange
2018-01-05 18:04:27 +02:00
Samuel Husso ae967a4f40 add test to handle analyze_ticker raising exception 2018-01-05 13:43:56 +02:00
Samuel Husso be8506b45e log exceptions, catch *all* exceptions when analysing ticker 2018-01-05 12:18:44 +02:00
kryofly 79fcd0b06c tests cover more backtesting 2018-01-05 10:44:10 +01:00
kryofly 421ccb23d3 split load tickerdata function 2018-01-05 10:20:48 +01:00
seansan f1969175cd
Add CCI 2018-01-05 08:40:03 +01:00
Gerald Lonlas 7fd6d089c0 Fix Backtesting header alignment 2018-01-04 23:14:10 -08:00
Gerald Lonlas 90017998fc Use named argument for backtest() 2018-01-04 22:27:55 -08:00
Stephen Dade ebe95ba1e1 Open order times should be strings, not datetime objectsy 2018-01-05 15:12:13 +11:00
Stephen Dade d4fcc38a57 Unfilled order timeouts - now using timestamps from exchange 2018-01-05 01:39:01 +11:00
Janne Sinivirta c60ef181dc
Merge pull request #297 from jblestang/add_stoploss_and_use_sell_profit_only_to_hyperopt
Add stoploss, sell_only_profit and use_sell_signal conf parameters to backtest function
2018-01-04 13:33:01 +02:00
Stephen Dade b5d2cfecc7 Unfilled Order timeout - better documentation and variable naming 2018-01-04 10:35:57 +11:00
Jean-Baptiste LE STANG 75955fcc04 Add a unitest and fix pep8 2018-01-03 17:58:08 +01:00
Jean-Baptiste LE STANG 050e73d960 fix a typo in the description of get_ticker 2018-01-03 17:51:01 +01:00
Jean-Baptiste LE STANG 0f2d3adbbc applying pep8 2018-01-03 17:36:40 +01:00
Jean-Baptiste LE STANG ea6a1c629d fixing pep8 compliance 2018-01-03 11:50:30 +01:00
Jean-Baptiste LE STANG eb53a796e2 pep8 compliance 2018-01-03 11:35:54 +01:00
Jean-Baptiste LE STANG 2d273a8509 Update unittests 2018-01-03 11:30:24 +01:00
Stephen Dade b4d6250d55 Added order timeout handling 2018-01-03 21:22:35 +11:00
Jean-Baptiste LE STANG 45f2d01895 - add a profit/loss counter
- the use of the sell_signal is conditional now (taken from the config)
2018-01-03 11:19:46 +01:00
Jean-Baptiste LE STANG c176ace889 Adding sell_profit_only and stoploss in hyperopt 2018-01-03 10:56:18 +01:00
Gérald LONLAS 9b09b5aa29
Merge pull request #291 from gcarq/backtesting_speed_opt
Backtesting speed optimizations
2018-01-02 23:35:47 -08:00
Gérald LONLAS 4a717f3df8
Merge pull request #294 from jblestang/add_trades_count_in_performance
Add trades count foreach pair in performance command
2018-01-02 23:03:30 -08:00
Samuel Husso fd5497cfc7
Merge pull request #265 from gcarq/feature/experimental/force_profit_sell
Add experimental feature to sell only if we make a profit
2018-01-03 08:14:54 +02:00
Jean-Baptiste LE STANG 01b49dc502 Merge branch 'develop' into add_trades_count_in_performance 2018-01-03 00:06:56 +01:00
Jean-Baptiste LE STANG fbb19e451d Adding the number of trades for each traded pair in the performance command 2018-01-03 00:06:50 +01:00
Jean-Baptiste LE STANG a1ffa4497d Merge branch 'develop' into fix_issue_278 2018-01-02 23:12:21 +01:00
Jean-Baptiste LE STANG e69f9dd029 Bad unittest detected reading coverage report, rewritten and bug found 2018-01-02 23:00:03 +01:00
Janne Sinivirta fed3024302 rewrite get_timeframe in backtesting 2018-01-02 21:54:31 +02:00
Janne Sinivirta dc2f048c98 make tuples smaller in backtesting loops 2018-01-02 21:52:47 +02:00
Samuel Husso f4ccd4609b
Merge pull request #284 from jblestang/fix_issue_283
fixing the sorting issue in MarketSummary when using --dynamic-whitelist (issue #283)
2018-01-02 21:00:20 +02:00
Janne Sinivirta 82e9ed2ac2 shorten table title to match table length 2018-01-02 17:53:47 +02:00
Janne Sinivirta ae52880f81 improve backtesting result formatting 2018-01-02 17:39:02 +02:00
Jean-Baptiste LE STANG 90236fb537 Fixing error log on inactive wallet 2018-01-02 15:17:23 +01:00
Jean-Baptiste LE STANG 55d0d27756 message too long, removing URL for now 2018-01-02 14:55:31 +01:00
Jean-Baptiste LE STANG d849694a70 Adding URL to market graph and number of trades/pair in /performance commande 2018-01-02 14:43:38 +01:00
Jean-Baptiste LE STANG 29987c3ff6 Adding the number of trades in the performance display 2018-01-02 14:32:13 +01:00
Jean-Baptiste LE STANG 5f696a0cce really fixing 2018-01-02 14:13:55 +01:00
Jean-Baptiste LE STANG 90d3c09536 fixing refresh argument ... 2018-01-02 14:13:40 +01:00
Jean-Baptiste LE STANG 3f65fc014e flake8 on tests 2018-01-02 13:46:16 +01:00
Jean-Baptiste LE STANG 5344b711ea Add two more unit tests for covering pair that are in a blacklist, and unknown pairs in the conf 2018-01-02 13:42:10 +01:00
Jean-Baptiste LE STANG a3e827c144 with flake8 code review 2018-01-02 12:18:26 +01:00
Jean-Baptiste LE STANG 52e267e864 fix for issue #283 2018-01-02 12:04:47 +01:00
Jean-Baptiste LE STANG 165781a545 force refresh is the value has never been set 2018-01-02 11:00:22 +01:00
Jean-Baptiste LE STANG e10a3d1f9d get_ticker can return a cached value 2018-01-02 10:56:42 +01:00
jblestang 7a2e9ef535 Add fiat display in sell msg (#271)
* Display amount (fiat currency) in the sell message
* Display also base currency
* Adding more info in Buy Message, the stake amount, and the amount using FIAT Converter
* fix display style and width
* Fixing flake8
2018-01-01 14:21:43 -08:00
Jean-Baptiste LE STANG 0e0d613191 Removing tilde and change profit to loss when negative profit is made 2018-01-01 20:18:38 +01:00
Samuel Husso de68209f3b Revert "Make get_signals async. This should speed up create_trade calls by at least 10x. (#223)" (#275)
This reverts commit 6768658300.
See details in #PR266
2018-01-01 19:32:58 +01:00
Gerald Lonlas 714d77dbd8 Add expiremental feature to sell only if we make a profit 2017-12-30 18:14:10 -08:00
Gérald LONLAS 9803130848
Merge pull request #259 from gcarq/fix/issue-248
Fix issue #248: missing configuration when executing /forcesell
2017-12-30 17:28:16 -08:00
Jean-Baptiste LE STANG 68f81b2abb autopep8 is going to be my new friend 2017-12-30 15:55:49 +01:00
Jean-Baptiste LE STANG 4945331093 Fixing the positional parameter naming + unit tests updated 2017-12-30 15:43:22 +01:00
jblestang 8411844d7e Implement pair_blacklist functionality (#257)
* Adding an optional black_list of pairs not to be traded

* applying the blacklist also when not using --dynamic-whitelist

* fix error retrieving pair in conf

* Refactoring the handling of whitelist among the various functions

* unit test to verify that black listed pairs are being removed from the pair_whitelist

* Fixing newly added unit tests in develop

* fixing flake8 code review

* fix code review from @garcq
2017-12-30 14:15:07 +01:00
Janne Sinivirta 00415d66a2
Merge pull request #260 from gcarq/increase_code_coverage
Increase code coverage
2017-12-30 14:02:33 +02:00
kryofly f7398e615a Improve backtesting tests (#256)
* test bugfix dataframe trimming

* flake8 (as usual)

* tests backtesting cleanup and bugfix

* flake8

* test backtesting::start()

* tests cleanup set() usage

* tests: add missing assert
2017-12-30 11:55:23 +01:00
Gerald Lonlas e81a9cbb17 Increase code coverage
Change log:
* Increase code coverage for test_exchange.py
* Move Exchange Unit tests files tests/exchange/
* Move RPC Unit tests files tests/rpc/
2017-12-29 23:37:02 -08:00
Gerald Lonlas c8c8c626b0 Fix issue #248: missing configuration when executing /forcesell
This is not a beautiful workaround, I am not proud of it,
but a redesigning of main.py and telegram.py will be
necessary for a better integration. Any better solution
is welcome.
2017-12-29 20:03:12 -08:00
kryofly 37613fc056 flake8 2017-12-29 17:53:58 +01:00
Janne Sinivirta 133c467cf4
Merge branch 'develop' into tests_dec28 2017-12-29 16:33:12 +02:00
Janne Sinivirta f2ce367cec
Merge branch 'develop' into sell_signal 2017-12-29 16:26:23 +02:00
kryofly 3e0458da7d flake8 2017-12-29 09:40:24 +01:00
Gerald Lonlas 0d605d2396 Refactor Optimize tests, and add more unit tests 2017-12-28 22:32:48 -08:00
Janne Sinivirta 145583f0b7
Merge pull request #244 from jblestang/fix_daily_profit
Fixing daily profit,
2017-12-29 06:05:25 +02:00
kryofly 847dde0d65 execute sell if get_signal OR ROI reached 2017-12-29 00:07:54 +01:00
kryofly ab112581a7 tests: anal stretching to accomodate flake8 2017-12-28 20:05:33 +01:00
kryofly f48f5d0f31 tests for dataframe, whitelist and backtesting 2017-12-28 15:58:19 +01:00
Janne Sinivirta 0abf0b0e39
Merge pull request #242 from gcarq/backtesting-unittests
Backtesting and hyperopt unit tests
2017-12-28 12:45:28 +02:00
Janne Sinivirta a36fd00f6a also print dot when hyperopt eval result is fail 2017-12-28 06:40:11 +02:00
Janne Sinivirta 7f44ba6df4 unit tests for optimize.hyperopt 2017-12-28 06:39:56 +02:00
Janne Sinivirta 7b0beb0afa cleanups 2017-12-28 06:36:18 +02:00
Janne Sinivirta ae0a1436e2 match test files to prod files for backtesting/hyperopt 2017-12-28 06:35:09 +02:00
Jean-Baptiste LE STANG 8537e9f40f CI flake8 error 2017-12-27 21:33:42 +01:00
Jean Baptiste LE STANG d61d88559c Fixing daily profit, taking into account the time part of the date (removing it in fact) 2017-12-27 21:06:05 +01:00
Janne Sinivirta 9b4c0f01f2 more unit tests for backtesting 2017-12-27 17:39:54 +02:00
Gérald LONLAS 6c8253a4f5 Add more unittest (#241) 2017-12-27 11:41:11 +01:00
Janne Sinivirta dcd0a0ec61
Merge pull request #239 from glonlas/feature/value_in_fiat
Display profits in fiat
2017-12-27 11:19:38 +02:00
Gerald Lonlas ff6b0fc1c9 Display profits in fiat 2017-12-26 19:44:19 -08:00
Michael Egger a514b92dcf
catch MIN_TRADE_REQUIREMENT_NOT_MET as non-critical exception (#237)
* add MIN_TRADE_REQUIREMENT_NOT_MET to response validation

* implement test
2017-12-26 09:39:29 +01:00
Janne Sinivirta de33d69eed Lint fixes (#236)
* correct docstring

* add type annotation to trade_count_lock

* fix indentations

* allow globals in hyperopt.py

* fix import order

* simplify asserts

* use proper variable name

* simplify condition

* fix path operation that fails on windows
2017-12-25 12:07:50 +01:00
Janne Sinivirta 9959d53f5e Logging improvements to Hyperopt (#235)
* make log texts go on new line

* remove unnecessary fields from hyperopt log messages

* shorten log text in hyperopt

* consider making zero trades a failed hyperopt eval

* only log from hyperopt when result improves

* remove unnecessary temp variables

* remove unused result data variables

* remove unused import

* fix an outdated comment
2017-12-25 08:18:34 +01:00
Pan Long 6768658300 Make get_signals async. This should speed up create_trade calls by at least 10x. (#223) 2017-12-25 07:01:01 +01:00
Janne Sinivirta 353b0d2d34 balance hyperopt objective to adjusted profit calculations 2017-12-23 19:18:28 +02:00
Janne Sinivirta e644d57dbe log should state profit is in BTC to avoid confusion 2017-12-23 19:00:49 +02:00
Janne Sinivirta 50e7cef5f3 remove commented-out code 2017-12-23 19:00:49 +02:00
Janne Sinivirta 1058820e1b just pass stake_amount instead of the whole config 2017-12-23 19:00:49 +02:00
Janne Sinivirta 24bc3a8390 show more digits for profits 2017-12-23 15:11:19 +02:00
Janne Sinivirta 5309ea3820 use newline for each log result for readability 2017-12-23 15:11:19 +02:00
Janne Sinivirta a063680d32 calculate log line only if really logging 2017-12-23 15:11:19 +02:00
Janne Sinivirta 10cf2ce853 remove unnecessary confusing division 2017-12-23 15:11:19 +02:00
Janne Sinivirta 871357a2e3 just require positive results 2017-12-23 15:11:19 +02:00
Samuel Husso 8d93363655 filter nan values from total_profit and avg_profit 2017-12-23 09:21:04 +02:00
Janne Sinivirta 44a4ff0cb2
Merge branch 'develop' into patch-1 2017-12-22 13:58:13 +02:00
Janne Sinivirta f300af0fe2
Merge pull request #200 from glonlas/fix_fees_calculation
Fix the fee calculation
2017-12-22 13:55:02 +02:00
Gerald Lonlas 41e22657e4 Fix hyperopt when using MongoDB 2017-12-21 19:20:47 -08:00
Gerald Lonlas d258118b0a Fix the fee calculation, backtesting, and hyperopt fee calculation and avg_profit 2017-12-20 20:18:41 -08:00
seansan 4dab39ed9e
add % in status table for profit 2017-12-20 13:58:18 +01:00
Janne Sinivirta c8fb6c4661 More lint fixes (#198)
* autopep fixes

* remove unused imports

* fix plot_dataframe.py lint warnings

* make pep8 error fails the build

* two more line breakings

* matplotlib.use() must be called before pyplot import
2017-12-18 17:36:00 +01:00
Gerald Lonlas d613d63fdc Fix the fee calculation 2017-12-17 23:01:34 -08:00
Samuel Husso ce51749177 fix hyperopt not getting default ticker_interval 2017-12-17 12:34:26 +02:00
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