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