Commit Graph

453 Commits

Author SHA1 Message Date
Jean-Baptiste LE STANG 4c8ae3a7af without debug print 2018-01-07 23:15:33 +01:00
Jean-Baptiste LE STANG 2773ce7ebf rebasing against develop 2018-01-07 21:34:42 +01:00
Jean-Baptiste LE STANG f4e4104d14 Fixing unitest 2018-01-07 21:26:43 +01:00
Jean-Baptiste LE STANG b722a89276 fixing unittest 2018-01-07 21:24:17 +01:00
Janne Sinivirta 5be733a174 fix flake8 warnings 2018-01-07 14:37:09 +02:00
Jean-Baptiste LE STANG 975a785e68 Add a unitest and fix pep8 2018-01-07 10:14:11 +01:00
kryofly 890083ce7f Merge branch 'develop' into datadir 2018-01-07 10:00:35 +01:00
Gérald LONLAS 454cd16df4
Merge pull request #331 from gcarq/fix/work_without_network
Fix _coinmarketcap that fails backtesting and Hyperopt when no network
2018-01-06 21:33:24 -08:00
Gerald Lonlas bf4b2dc05e Fix _coinmarketcap that fails backtesting and Hyperopt when no network 2018-01-06 21:21:28 -08:00
Gerald Lonlas b3ea0f4ec5 Make readable hyperopt best parameters result 2018-01-06 17:19:48 -08:00
Gérald LONLAS 2432c9f290
Merge pull request #324 from kryofly/parse-common
Parsing: common options, reduce function scope
2018-01-06 15:11:30 -08:00
kryofly 60ed4b9d1e --datadir <path> argument
This argument enables usage of different backtesting directories.
Useful if one wants compare backtesting performance over time.
2018-01-06 23:24:35 +01:00
Janne Sinivirta a29f3de025 fix variable names to pythonic 2018-01-06 21:21:56 +02:00
Janne Sinivirta 6ab0ec6aac only apply profit guarantee to sell_signal 2018-01-06 21:18:57 +02:00
kryofly 984204e380 let parse_args only parse, no continuation
This removes parse_args() from the call stack
It pushes down the test-mocking one level [from parse_args() to main()].
Moves parse_args into a more generic 'modules' parsing direction.
2018-01-06 11:21:09 +01:00
Janne Sinivirta bcde377019
Merge pull request #321 from gcarq/log-exceptions
Log exceptions
2018-01-06 10:14:57 +02:00
Samuel Husso 2d39759d34 pep8 fix 2018-01-06 10:08:25 +02:00
kryofly e4500af736 test case for common CLI parsing
Rearrange current tests.
2018-01-06 08:27:44 +01:00
Janne Sinivirta 41933c31ca
Merge pull request #315 from kryofly/tests_jan05
tests cover more backtesting
2018-01-06 09:26:20 +02:00
kryofly 47675943ee split common command line args parsing
A new function parse_args_common() that only parses
common command line options. The returned object can
be composed to parse more arguments.
As is done by parse_args().
2018-01-06 07:39:05 +01:00
Samuel Husso ae967a4f40 add test to handle analyze_ticker raising exception 2018-01-05 13:43:56 +02:00
kryofly 79fcd0b06c tests cover more backtesting 2018-01-05 10:44:10 +01:00
kryofly 421ccb23d3 split load tickerdata function 2018-01-05 10:20:48 +01:00
Stephen Dade ebe95ba1e1 Open order times should be strings, not datetime objectsy 2018-01-05 15:12:13 +11:00
Stephen Dade d4fcc38a57 Unfilled order timeouts - now using timestamps from exchange 2018-01-05 01:39:01 +11:00
Janne Sinivirta c60ef181dc
Merge pull request #297 from jblestang/add_stoploss_and_use_sell_profit_only_to_hyperopt
Add stoploss, sell_only_profit and use_sell_signal conf parameters to backtest function
2018-01-04 13:33:01 +02:00
Stephen Dade b5d2cfecc7 Unfilled Order timeout - better documentation and variable naming 2018-01-04 10:35:57 +11:00
Jean-Baptiste LE STANG 75955fcc04 Add a unitest and fix pep8 2018-01-03 17:58:08 +01:00
Jean-Baptiste LE STANG 0f2d3adbbc applying pep8 2018-01-03 17:36:40 +01:00
Jean-Baptiste LE STANG eb53a796e2 pep8 compliance 2018-01-03 11:35:54 +01:00
Jean-Baptiste LE STANG 2d273a8509 Update unittests 2018-01-03 11:30:24 +01:00
Stephen Dade b4d6250d55 Added order timeout handling 2018-01-03 21:22:35 +11:00
Gérald LONLAS 9b09b5aa29
Merge pull request #291 from gcarq/backtesting_speed_opt
Backtesting speed optimizations
2018-01-02 23:35:47 -08:00
Gérald LONLAS 4a717f3df8
Merge pull request #294 from jblestang/add_trades_count_in_performance
Add trades count foreach pair in performance command
2018-01-02 23:03:30 -08:00
Samuel Husso fd5497cfc7
Merge pull request #265 from gcarq/feature/experimental/force_profit_sell
Add experimental feature to sell only if we make a profit
2018-01-03 08:14:54 +02:00
Jean-Baptiste LE STANG 01b49dc502 Merge branch 'develop' into add_trades_count_in_performance 2018-01-03 00:06:56 +01:00
Jean-Baptiste LE STANG fbb19e451d Adding the number of trades for each traded pair in the performance command 2018-01-03 00:06:50 +01:00
Jean-Baptiste LE STANG e69f9dd029 Bad unittest detected reading coverage report, rewritten and bug found 2018-01-02 23:00:03 +01:00
Janne Sinivirta fed3024302 rewrite get_timeframe in backtesting 2018-01-02 21:54:31 +02:00
Samuel Husso f4ccd4609b
Merge pull request #284 from jblestang/fix_issue_283
fixing the sorting issue in MarketSummary when using --dynamic-whitelist (issue #283)
2018-01-02 21:00:20 +02:00
Janne Sinivirta ae52880f81 improve backtesting result formatting 2018-01-02 17:39:02 +02:00
Jean-Baptiste LE STANG d849694a70 Adding URL to market graph and number of trades/pair in /performance commande 2018-01-02 14:43:38 +01:00
Jean-Baptiste LE STANG 29987c3ff6 Adding the number of trades in the performance display 2018-01-02 14:32:13 +01:00
Jean-Baptiste LE STANG 3f65fc014e flake8 on tests 2018-01-02 13:46:16 +01:00
Jean-Baptiste LE STANG 5344b711ea Add two more unit tests for covering pair that are in a blacklist, and unknown pairs in the conf 2018-01-02 13:42:10 +01:00
Jean-Baptiste LE STANG a3e827c144 with flake8 code review 2018-01-02 12:18:26 +01:00
Jean-Baptiste LE STANG 52e267e864 fix for issue #283 2018-01-02 12:04:47 +01:00
Jean-Baptiste LE STANG 0e0d613191 Removing tilde and change profit to loss when negative profit is made 2018-01-01 20:18:38 +01:00
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
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 7f44ba6df4 unit tests for optimize.hyperopt 2017-12-28 06:39:56 +02:00
Janne Sinivirta ae0a1436e2 match test files to prod files for backtesting/hyperopt 2017-12-28 06:35:09 +02: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 1058820e1b just pass stake_amount instead of the whole config 2017-12-23 19:00:49 +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
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
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 ae37f49b51 /forcesell: handle trades with open orders 2017-12-16 01:09:07 +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
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 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
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
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