Commit Graph

1272 Commits

Author SHA1 Message Date
gcarq
3360bf4001 wrap strategies with HyperoptStrategy for module lookups with pickle 2018-06-23 10:42:33 +02:00
gcarq
418359ac9a Merge branch 'develop' of https://github.com/freqtrade/freqtrade into feature/flask-rest 2018-06-23 09:34:32 +02:00
gcarq
72b89e694a telegram: remove duplicate test for /status 2018-06-23 09:29:45 +02:00
gcarq
77d53b0b7c remove _rpc_status_table and reuse _rpc_status instead 2018-06-23 09:28:13 +02:00
gcarq
4aab55d27b api_server: fix flake8 warnings and implement missing methods 2018-06-23 09:27:28 +02:00
Janne Sinivirta
9a07d57ed7 fix flake8 2018-06-23 07:58:25 +03:00
xmatthias
2be7b3d9eb fix mocked bid-value to match limt_buy_order config 2018-06-22 21:24:21 +02:00
xmatthias
e2a2a0be9b extract stop_loss_reached to allow check before ignore_roi_if_buy_signal 2018-06-22 21:21:34 +02:00
Janne Sinivirta
f7e5d2c3a5 check that we set fee on backtesting init 2018-06-22 21:55:09 +03:00
xmatthias
cbfee51f32 introduce experimental variable and fix test naming 2018-06-22 20:51:21 +02:00
xmatthias
8a44dff595 don't sell if buy is still active 2018-06-22 20:23:23 +02:00
Janne Sinivirta
c73b9f5c77 avoid calling exchange.get_fee inside loop 2018-06-22 21:04:07 +03:00
Janne Sinivirta
5fcdd3831c
Merge pull request #928 from freqtrade/feat/objectify_exchange
Objectify exchange
2018-06-22 06:36:14 +03:00
gcarq
a2426c3854 refactor _rpc_balance 2018-06-22 04:08:51 +02:00
gcarq
8d54a20122 return dict from _rpc_status and handle rendering in module impl 2018-06-22 03:54:10 +02:00
gcarq
ec4e6272d0 remove markdown formatting from exception string 2018-06-22 03:37:19 +02:00
gcarq
ada87ba3a0 convert start, stop and reload_conf to return a dict 2018-06-22 03:32:45 +02:00
gcarq
556d507317 move endpoint definitions to class scope 2018-06-22 02:56:10 +02:00
gcarq
8ecfbc2a35 make rpc modules optional 2018-06-22 02:55:49 +02:00
gcarq
814894da7b fix flake8 warnings 2018-06-22 02:55:27 +02:00
gcarq
089f633c06 Merge branch 'flask_rest' of https://github.com/creslinux/freqtrade into feature/flask-rest 2018-06-22 02:43:10 +02:00
xmatthias
7f927b4d7a Squashed commit of the following:
commit 435f299bcf
Author: Gert Wohlgemuth <berlinguyinca@gmail.com>
Date:   Wed Jun 20 01:57:28 2018 -0700

    improve readability of outdated history code
