Moved to pow(10, on recommendation from core team
Removed excessive boiler plating for simple function
Tested on sandbox with print output and in scratch
conn is HTTPSConnectionPool(host='api-public.sandbox.gdax.com', port=443)
conn is HTTPSConnectionPool(host='api-public.sandbox.gdax.com', port=443)
be_amount 0.00610615427076642
sym prec is 8
af_amount 0.00610615
b4_price 8188.46
sym prec is 2
af_price 8188.46
Also setting price "rate" to a precision CCXT informs us the exchange/pair accepts
Moved from round() to math floor and ceil to explicitly round_down on amount and up on price.
FT was sending 18 decimal places on buy/sell amounts.
Not all exchages support this precision.
CCXT provides the precision each pair supports.
This change makes use of that information prior to buy or sell.
CCXT does not sort the ticker history from exchanges.
Bittrex and Binance are sorted ASC (oldest first, newest last) when
GDAX is sorted DESC (newest first, oldest last).
Because of that the get_ticker_history() fall in a very long loop
when the tickers are sorted DESC. Means it downloads more than
needed.
This commit enable exhanges like GDAX and unify the ticker_history
list across all exchanges.
* 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