Commit Graph

101 Commits

Author SHA1 Message Date
creslin
2d0a4c4de5
Update local_rpc_server.py 2018-06-08 18:43:32 +00:00
creslinux
efbeabf141 Added Local RPC client
- added only "Daily" call so far, submitting for early review/feedback

This depends on zerorpc as a requirement.
simple examples here:
http://www.zerorpc.io/

Installed with pip3 install zerorpc

localRCP is enabled/disabled from within config.json
e.g
    "localrpc": {
        "enabled": true
       },

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

Though making use of the existing hardwork done in rpc.py
It *should be easy to add the other Telegram calls into local_rpy_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 script

As example, from cmdline for last 3 days Daily

/Users/creslin/PycharmProjects/freqtrade_new/.env/bin/zerorpc tcp://127.0.0.1:4242 daily 3
connecting to "tcp://127.0.0.1:4242"
False
('[\n'
 '    [\n'
 '        "2018-06-08",\n'
 '        "0.00000000 BTC",\n'
 '        "0.000 USDT",\n'
 '        "0 trade"\n'
 '    ],\n'
 '    [\n'
 '        "2018-06-07",\n'
 '        "0.00000000 BTC",\n'
 '        "0.000 USDT",\n'
 '        "0 trade"\n'
 '    ],\n'
 '    [\n'
 '        "2018-06-06",\n'
 '        "0.00000000 BTC",\n'
 '        "0.000 USDT",\n'
 '        "0 trade"\n'
 '    ]\n'
 ']')

Programitcally this would be:
import zerorpc

c = zerorpc.Client()
c.connect("tcp://127.0.0.1:4242")

for item in c.daily(3):
    print item
2018-06-08 18:35:01 +00:00
xmatthias
0e699b87af don't sum percentage, but use mean instead (aligned to backtesting) 2018-06-07 20:43:28 +02:00
xmatthias
50fc5f91ca Merge branch 'develop' into mypy_typecheck 2018-06-03 10:35:56 +02:00
xmatthias
6fc21e30e5 remove unused import 2018-06-02 13:52:55 +02:00
xmatthias
4a322abd4d Typecheck improvements 2018-06-02 13:44:05 +02:00
xmatthias
69006b8fe8 flake8 2018-05-31 21:08:26 +02:00
xmatthias
0d251cbfdd rpc type hints 2018-05-31 20:55:26 +02:00
xmatthias
4733aad7ff mypy_typing 2018-05-31 20:54:37 +02:00
Pan Long
a98fcee4f9 Sell filled amount or an open limit buy order in forcesell.
Currently forcesell only cancels an open limit buy order and doesn't sell the filled amount.