2018-06-21 20:47:53 +02:00
xmatthias
f7b46d5404 update docstring 2018-06-18 22:34:28 +02:00
xmatthias
896afe7118 convert get_name and get_id to properties 2018-06-18 22:20:50 +02:00
xmatthias
ef53134499 lowercase variables 2018-06-18 22:09:46 +02:00
xmatthias
c31519fdb2 lowercase _api object 2018-06-18 22:07:15 +02:00
xmatthias
162f948729 add test for non-configured exchange 2018-06-18 19:56:23 +02:00
xmatthias
ae4c4e77bf standardize exception tests - add one more 2018-06-18 19:46:42 +02:00
xmatthias
695beecf14 add test for get_markets 2018-06-18 19:36:36 +02:00
xmatthias
520c7feeab Add test for fetch_tickers 2018-06-17 23:38:07 +02:00
xmatthias
1e3d722bc2 add test for get_trades 2018-06-17 23:38:07 +02:00
xmatthias
c9f8dfc6c5 increase get_fee coverage 2018-06-17 23:38:07 +02:00
xmatthias
d156de39f1 Increase test-coverage 2018-06-17 23:38:07 +02:00
xmatthias
2b099a89e4 fix styling issues 2018-06-17 23:38:07 +02:00
xmatthias
6e6ec969eb cleanup mockings 2018-06-17 23:38:07 +02:00
xmatthias
e194af8d25 Streamline validate_pair patching 2018-06-17 23:38:07 +02:00
xmatthias
ace5198475 fix optimize tests 2018-06-17 23:38:07 +02:00
xmatthias
52d36c33cf fix optimie test 2018-06-17 23:38:07 +02:00
xmatthias
251f7db3ca require exchange object to delete pairs 2018-06-17 23:38:07 +02:00
xmatthias
c83e8b7cb5 fix rpc_test 2018-06-17 23:38:07 +02:00
xmatthias
64e09f74a1 fix rpc tests 2018-06-17 23:38:07 +02:00
xmatthias
63b568989a Fix rpc for exchange objectify 2018-06-17 23:38:07 +02:00
xmatthias
975b42caa3 fix tests for exchange objectify 2018-06-17 23:38:07 +02:00
xmatthias
75d02df60d add exchange to call get_singal 2018-06-17 23:38:07 +02:00
xmatthias
082b6077e9 Fix tests analyze 2018-06-17 23:38:07 +02:00
xmatthias
e8ab76f55b fix small in tests 2018-06-17 23:38:07 +02:00
xmatthias
495f15f13c fix exchange tests 2018-06-17 23:38:07 +02:00
xmatthias
68f6423d39 fix most tests 2018-06-17 23:38:07 +02:00
xmatthias
67d345bc08 fix tests for objectify exchange 2018-06-17 23:38:07 +02:00
xmatthias
a159db6863 get_exchange 2018-06-17 23:38:07 +02:00
xmatthias
dea26fadfe move init_ccxt to class 2018-06-17 23:38:07 +02:00
xmatthias
21edcbdc27 Refactor exchange to class 2018-06-17 23:38:07 +02:00
Janne Sinivirta
c608f1e21e
Merge pull request #923 from freqtrade/fix_test_hyperopt
fix hyperopt test when no config.json exists
2018-06-17 16:07:57 +03:00
Michael Egger
5ce2071279
Merge pull request #925 from freqtrade/increase_test_cov_configuration
increase test-coverate for configuration
2018-06-17 13:19:16 +02:00
Anton
ae94ab17f4 Merge branch 'develop' into feature-unlimited-stake_amount 2018-06-17 02:23:40 +03:00
Anton
eb909068c5 Add minimal pair stake amount check 2018-06-17 02:23:12 +03:00
xmatthias
972736f0ab increase test-coverate for configureation 2018-06-16 20:55:35 +02:00
xmatthias
7564f7e526 fix hyperopt test when no config.json exists 2018-06-16 13:49:03 +02:00
xmatthias
fa00157d12 Fix fiat_convert missing mockups 2018-06-16 13:42:25 +02:00
Matthias
a5511e2e30
Merge pull request #894 from freqtrade/feature/force_close_backtest
Display open trades after backtest period
2018-06-16 12:49:08 +02:00
Janne Sinivirta
0c85febe76 remove all mongodb related code 2018-06-16 09:09:28 +03:00
Janne Sinivirta
c1f8f641e6 remove use of hyperopt_conf.py 2018-06-16 09:09:28 +03:00
creslinux
05226f6def Moved from decorators to app.add_url_rule
This has the benefit of creating a label which may be helpful if later
refactoring.

This change misses the main thrust of requests from both Gcarq and Shusso to
better layout the code

Im running into a challenge with 'self' not being available, or able to be
passed in either to decorators or view_func

This may simply be how I've instantiated an RPC in the wuperwrap or im within a thread
 - my very limited exposure to programming is at play! After moving code around
 lots of ways to no success and google not being helpful im committing for further feeback
