Commit Graph

840 Commits

Author SHA1 Message Date
Janne Sinivirta
1eebbebed1 fix assert order 2018-01-26 19:02:25 +02:00
Janne Sinivirta
a5690e707d remove unused parameters 2018-01-26 19:02:25 +02:00
Janne Sinivirta
0ff56c6e8d use uppercase constant 2018-01-26 18:54:15 +02:00
Janne Sinivirta
e14007ced4 sort imports 2018-01-26 18:52:39 +02:00
Janne Sinivirta
42919e8864 give type hint for _CONF 2018-01-26 18:49:14 +02:00
Janne Sinivirta
5505845c6f remove unused method parameter 2018-01-26 18:48:53 +02:00
Janne Sinivirta
95ab7c84bc remove unnecessary else 2018-01-26 18:41:41 +02:00
Janne Sinivirta
f33923c784 fix typings for hyperopt code 2018-01-26 18:32:45 +02:00
Janne Sinivirta
a7a7c37121 add day counter to timeframe 2018-01-26 18:32:45 +02:00
Janne Sinivirta
b7e297ebda remove unused loop variable 2018-01-26 11:50:00 +02:00
kryofly
fe2f779c47 Merge branch 'develop' into plot_profit 2018-01-26 10:07:48 +01:00
Gerald Lonlas
0baffd94a4 Fix test_clean_dry_run_db failing test 2018-01-25 21:05:10 -08:00
Janne Sinivirta
4fe6ae0bae fix search space for min ROI 2018-01-25 22:32:46 +02:00
Janne Sinivirta
42087c9bfe let hyperopt optimize ROI table 2018-01-25 11:12:00 +02:00
Janne Sinivirta
5007165908 add search space for ROI table 2018-01-25 09:34:26 +02:00
Janne Sinivirta
7dc63c06e7
Merge pull request #356 from kryofly/test_coverage
Test coverage
2018-01-25 09:31:06 +02:00
kryofly
30ca078cec test: use pytest fixture 2018-01-24 11:05:27 +01:00
kryofly
a14d9d35c7 tests: run backtest single 2018-01-24 10:32:52 +01:00
Samuel Husso
c968b904de
Merge pull request #429 from gcarq/fix/issue-385
Fix dry_run db issue when open_order_id already exist
2018-01-24 07:25:26 +02:00
Janne Sinivirta
c400d15ed1 rip out hyperopt things from strategy, add indicator populating to hyperopt 2018-01-23 16:56:12 +02:00
Janne Sinivirta
a6cbc1ba16
Merge pull request #400 from gcarq/feature/custom_strategy
Allow custom strategy files
2018-01-23 15:25:18 +02:00
Samuel Husso
b11fe2f814
Merge pull request #424 from gcarq/feat/telegram-sell-msg
Feat/telegram sell msg
2018-01-23 10:59:05 +02:00
Gerald Lonlas
f4298a7323 Fix dry_run db issue when open_order_id exist 2018-01-22 23:23:29 -08:00
Samuel Husso
93bd63cfbe get rid of / replacements, minor edit to outgoing msg 2018-01-23 08:55:22 +02:00
Gerald Lonlas
e220ad5389 Remove useless USDT_BTC filename conversion 2018-01-22 21:40:07 -08:00
Gerald Lonlas
41aa8f18fb Add ticker_interval support in strategy class 2018-01-22 20:51:39 -08:00
Gerald Lonlas
5eb7aa07a1 Update bot version to 0.16.0
This commit is major core upgrade and introduce breaking change.
2018-01-22 20:51:39 -08:00
Gerald Lonlas
eac6e05392 Fix error when config does not have stoploss 2018-01-22 20:51:39 -08:00
Gerald Lonlas
3e8088d99c Avoid hyperopt to fail if a guard was removed from SPACE but still defined in populate_buy_trend() 2018-01-22 20:51:39 -08:00
Gerald Lonlas
1c7da95fed Move hyperopt_trials.pickle to user_data/ 2018-01-22 20:51:39 -08:00
Gerald Lonlas
baae374899 Move hyperopt_conf.py into user_data/ 2018-01-22 20:51:39 -08:00
Gerald Lonlas
be75522507 Fix flake8 2018-01-22 20:51:39 -08:00
Gerald Lonlas
dfd61bbf1d Implement More triggers and guards from PR#394 2018-01-22 20:51:39 -08:00
Gerald Lonlas
c46d78b4b9 Decouple strategy from analyse.py 2018-01-22 20:51:39 -08:00
Janne Sinivirta
f7e979f3ba
Merge pull request #423 from gcarq/feature/Crypto2Fiat_Singleton
Convert CryptoToFiatConverter into a Singleton
2018-01-22 16:24:19 +02:00
Samuel Husso
757a46ab12 ticker_interval as int (instead of string) 2018-01-22 10:39:26 +02:00
Samuel Husso
bce6a7be61 rebase develop and update tests 2018-01-22 09:39:11 +02:00
Samuel Husso
6abbf45042 Update tests to reflect new selling msg 2018-01-22 09:36:56 +02:00
Samuel Husso
ddd62277c2 add total amount of trades to /status 2018-01-22 09:36:56 +02:00
Samuel Husso
bd356f3eb4 when selling, show more information about the trade in the message 2018-01-22 09:36:56 +02:00
kryofly
aec481b6b3 tests: 100% cov bittrex.py 2018-01-22 08:30:00 +01:00
Gerald Lonlas
28b1ecb109 Convert CryptoToFiatConverter into a Singleton
Result in a speed up of the unittest from 60s to 4s

