capital in trade extracted to a separated argument
This commit is contained in:
parent
108d9a1117
commit
e7684b446b
@ -160,19 +160,23 @@ class Edge():
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def stake_amount(self, pair: str, free_capital: float, total_capital: float) -> float:
|
def stake_amount(self, pair: str, free_capital: float,
|
||||||
|
total_capital: float, capital_in_trade: float) -> float:
|
||||||
stoploss = self.stoploss(pair)
|
stoploss = self.stoploss(pair)
|
||||||
available_capital = total_capital * self._capital_percentage
|
available_capital = (total_capital + capital_in_trade) * self._capital_percentage
|
||||||
allowed_capital_at_risk = available_capital * self._allowed_risk
|
allowed_capital_at_risk = available_capital * self._allowed_risk
|
||||||
max_position_size = abs(allowed_capital_at_risk / stoploss)
|
max_position_size = abs(allowed_capital_at_risk / stoploss)
|
||||||
position_size = min(max_position_size, free_capital)
|
position_size = min(max_position_size, free_capital)
|
||||||
if pair in self._cached_pairs:
|
if pair in self._cached_pairs:
|
||||||
logger.info(
|
logger.info(
|
||||||
'winrate: %s, expectancy: %s, position size: %s, pair: %s,'
|
'winrate: %s, expectancy: %s, position size: %s, pair: %s,'
|
||||||
|
' capital in trade: %s, free capital: %s, total capital: %s,'
|
||||||
' stoploss: %s, available capital: %s.',
|
' stoploss: %s, available capital: %s.',
|
||||||
self._cached_pairs[pair].winrate,
|
self._cached_pairs[pair].winrate,
|
||||||
self._cached_pairs[pair].expectancy,
|
self._cached_pairs[pair].expectancy,
|
||||||
position_size, pair, stoploss, available_capital
|
position_size, pair,
|
||||||
|
capital_in_trade, free_capital, total_capital,
|
||||||
|
stoploss, available_capital
|
||||||
)
|
)
|
||||||
return round(position_size, 15)
|
return round(position_size, 15)
|
||||||
|
|
||||||
|
@ -305,7 +305,7 @@ class FreqtradeBot(object):
|
|||||||
return self.edge.stake_amount(
|
return self.edge.stake_amount(
|
||||||
pair,
|
pair,
|
||||||
self.wallets.get_free(self.config['stake_currency']),
|
self.wallets.get_free(self.config['stake_currency']),
|
||||||
self.wallets.get_total(self.config['stake_currency']) +
|
self.wallets.get_total(self.config['stake_currency']),
|
||||||
Trade.total_open_trades_stakes()
|
Trade.total_open_trades_stakes()
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user