2018-06-15 09:14:17 +00:00
creslinux
7f46411966 Merge remote-tracking branch 'origin/flask_rest' into flask_rest 2018-06-14 20:21:42 +00:00
creslinux
40db83c24c Added json validation of formats to check IPv4
refactored files and calls to be api_server
worked down satisfying review comments of last commit
2018-06-14 20:19:15 +00:00
Michael Egger
f21ef07910
Merge branch 'develop' into flask_rest 2018-06-14 18:10:04 +02:00
creslinux
7caf8a46d4 Updated
Stop and start calls added
Along with refactoring to base line and use decorators.
Also modules loaded optionally if enabled in config or not
binds to ip / port set from config.json with warning if not localhost

TODO:
 - use argparse in client, and generally clean client up
 - create unit test
 - documentation
 - extend to other RCP commands, after feedback
2018-06-14 15:44:52 +00:00
creslinux
9bbc186b16 Updated
Stop and start calls added
Along with refactoring to base line and use decorators.
Also modules loaded optionally if enabled in config or not
binds to ip / port set from config.json with warning if not localhost

TODO:
 - use argparse in client, and generally clean client up
 - create unit test
 - documentation
 - extend to other RCP commands, after feedback
2018-06-14 15:44:12 +00:00
creslinux
c2742f0b01 Merge remote-tracking branch 'origin/flask_rest' into flask_rest 2018-06-14 15:41:32 +00:00
creslinux
fb60f684f7 Updated
Stop and start calls added
Along with refactoring to base line and use decorators.
Also modules loaded optionally if enabled in config or not
binds to ip / port set from config.json with warning if not localhost

TODO:
 - use argparse in client, and generally clean client up
 - create unit test
 - documentation
 - extend to other RCP commands, after feedback
2018-06-14 15:38:26 +00:00
creslin
faf0a4973d
Update rest_client.py 2018-06-13 22:41:43 +00:00
creslinux
6bb1ad288e Implemented local restful flask service and provided cmdline client
Added only the "Daily" call so far, submitting for early review/feedback

Called as example "./rest_client.py daily 3"

This depends on listed as requirements.
Flask==1.0.2
flask-jsonpify==1.5.0 (will do later)
flask-restful==0.3.6
TODO: make loading optional, cleanly unload on close
      unit tests, take feedback, tidy output,
      add other Telegram functions, onwards

local rest server is enabled/disabled from within config.json. E.g

     "localrest": {
        "enabled": true
    },

The server is enabled from within existing rpc manager
and makes use of the existing superclass (RPC)

Through making use of the existing hard work done in rpc.py
It *should be easy to add the other Telegram calls into local_rpc_server.py

The server is wrapped in a thread to be non-blocking
The server and client accept serialised calls or not, used in daily to return json
The client can be used from command line or in a python client script

As example, from cmdline for last 3 days Daily

DannyMBP:rpc creslin$ ./rest_client.py daily 3
[
    [
        "2018-06-13",
        "0.00000000 USDT",
        "0.000 USD",
        "0 trade"
    ],
    [
        "2018-06-12",
        "0.00000000 USDT",
        "0.000 USD",
        "0 trade"
    ],
    [
        "2018-06-11",
        "0.00000000 USDT",
        "0.000 USD",
        "0 trade"
    ]
]
2018-06-13 22:26:21 +00:00
creslinux
e5e64a7035 Implemented local restful flask service and provided cmdline client
Added only the "Daily" call so far, submitting for early review/feedback

Called as example "./rest_client.py daily 3"

This depends on listed as requirements.
Flask==1.0.2
flask-jsonpify==1.5.0 (will do later)
flask-restful==0.3.6
TODO: make loading optional, cleanly unload on close
      unit tests, take feedback, tidy output,
      add other Telegram functions, onwards

local rest server is enabled/disabled from within config.json. E.g

     "localrest": {
        "enabled": true
    },

The server is enabled from within existing rpc manager
and makes use of the existing superclass (RPC)