After this change, forcesell will also update trade's amount to filled amount and sell the filled amount.
2018-05-26 09:55:31 +08:00
Anton
d112d90e8e Make telegram message beautiful 2018-05-15 13:37:34 +03:00
Anton
f175f48418 Fix get balance functionality 2018-05-15 00:31:56 +03:00
Michael Egger
5b25ed99ac
Merge pull request #652 from gcarq/feat/objectify-ccxt
CCXT into use
2018-05-12 14:04:06 +02:00
Gert Wohlgemuth
6d2afdb146 added support for showing the exposed real value on the count table (#634) 2018-05-03 11:18:35 +02:00
gcarq
403f59ef45 use native python logger 2018-04-21 20:47:06 +02:00
enenn
0ae5b75f33 Update order structure to ccxt generic structure instead of bittrex specific 2018-04-12 18:07:43 +02:00
enenn
c1c6ed6ed7 Replace 'BTC_XXX' with 'XXX/BTC' for pairs and 'XXX_BTC' for files 2018-04-07 16:51:50 +02:00
enenn
1f75636e56 [1/3] Add support for multiple exchanges with ccxt (objectified version) (#585)
* remove obsolete helper functions and make _state a public member.

* remove function assertions

* revert worker() changes

* Update pytest from 3.4.2 to 3.5.0

* Adapt exchange functions to ccxt API
Remove get_market_summaries and get_wallet_health, add exception handling

* Add NetworkException

* Change pair format in constants.py

* Add tests for exchange functions that comply with ccxt

* Remove bittrex tests

* Remove Bittrex and Interface classes

* Add retrier decorator

* Remove cache from get_ticker

* Remove unused and duplicate imports

* Add keyword arguments for get_fee

* Implement 'get_pair_detail_url'

* Change get_ticker_history format to ccxt format

* Fix exchange urls dict, don't need to initialize exchanges

* Add "Using Exchange ..." logging line
2018-04-06 10:57:08 +03:00
gcarq
fa7f74b4bc use native python logger 2018-03-25 21:43:00 +02:00
gcarq
3f8d7dae39 make name a required argument and add fallback to getEffectiveLevel 2018-03-25 21:42:03 +02:00
gcarq
9559f50eec remove obsolete helper functions and make _state a public member. 2018-03-21 18:50:18 +01:00
gcarq
a5c62b5c10 rpc/rpc.py: fix indentation 2018-03-20 19:50:04 +01:00
gcarq
7078bc00bd rpc: apply correct typehints; remove redundant parentheses 2018-03-20 19:50:04 +01:00
gcarq
d2aea7bdc1 optimize imports 2018-03-20 19:50:04 +01:00
Gerald Lonlas
25d0e5f942 Merge commit '4dca84817eb1b62047a9e4d282254392ea978e44' into feature/objectify 2018-03-04 02:06:40 -08:00
Gerald Lonlas
390501bac0 Make Pylint Happy chapter 1 2018-03-03 09:33:54 +08:00
Gerald Lonlas
8bd0f4d0d7 Remove ugly pprints 2018-03-03 09:33:54 +08:00
Gerald Lonlas
f4ec073099 Move RPC and Telegram to classes 2018-03-03 09:33:54 +08:00
Janne Sinivirta
160af91f9a improving log messages 2018-02-24 18:58:57 +02:00
kryofly
9f6aedea47 telegram refactor 1/ (#389)
* telegram refactor 1/

move out freqcode from telegram

* telegram refactor 2/

move out rpc_trade_status

* telegram refactor 3/

move out rpc_daily_profit

* telegram refactor /4

move out rpc_trade_statistics

* 5/

* rpc refactor 6/

* rpc refactor 7/

* rpc refactor 8/

* rpc refactor 9/

* rpc refactor 10/

cleanups
two tests are broken

* fiat

* rpc: Add back fiat singleton usage

* test: rpc_trade_statistics

Test that rpc_trade_statistics can handle trades that lacks
trade.open_rate (it is set to None)

* test: rpc_forcesell

Also some cleanups

* test: telegram.py::init

* test: telegram test_cleanup and test_status

* test rcp cleanup
2018-02-01 08:05:23 +02:00
Anton Ermak
45239724c6 Skip convert if balance is zero 2018-01-28 16:15:23 +07:00
Anton Ermak
81ed7627bf Unit test 2018-01-28 16:08:43 +07:00
Samuel Husso
93bd63cfbe get rid of / replacements, minor edit to outgoing msg 2018-01-23 08:55:22 +02:00
Samuel Husso
ddd62277c2 add total amount of trades to /status 2018-01-22 09:36:56 +02:00
Samuel Husso
bd356f3eb4 when selling, show more information about the trade in the message 2018-01-22 09:36:56 +02:00
Gerald Lonlas
fb110ccfd2 Add number of trades in /daily command 2018-01-19 22:14:31 -08:00
Anton Ermak
5db04b15e7 Balance Estimated BTC - fix test 2018-01-15 12:08:56 +07:00
Anton Ermak
dd9ab5264d Estimated BTC and fiat value for balance 2018-01-15 12:08:42 +07:00
Janne Sinivirta
86db6c9084 sort imports 2018-01-11 07:08:56 +02:00
Janne Sinivirta
1b6b0ad9d2 autopep8 2018-01-11 06:50:36 +02:00
Jean-Baptiste LE STANG
7d21015b52 get_ticker can return a cached value 2018-01-07 23:26:45 +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
55d0d27756 message too long, removing URL for now 2018-01-02 14:55:31 +01: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
8537e9f40f CI flake8 error 2017-12-27 21:33:42 +01:00
Jean Baptiste LE STANG
d61d88559c Fixing daily profit, taking into account the time part of the date (removing it in fact) 2017-12-27 21:06:05 +01:00
Gerald Lonlas
ff6b0fc1c9 Display profits in fiat 2017-12-26 19:44:19 -08:00
Janne Sinivirta
44a4ff0cb2
Merge branch 'develop' into patch-1 2017-12-22 13:58:13 +02:00
Gerald Lonlas
d258118b0a Fix the fee calculation, backtesting, and hyperopt fee calculation and avg_profit 2017-12-20 20:18:41 -08:00