From 4b42e1af4b9738269e895d344aede71508133945 Mon Sep 17 00:00:00 2001 From: gcarq Date: Sat, 30 Sep 2017 17:02:07 +0200 Subject: [PATCH] use deepcopy --- freqtrade/main.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/freqtrade/main.py b/freqtrade/main.py index 6c80d490c..518c82a6d 100755 --- a/freqtrade/main.py +++ b/freqtrade/main.py @@ -6,6 +6,7 @@ import traceback from datetime import datetime from typing import Dict, Optional +import copy from jsonschema import validate from freqtrade import exchange, persistence, __version__ @@ -88,11 +89,7 @@ def execute_sell(trade: Trade, current_rate: float) -> None: # Get available balance currency = trade.pair.split('_')[1] balance = exchange.get_balance(currency) - whitelist = _CONF[trade.exchange.name.lower()]['pair_whitelist'] - profit = trade.exec_sell_order(current_rate, balance) - if trade.pair not in whitelist: - whitelist.append(trade.pair) message = '*{}:* Selling [{}]({}) at rate `{:f} (profit: {}%)`'.format( trade.exchange.name, trade.pair.replace('_', '/'), @@ -161,7 +158,7 @@ def create_trade(stake_amount: float, _exchange: exchange.Exchange) -> Optional[ :param _exchange: exchange to use """ logger.info('Creating new trade with stake_amount: %f ...', stake_amount) - whitelist = _CONF[_exchange.name.lower()]['pair_whitelist'] + whitelist = copy.deepcopy(_CONF[_exchange.name.lower()]['pair_whitelist']) # Check if stake_amount is fulfilled if exchange.get_balance(_CONF['stake_currency']) < stake_amount: raise ValueError( @@ -169,11 +166,7 @@ def create_trade(stake_amount: float, _exchange: exchange.Exchange) -> Optional[ ) # Remove currently opened and latest pairs from whitelist - trades = Trade.query.filter(Trade.is_open.is_(True)).all() - latest_trade = Trade.query.filter(Trade.is_open.is_(False)).order_by(Trade.id.desc()).first() - if latest_trade: - trades.append(latest_trade) - for trade in trades: + for trade in Trade.query.filter(Trade.is_open.is_(True)).all(): if trade.pair in whitelist: whitelist.remove(trade.pair) logger.debug('Ignoring %s in pair whitelist', trade.pair)