Through making use of the existing hard work done in rpc.py
It *should be easy to add the other Telegram calls into local_rpc_server.py

The server is wrapped in a thread to be non-blocking
The server and client accept serialised calls or not, used in daily to return json
The client can be used from command line or in a python client script

As example, from cmdline for last 3 days Daily

DannyMBP:rpc creslin$ ./rest_client.py daily 3
[
    [
        "2018-06-13",
        "0.00000000 USDT",
        "0.000 USD",
        "0 trade"
    ],
    [
        "2018-06-12",
        "0.00000000 USDT",
        "0.000 USD",
        "0 trade"
    ],
    [
        "2018-06-11",
        "0.00000000 USDT",
        "0.000 USD",
        "0 trade"
    ]
]
2018-06-13 22:18:49 +00:00
xmatthias
c0289ad844 use list comprehension to build list 2018-06-13 19:53:12 +02:00
xmatthias
e600be4f56 Reduce force-sell verbosity 2018-06-13 19:44:00 +02:00
gcarq
d684ff5715 drop zlma implementation 2018-06-13 16:20:13 +02:00
ran
6edb25f5c2 fixed heikenashi calculation 2018-06-13 16:17:42 +02:00
ran
e6e5c5daf0 added zlma 2018-06-13 16:16:02 +02:00
ran
61f92b7460 bugfix 2018-06-13 16:13:36 +02:00
gcarq
46080f5168 define _rpc_reload_conf as private method 2018-06-13 15:29:27 +02:00
gcarq
e14c9e2090 fix potential cleanup issue 2018-06-13 12:21:54 +02:00
gcarq
83eb7a0a9d adjust logging a bit and add some comments 2018-06-13 12:21:54 +02:00
gcarq
6c1bb7983b rpc: make freqtrade a private variable 2018-06-13 12:21:54 +02:00
gcarq
34e10a145c remove Telegram.is_enabled() because RPCManager manages lifecycles 2018-06-13 12:21:54 +02:00
gcarq
3787dad212 don't import python-telegram-bot at runtime if disabled in config 2018-06-13 12:21:54 +02:00
gcarq
4048859912 rpc: remove tuple return madness 2018-06-13 12:21:54 +02:00
gcarq
cddb062db5 save rpc instances only in registered_modules, add some abstract methods 2018-06-13 12:21:54 +02:00
xmatthias
6357812743 fix backtest report able 2018-06-13 06:57:49 +02:00
xmatthias
0f117d480e improve backtesting-tests
* assert length of result specifically
* add assert for "open_at_end"
2018-06-13 06:42:24 +02:00
xmatthias
8d8e6dcffc Add test for extracted backtest_results test 2018-06-13 06:31:42 +02:00
xmatthias
e3ced7c15e extract export from backtest function 2018-06-12 22:29:30 +02:00
xmatthias
bfde33c945 Use timestamp() instead of strftime
this will avoid a bug shifting epoch time by 1 hour:
https://stackoverflow.com/questions/11743019/convert-python-datetime-to-epoch-with-strftime
2018-06-12 21:12:55 +02:00
Michael Egger
59a4dffc56
Merge pull request #901 from freqtrade/fix/backtest_abort_no_data
Check if no backtest data is found and fail gracefully
2018-06-12 02:54:58 +02:00
Anton
708320318c Check minimal amount 2018-06-12 01:05:43 +03:00
xmatthias
a0f735d4f2 reduce test-noise 2018-06-11 21:02:24 +02:00
xmatthias
335d1fbbbc Check if no backtest data is found and fail gracefully 2018-06-11 19:50:43 +02:00
Anton
90025d0ac4 Fix check 2018-06-11 16:38:10 +03:00
Anton
ce663f6af5 Merge with develop 2018-06-11 16:25:05 +03:00
Anton
3676015184 Fix check 2018-06-11 16:21:57 +03:00
Janne Sinivirta
c46e50864b
Merge pull request #886 from freqtrade/feature/reload-conf
Reload bot config without restarting
2018-06-11 10:47:00 +03:00