Because it cost time to load Pymarketcap() every time we create
a CryptoToFiatConverter, it worth it to change it into a
Singleton.
2018-01-21 16:41:59 -08:00
Jean-Baptiste LE STANG
c0d3ac5534 With a better unit test thanks @glonlas 2018-01-21 15:02:41 +01:00
Jean-Baptiste LE STANG
960d088deb Fixing the 'BV' key being missing for USDT 2018-01-21 15:02:41 +01:00
kryofly
19ef682250 Merge branch 'develop' into plot_profit 2018-01-21 14:13:08 +01:00
kryofly
6171be4f46 Use dates on plot profit/dataframe
* plot_dataframe also support --timerange
* Both default to tkinter as matplotlib plotting backend
2018-01-21 13:44:30 +01:00
Gerald Lonlas
ad2a5f1717 Remove optimize.load_data() that is called twice 2018-01-20 15:35:13 -08:00
Gerald Lonlas
998081785e Fix the issue get_signal() missing 1 required positional argument: Interval 2018-01-20 15:05:01 -08:00
kryofly
e94e6292e9 Merge branch 'develop' into test_coverage 2018-01-20 22:01:03 +01:00
Gérald LONLAS
d2371b5bac
Merge pull request #391 from jblestang/support_multiple_ticker
Support multiple tickers
2018-01-20 11:02:42 -08:00
Jean-Baptiste LE STANG
f1efaffe81 with fXXXXX8 2018-01-20 19:30:47 +01:00
Jean-Baptiste LE STANG
36797cda30 Merge branch 'develop' into support_multiple_ticker 2018-01-20 19:25:47 +01:00
Jean-Baptiste LE STANG
081d3932b6 Fixing bug report #406 + unit test 2018-01-20 14:44:13 +01:00
kryofly
cf266a67ad Merge branch 'develop' into test_coverage 2018-01-20 10:06:53 +01:00
kryofly
8bbe8a7f95 Merge branch 'develop' into plot_profit 2018-01-20 08:33:28 +01:00
Janne Sinivirta
a3f84d9f21
Merge pull request #409 from gcarq/feature/add_num_trade_daily
Add number of trades in /daily command
2018-01-20 08:23:50 +02:00
Gerald Lonlas
fb110ccfd2 Add number of trades in /daily command 2018-01-19 22:14:31 -08:00
kryofly
e3088647fc Merge branch 'develop' into test_coverage 2018-01-19 08:40:40 +01:00
kryofly
9d75b63a6e Merge branch 'develop' into plot_profit 2018-01-19 07:26:04 +01:00
kryofly
4a9e1cb345 Merge branch 'develop' into backtest-export 2018-01-19 07:02:38 +01:00
Gérald LONLAS
14d16f2574
Merge pull request #357 from kryofly/timeperiod
Timeperiod
2018-01-18 20:26:44 -08:00
Gérald LONLAS
98f808326f
Merge pull request #395 from jblestang/fix_signal_overlaps
Fix signal overlaps
2018-01-18 19:47:55 -08:00
Janne Sinivirta
6cafa9120c
Merge pull request #392 from stephendade/timeoutfix3
Order timeouts - added exception catching and rpc messaging
2018-01-18 10:18:48 +02:00
Jean-Baptiste LE STANG
c9e1fd3fc4 Merge branch 'develop' into support_multiple_ticker 2018-01-17 21:29:36 +01:00
kryofly
423b251467 tests: speed up backtests 2018-01-17 18:19:39 +01:00
toto
b34621fadf fixing default ticker_interval 2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
42a135fbd9 fix typo in API Bittrex 2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
8e5de365a5 Ticker in the conf is now an enum string 2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
658d16c2cd really fixing this stuff ... 2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
3a4ff4c76c fixing a duplicated unit test without config 2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
7b292d5ca3 backtesting takes its ticker_interval from the config file, else from the command line options 2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
2509ce030d Refreshing pair of only selected ticker_interval 2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
15189c28ed fixing pep8 compliance 2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
a0df566b2b fix unitest file for 30 minutes ticker 2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
e2e2005567 Adding 30 minutes, 1 hour, 1 day tickers 2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG
0d709847ee Fixing the doc and and the default value of sell_profit_only to False 2018-01-17 11:31:26 +01:00
Stephen Dade
04be438b35 Better exception handling for check_handle_timedout 2018-01-17 19:51:27 +11:00
toto
5723039637 fXXXXXXk8 2018-01-16 21:21:43 +01:00
toto
6dd48fb820 Adding unitest 2018-01-16 21:18:43 +01:00
toto
12ffbf5047 - get_signal to return both SELL and BUY signal
- _process modified so that we do not sell if we would buy afterwards
- execute_sell modified so that that min_roi_reached is not executed if we would buy afterwards

