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
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