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
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
gcarq
1daeed4a52
fix assert
2017-11-02 19:00:25 +01:00
gcarq
99724e2458
use Decimal for profit calculation
2017-11-02 19:00:25 +01:00
gcarq
cd18629433
add fee to sqlalchemy model and respecting it in calc_profit
2017-11-02 19:00:25 +01:00
gcarq
41510fdb32
add dry_run for get_balance
2017-11-02 19:00:25 +01:00
gcarq
9cb249610a
adapt dry_run return values
2017-11-02 19:00:25 +01:00
gcarq
543857ddb2
set initial open_rate and amount in create_trade
...
This is mostly needed by dry_run
2017-11-02 19:00:25 +01:00
gcarq
1e5b0e8726
adapt tests
2017-11-02 19:00:25 +01:00
gcarq
0d0d822904
bump dburl to tradesv3
2017-11-02 19:00:25 +01:00
gcarq
9ff4a7b205
refactor _process to update trade state
2017-11-02 19:00:25 +01:00
gcarq
0e96197a94
don't spend the whole coin balance when selling
2017-11-02 19:00:25 +01:00
gcarq
9b9d0250f7
replace get_open_oders() with get_order() and add property for fee
2017-11-02 18:58:55 +01:00
gcarq
4a35676794
rename and exchange instance and mark it as private
2017-11-02 18:58:55 +01:00
gcarq
465c91b9a9
telegram.cleanup: fix NoneType issue when telegram is deactivated
2017-11-02 18:56:57 +01:00
Sebastien Moreau
60249af04c
Removes long format + pylint fixes
2017-11-02 13:25:19 -04:00