Veuillez saisir le message de validation pour vos modifications. Les lignes
2018-01-16 20:22:15 +01:00
Janne Sinivirta
c670ccfd37 add trigger +DI crossed above -DI 2018-01-16 18:52:06 +02:00
Janne Sinivirta
8896b39231 add heikenashi reversal bullish trigger to hyperopt 2018-01-16 18:52:06 +02:00
Janne Sinivirta
ce963aae58 add macd < 0 guard to hyperopt 2018-01-16 18:52:06 +02:00
Janne Sinivirta
dc01807b3c switch ema5 trigger to ema3 cross trigger 2018-01-16 18:52:06 +02:00
Janne Sinivirta
fadac5fe4a remove too aggressive trigger 2018-01-16 18:52:06 +02:00
Janne Sinivirta
99260735ae remove broken bbands trigger from hyperopt. add two working bbands triggers 2018-01-16 18:52:06 +02:00
Janne Sinivirta
3e1a70bbb2 enable correct bollinger bands 2018-01-16 18:52:06 +02:00
Janne Sinivirta
fd3568d48f
Merge pull request #393 from gcarq/balancing_hyperopt_2
Balancing hyperopt objective
2018-01-16 18:21:50 +02:00
Janne Sinivirta
501be8a3bc adjust the hyperopt objective function to emphasize profit and allow more variation in trade counts 2018-01-16 16:36:50 +02:00
Janne Sinivirta
38fe7ec7cd adjust default target values for hyperopt 2018-01-16 16:35:48 +02:00
Stephen Dade
01e10014bb Order timeouts - added exception catching and rpc messaging 2018-01-16 22:21:05 +11:00
kryofly
0e58ab7e01 more advanced use of --timerange 2018-01-16 00:15:49 +01:00
kryofly
71bb348698 rename --timeperiod to --timerange 2018-01-15 21:49:06 +01:00
Anton Ermak
5db04b15e7 Balance Estimated BTC - fix test 2018-01-15 12:08:56 +07:00
Anton Ermak
dd9ab5264d Estimated BTC and fiat value for balance 2018-01-15 12:08:42 +07:00
Janne Sinivirta
ec7bfba8df add comment about checking the new total profit logging 2018-01-14 13:11:19 +02:00
Janne Sinivirta
f1e176d35c log total profit in percentages also 2018-01-14 13:10:25 +02:00
Janne Sinivirta
92241baade log the loss value 2018-01-14 13:09:39 +02:00
kryofly
f61012097c Merge branch 'develop' into timeperiod 2018-01-14 10:23:54 +01:00
kryofly
3277e491f1 support download for multiple testdata sets 2018-01-13 17:40:59 +01:00
kryofly
fc2e8b321f test for bittrex to reach 100% cov again 2018-01-13 14:29:16 +01:00
kryofly
a62a5f814a main returns integer instead of sys.exit 2018-01-13 13:16:40 +01:00
kryofly
53447e7ef5 test cleanup 2018-01-13 12:52:02 +01:00
Jean-Baptiste LE STANG
f7a44d1cec Fixing the ticker analysis with null value 2018-01-13 09:50:02 +01:00
Gerald Lonlas
3087ca0823 Update freqtrade version 2018-01-12 22:56:39 -08:00
kryofly
d4008374f6 backtest export: include enter,exit dates 2018-01-12 22:12:00 +01:00
kryofly
48432abff1 remove two-letter options 2018-01-12 19:48:52 +01:00
kryofly
167483f777 plot profit: filter multiple pairs, misc fixes 2018-01-12 19:18:31 +01:00
kryofly
98cf986934 misc options parsing split up 2018-01-12 11:55:58 +01:00
kryofly
05f5a1b0ee Merge branch 'develop' into test_coverage 2018-01-11 19:49:33 +01:00
kryofly
153e11f045 Merge branch 'develop' into timeperiod 2018-01-11 19:45:47 +01:00
kryofly
4781a23809 Merge branch 'develop' into backtest-export 2018-01-11 19:40:42 +01:00
kryofly
ed47ee4e29 backtest export json2 2018-01-11 19:14:11 +01:00
kryofly
27769f0301 uncomplex backtest 2018-01-11 17:45:41 +01:00
kryofly
feb5da0c35 file_dump_json 2018-01-11 15:49:04 +01:00
Samuel Husso
3a902289f1 testdata path to use os.path.join (#360) 2018-01-11 12:58:06 +01:00
Anton Ermak
0d0737d1f6 Resolve conflict 2018-01-11 13:36:56 +07:00
Anton Ermak
bb91fdbaf9 oops, print removed 2018-01-11 13:26:49 +07:00
Anton Ermak
11cbb9188b Set timeout for bittrex only 2018-01-11 12:24:05 +07:00
Janne Sinivirta
c11102cf4a another run of autopep8 2018-01-11 07:08:56 +02:00
Janne Sinivirta
02fcbbb6d2 few flake8 fixes 2018-01-11 07:08:56 +02:00
Janne Sinivirta
0d6051e6f9 formatting 2018-01-11 07:08:56 +02:00
Janne Sinivirta
6a433282dc fix literal comparison 2018-01-11 07:08:56 +02:00
Janne Sinivirta
64530c6196 remove unused variables 2018-01-11 07:08:56 +02:00
Janne Sinivirta
86db6c9084 sort imports 2018-01-11 07:08:56 +02:00
Janne Sinivirta
0abc30401c linter fixes and cleanups 2018-01-11 06:50:36 +02:00
Janne Sinivirta
1b6b0ad9d2 autopep8 2018-01-11 06:50:36 +02:00
Janne Sinivirta
7cdbd550c8
Merge pull request #351 from gcarq/feat/hyperopt-resume
resume hyperopt run
2018-01-11 06:47:05 +02:00
kryofly
b0f3fd7ffb timeperiod argument to backtesting and hyperopt 2018-01-10 23:48:59 +01:00
kryofly
feca87345f refactor 2018-01-10 23:00:40 +01:00
kryofly
f848a5c87d tests optimize load_data 2018-01-10 13:43:03 +01:00
kryofly
0cb57bee0e small refactor of check_handle_timedout 2018-01-10 13:43:00 +01:00
kryofly
f8cc08e2a1 small refactor splitting the _process() 2018-01-10 13:42:59 +01:00
kryofly
ad2328bbd8 tests for exchange 2018-01-10 13:42:58 +01:00
kryofly
d5ca77da97 tests for analyze 2018-01-10 13:42:55 +01:00
Anton Ermak
abcdbcfd39 Set requests default timeout 2018-01-10 17:37:49 +07:00
Samuel Husso
e67c652988 use os.path.join, fix docstrings 2018-01-10 11:50:00 +02:00
kryofly
b9bf5c1118 test: increase coverage of exchange.bittrex 2018-01-09 14:07:50 +01:00
Samuel Husso
ffae0b2cd5 hyperopt: prettyfie best values when receiving SIGINT, use the global TRIALS 2018-01-09 12:37:56 +02:00
Samuel Husso
fe2b0c2862 add unittest to save and read trials file 2018-01-09 12:26:52 +02:00
Samuel Husso
1647e7a0c1 update fix failing tests, unitest that resume hyperopt functionality works 2018-01-09 12:26:52 +02:00
Samuel Husso
b35fa4c9f6 hyperopt: show the best results so far 2018-01-09 12:25:58 +02:00
Samuel Husso
a48840509b Hyperopt: use results from previous runs 2018-01-09 12:25:58 +02:00
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