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
gcarq
f34af0ad67
version bump
2017-11-01 01:15:06 +01:00
gcarq
e07904d436
PEP8 linting
2017-10-31 00:36:35 +01:00
gcarq
26468bef83
balance: filter currencies with 0.0 balances
2017-10-31 00:29:22 +01:00
Michael Egger
ea1b1e11ea
Merge pull request #88 from gcarq/reduce_memory_use
...
Reduce memory use in backtesting
2017-10-31 00:28:38 +01:00
Janne Sinivirta
e68e6c0a1a
reuse mock in hyperopt also
2017-10-30 22:31:28 +02:00
Janne Sinivirta
7190226c84
reuse same mock for get_ticker_history, just change return_value
2017-10-30 22:06:09 +02:00
gcarq
6f2915e25e
move qtpylib to vendor folder
...
This is necessary to distribute qtpylib with
freqtrade when you install it globally.
2017-10-30 20:41:36 +01:00
Janne Sinivirta
8da55c3742
move patching of arrow.utcnow to remove 500 unnecessary mock objects
2017-10-30 19:56:53 +02:00
Michael Egger
05111edd04
Merge pull request #87 from gcarq/more_triggers
...
More triggers and guards to hyperopt
2017-10-30 14:43:18 +01:00
Sebastien Moreau
8bdace68f6
Adds options for /status command
2017-10-29 20:51:38 -04:00
Sebastien Moreau
0e1eb20781
Adds /count command
...
Adds /count command
Adds /count command
2017-10-29 18:47:42 -04:00
Michael Egger
4c2dea83c5
Merge pull request #84 from gcarq/telegram/show-balance
...
Telegram command: /show balance
2017-10-29 22:05:10 +01:00
Janne Sinivirta
d066817d0b
removed below_sma and over_sma to wait for better implementation
2017-10-29 21:33:57 +02:00
Janne Sinivirta
a632121368
add macd cross signal trigger to hyperopt
2017-10-29 21:33:57 +02:00
Janne Sinivirta
473d09b5cd
add ema50 and ema100. add long uptrend ema guard to hyperopt
2017-10-29 21:33:57 +02:00
Janne Sinivirta
893738d6f0
add MACD to analyze
2017-10-29 21:33:57 +02:00
Janne Sinivirta
22cfef7d36
add ema5 cross ema10 trigger to hyperopt
2017-10-29 21:33:57 +02:00
Janne Sinivirta
e1bbe1d9a9
adjust indicator ranges in hyperopt
2017-10-29 21:33:57 +02:00
Janne Sinivirta
ec981b415a
add RSI to hyperopt
2017-10-29 21:33:57 +02:00
Janne Sinivirta
57a17697a0
add RSI, MOM, EMA5 and EMA10 to analyze
2017-10-29 21:33:57 +02:00
Samuel Husso
f4fe09ffbf
added get_balances as a abstract method to the interface baseclass
2017-10-29 17:57:57 +02:00
Janne Sinivirta
9b00fc3474
use .ix instead of .loc for small perf boost
2017-10-29 16:28:55 +02:00
Janne Sinivirta
3b1dc36d8a
switch to using itertuples instead of iterrows as it's a lot faster
2017-10-29 16:28:55 +02:00
Janne Sinivirta
4edf8f2079
copy only needed columns before iterating over them
2017-10-29 16:28:55 +02:00
Janne Sinivirta
54987fd9ca
do date parsing while loading json, not later
2017-10-29 16:28:55 +02:00
Janne Sinivirta
da9c3e7d7d
remove leftover dates from removing date filtering
2017-10-29 16:28:55 +02:00
Samuel Husso
4f6c3f94e0
added tests to /balance, minor cleanup
2017-10-29 10:10:00 +02:00
Janne Sinivirta
25d6d6bbe5
remove unused imports from test_hyperopt
2017-10-28 15:32:29 +03:00
Janne Sinivirta
649781d823
store result strings, display best result in summary. switch to a lot better objective algo
2017-10-28 15:26:22 +03:00
Janne Sinivirta
08ca7a8166
change print to format so result can be used in hyperopt Trials
2017-10-28 15:26:22 +03:00
Samuel Husso
dd78c62c3d
added new command to return balance across all currencies
2017-10-28 08:59:43 +03:00
gcarq
4139b0b0c7
add signal handler for SIGINT, SIGTERM and SIGABRT
2017-10-27 15:52:14 +02:00
Samuel Husso
0c33e917d5
Merge pull request #79 from gcarq/qtpylib
...
Include new indicators from qtpylib
2017-10-27 12:11:04 +03:00
Janne Sinivirta
e401a016f5
change analyze tests to use full json dump from bittrex
2017-10-26 16:50:31 +03:00
Janne Sinivirta
e0fde8665c
Merge pull request #80 from gcarq/fix-testdate-dl-path
...
download testdata to correct folder when running from project root
2017-10-26 10:37:38 +03:00
Samuel Husso
752520c823
When running from project root download the files to the testdata folder instead of cwd
2017-10-26 10:24:22 +03:00
Janne Sinivirta
6ba2492360
add Awesome Oscillator and try it in hyperopt
2017-10-25 18:37:20 +03:00
Janne Sinivirta
9c9cf76a0d
Merge pull request #78 from gcarq/refactor-backtest
...
Refactor backtest functionality
2017-10-25 18:19:44 +03:00
Samuel Husso
041e201713
remove duplicated backtesting from hyperopt
2017-10-25 08:17:17 +03:00
gcarq
ff4fcdc760
version bump
2017-10-24 18:14:31 +02:00
Samuel Husso
f43ba44b15
refactor backtesting to its own method as we use it also in hyperopt
2017-10-24 07:58:42 +03:00
Michael Egger
79c3e0583d
Merge pull request #76 from gcarq/hyperopt
...
Use hyperopt to find optimal parameters for buy strategy
2017-10-23 09:40:13 +02:00
Janne Sinivirta
f6ef8383bb
remove filtering from analyze that is super slow and not really needed
2017-10-22 21:50:07 +03:00
Janne Sinivirta
6f5307fda7
use more aggressive stop loss for hyperopt
2017-10-22 17:15:57 +03:00
Janne Sinivirta
37004e331a
remove unused import and commented out code
2017-10-22 17:14:55 +03:00
Janne Sinivirta
57acf85b42
try a different objective function
2017-10-22 17:11:01 +03:00
Janne Sinivirta
d32ff3410c
add help command to telegram bot
2017-10-21 11:08:08 +03:00
Janne Sinivirta
913488910c
bump minimum evaluations to 40 rounds
2017-10-21 10:29:05 +03:00
Janne Sinivirta
17b984a7cd
adjust objective function to emphasize trade lenghts more
2017-10-21 10:28:43 +03:00
Janne Sinivirta
f79b44eefe
adjust ROI map for shorter trades
2017-10-21 10:28:02 +03:00
Janne Sinivirta
146c254c0f
start adding other triggers than just the lower BBands
2017-10-21 10:26:38 +03:00
Janne Sinivirta
ce2966dd7f
add uptrend_sma to hyperopt
2017-10-20 18:29:38 +03:00
Janne Sinivirta
0fbca8b8ef
add CCI to hyperopt
2017-10-20 13:14:28 +03:00
Janne Sinivirta
3f7a583de6
add SAR to hyperopt. add over/under sma options to hyperopt
2017-10-20 12:56:44 +03:00
Janne Sinivirta
1196983d5f
change objective to emphasize shorter trades and include average profit
2017-10-20 10:39:36 +03:00
Janne Sinivirta
bbb2c7cf62
more parametrizing. adjust ranges for previous parameters
2017-10-20 10:39:04 +03:00
Janne Sinivirta
ff100bdac4
the optimizer expects values in the order of smaller is better
2017-10-19 18:29:57 +03:00
Janne Sinivirta
1792e0fb9b
use hyperopt to find optimal parameter values for indicators
2017-10-19 17:12:49 +03:00
Michael Egger
aeef9bac33
Merge pull request #70 from dertione/patch-2
...
Download automatically altcoin datas
2017-10-17 13:36:33 +02:00
dertione
389f9b45bb
update pylint 10/10
2017-10-15 17:24:49 +02:00
Janne Sinivirta
c9741cb291
adjust roi settings for faster trades
2017-10-15 17:32:07 +03:00
Janne Sinivirta
bf6f563df2
small tweaks to buy strategy and it's visualization
2017-10-15 17:32:07 +03:00
dertione
afd1a0bf9b
update for pylint
2017-10-14 14:40:26 +02:00
dertione
37f6c213f6
fork test
2017-10-13 15:50:50 +02:00
Michael Egger
aa4b64d0bb
Merge pull request #65 from xsmile/patch-4
...
set exchange in analyze.__main__ to fix plotting
2017-10-12 09:42:20 +02:00
xsmile
eecc45f8ba
set exchange in analyze.__main__ to fix plotting
...
requires #64
2017-10-11 20:04:31 +02:00
xsmile
d76476040a
Bittrex provider
...
remove redundant 'name' property and pair validation call
2017-10-11 19:51:37 +02:00
gcarq
bfac1936d9
version bump
2017-10-10 17:54:42 +02:00
xsmile
2e368ef7aa
docstring fix
2017-10-07 18:10:45 +02:00
xsmile
34c774c067
move exchange module content to exchange package and the interface to a new module
2017-10-07 18:07:29 +02:00
xsmile
ac32850034
simplify exchange initialization
2017-10-07 17:38:33 +02:00
xsmile
95e5c2e6c1
remove 'enabled' property in exchange config
2017-10-07 17:36:48 +02:00
xsmile
b9eb266236
Exchange refactoring
2017-10-06 12:22:04 +02:00
gcarq
f44ab2f44b
patch missing http calls
2017-10-01 23:28:09 +02:00
Janne Sinivirta
5537f0bf5b
simplify unnecessary == True and == False assertions
2017-10-01 15:45:31 +03:00
Janne Sinivirta
5551c9ec3b
add pragmas to disable pylint warnings for missing docstrings in test files
2017-10-01 15:40:40 +03:00
Janne Sinivirta
ff145b6306
use mocker for mocking to get rid of deep nesting
2017-10-01 15:40:12 +03:00
Janne Sinivirta
616d5b61cc
remove numbers from test method names
2017-10-01 11:11:20 +03:00