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