Commit Graph

418 Commits

Author SHA1 Message Date
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