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
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
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
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
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
Samuel Husso
ae967a4f40
add test to handle analyze_ticker raising exception
2018-01-05 13:43:56 +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
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
0f2d3adbbc
applying pep8
2018-01-03 17:36:40 +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
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
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
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
ae52880f81
improve backtesting result formatting
2018-01-02 17:39:02 +02: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
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
0e0d613191
Removing tilde and change profit to loss when negative profit is made
2018-01-01 20:18:38 +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
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
7f44ba6df4
unit tests for optimize.hyperopt
2017-12-28 06:39:56 +02:00
Janne Sinivirta
ae0a1436e2
match test files to prod files for backtesting/hyperopt
2017-12-28 06:35:09 +02: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
1058820e1b
just pass stake_amount instead of the whole config
2017-12-23 19:00:49 +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
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
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
ae37f49b51
/forcesell: handle trades with open orders
2017-12-16 01:09:07 +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
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
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
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
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
Janne Sinivirta
371e6d99c9
set stoploss to -10%
2017-11-23 18:43:19 +02: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
gcarq
02ca2ed585
implement trade count lock for backtesting
2017-11-21 22:33:34 +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
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
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
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
7903f3a546
fix test name
2017-11-18 09:19:22 +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
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
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
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
6b7afb80b2
fix failing test
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
0bc96241d5
rework exception handling ( fixes #108 )
2017-11-16 16:14:43 +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
Michael Egger
bab59fbacd
Merge pull request #99 from gcarq/more_triggers2
...
Expanding hyperopt
2017-11-13 12:11:15 +01:00