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
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
d3b3370f23
Add configurable throttle mechanism
2017-11-11 16:47:19 +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
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
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
0cfbb56b6c
enhance and test pair validation
2017-11-09 21:47:47 +01:00
gcarq
80592970e9
add more tests
2017-11-09 20:02:41 +01:00
gcarq
31c03cdce1
fix linter issue
2017-11-08 22:44:32 +01:00
gcarq
6ce6018bb7
add more tests
2017-11-07 22:27:44 +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
d921bae75e
set executable bit
2017-11-07 18:42:40 +01:00
Janne Sinivirta
0395c92260
move testdata file loading to pytest fixture
2017-11-07 19:24:51 +02:00
Janne Sinivirta
fbbde9de25
put shared fixtures to conftest.py
2017-11-07 17:29:00 +02:00
Janne Sinivirta
adfae9e75c
autoformat with autopep8
2017-11-06 19:17:23 +02: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
cc29126d61
make download_backtest_data.py platform independent
2017-11-06 00:16:24 +01:00
gcarq
60e651cb4c
only return data['result'] from get_ticker_history
2017-11-05 23:47:59 +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
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
460dfa1031
fix percentage formating in execute_sell
2017-11-02 19:00:25 +01:00
gcarq
1daeed4a52
fix assert
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
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
e07904d436
PEP8 linting
2017-10-31 00:36:35 +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
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
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
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
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
Samuel Husso
041e201713
remove duplicated backtesting from hyperopt
2017-10-25 08:17:17 +03: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
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
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
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
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
Janne Sinivirta
06ad311aa3
remove Test classes and use pytest fixtures
2017-10-01 11:02:47 +03:00
Janne Sinivirta
53b4c3722e
convert asserts to pytest style
2017-09-30 20:38:19 +03:00
gcarq
898ab5a370
implement test to reproduce it
2017-09-30 18:22:05 +02:00
gcarq
0c517ee3b6
move project into freqtrade/
2017-09-29 19:28:32 +02:00