adding get_free to wallet

This commit is contained in:
misagh 2018-11-24 16:37:28 +01:00
parent a9f04609d3
commit 29347a6931
3 changed files with 16 additions and 9 deletions

View File

@ -337,7 +337,7 @@ class FreqtradeBot(object):
else:
stake_amount = self.config['stake_amount']
avaliable_amount = self.wallets.wallets[self.config['stake_currency']].free
avaliable_amount = self.wallets.get_free(self.config['stake_currency'])
if stake_amount == constants.UNLIMITED_STAKE_AMOUNT:
open_trades = len(Trade.query.filter(Trade.is_open.is_(True)).all())

View File

@ -14,7 +14,6 @@ from telegram import Chat, Message, Update
from freqtrade.exchange.exchange_helpers import parse_ticker_dataframe
from freqtrade.exchange import Exchange
from freqtrade.edge import Edge
from freqtrade.wallets import Wallet
from freqtrade.freqtradebot import FreqtradeBot
logging.getLogger('').setLevel(logging.INFO)
@ -46,9 +45,9 @@ def get_patched_exchange(mocker, config, api_mock=None) -> Exchange:
return exchange
def patch_wallet(mocker, currency='BTC', free=999.9) -> None:
mocker.patch('freqtrade.wallets.Wallet', MagicMock(
return_value=Wallet('bittrex', currency, free, 100, 1000)
def patch_wallet(mocker, free=999.9) -> None:
mocker.patch('freqtrade.wallets.Wallets.get_free', MagicMock(
return_value=free
))

View File

@ -26,12 +26,20 @@ class Wallets(object):
def __init__(self, exchange: Exchange) -> None:
self.exchange = exchange
if self.exchange._conf['dry_run']:
self.wallets: Dict[str, Any] = {'BTC': Wallet('Bittrex', 'BTC', 999.99, 100, 1000)}
else:
self.wallets: Dict[str, Any] = {}
self.update()
def get_free(self, currency) -> float:
if self.exchange._conf['dry_run']:
return 999.9
balance = self.wallets.get(currency)
if balance and balance['free']:
return balance['free']
else:
return 0
def update(self) -> None:
balances = self.exchange.get_balances()