Add amount_requested to database
This commit is contained in:
parent
d13cb4c055
commit
c826f7a707
@ -86,7 +86,7 @@ def check_migrate(engine) -> None:
|
|||||||
logger.debug(f'trying {table_back_name}')
|
logger.debug(f'trying {table_back_name}')
|
||||||
|
|
||||||
# Check for latest column
|
# Check for latest column
|
||||||
if not has_column(cols, 'timeframe'):
|
if not has_column(cols, 'amount_requested'):
|
||||||
logger.info(f'Running database migration - backup available as {table_back_name}')
|
logger.info(f'Running database migration - backup available as {table_back_name}')
|
||||||
|
|
||||||
fee_open = get_column_def(cols, 'fee_open', 'fee')
|
fee_open = get_column_def(cols, 'fee_open', 'fee')
|
||||||
@ -119,6 +119,7 @@ def check_migrate(engine) -> None:
|
|||||||
cols, 'close_profit_abs',
|
cols, 'close_profit_abs',
|
||||||
f"(amount * close_rate * (1 - {fee_close})) - {open_trade_price}")
|
f"(amount * close_rate * (1 - {fee_close})) - {open_trade_price}")
|
||||||
sell_order_status = get_column_def(cols, 'sell_order_status', 'null')
|
sell_order_status = get_column_def(cols, 'sell_order_status', 'null')
|
||||||
|
amount_requested = get_column_def(cols, 'amount_requested', 'amount')
|
||||||
|
|
||||||
# Schema migration necessary
|
# Schema migration necessary
|
||||||
engine.execute(f"alter table trades rename to {table_back_name}")
|
engine.execute(f"alter table trades rename to {table_back_name}")
|
||||||
@ -134,7 +135,7 @@ def check_migrate(engine) -> None:
|
|||||||
fee_open, fee_open_cost, fee_open_currency,
|
fee_open, fee_open_cost, fee_open_currency,
|
||||||
fee_close, fee_close_cost, fee_open_currency, open_rate,
|
fee_close, fee_close_cost, fee_open_currency, open_rate,
|
||||||
open_rate_requested, close_rate, close_rate_requested, close_profit,
|
open_rate_requested, close_rate, close_rate_requested, close_profit,
|
||||||
stake_amount, amount, open_date, close_date, open_order_id,
|
stake_amount, amount, amount_requested, open_date, close_date, open_order_id,
|
||||||
stop_loss, stop_loss_pct, initial_stop_loss, initial_stop_loss_pct,
|
stop_loss, stop_loss_pct, initial_stop_loss, initial_stop_loss_pct,
|
||||||
stoploss_order_id, stoploss_last_update,
|
stoploss_order_id, stoploss_last_update,
|
||||||
max_rate, min_rate, sell_reason, sell_order_status, strategy,
|
max_rate, min_rate, sell_reason, sell_order_status, strategy,
|
||||||
@ -153,7 +154,7 @@ def check_migrate(engine) -> None:
|
|||||||
{fee_close_cost} fee_close_cost, {fee_close_currency} fee_close_currency,
|
{fee_close_cost} fee_close_cost, {fee_close_currency} fee_close_currency,
|
||||||
open_rate, {open_rate_requested} open_rate_requested, close_rate,
|
open_rate, {open_rate_requested} open_rate_requested, close_rate,
|
||||||
{close_rate_requested} close_rate_requested, close_profit,
|
{close_rate_requested} close_rate_requested, close_profit,
|
||||||
stake_amount, amount, open_date, close_date, open_order_id,
|
stake_amount, amount, {amount_requested}, open_date, close_date, open_order_id,
|
||||||
{stop_loss} stop_loss, {stop_loss_pct} stop_loss_pct,
|
{stop_loss} stop_loss, {stop_loss_pct} stop_loss_pct,
|
||||||
{initial_stop_loss} initial_stop_loss,
|
{initial_stop_loss} initial_stop_loss,
|
||||||
{initial_stop_loss_pct} initial_stop_loss_pct,
|
{initial_stop_loss_pct} initial_stop_loss_pct,
|
||||||
@ -215,6 +216,7 @@ class Trade(_DECL_BASE):
|
|||||||
close_profit_abs = Column(Float)
|
close_profit_abs = Column(Float)
|
||||||
stake_amount = Column(Float, nullable=False)
|
stake_amount = Column(Float, nullable=False)
|
||||||
amount = Column(Float)
|
amount = Column(Float)
|
||||||
|
amount_requested = Column(Float)
|
||||||
open_date = Column(DateTime, nullable=False, default=datetime.utcnow)
|
open_date = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||||
close_date = Column(DateTime)
|
close_date = Column(DateTime)
|
||||||
open_order_id = Column(String)
|
open_order_id = Column(String)
|
||||||
@ -256,6 +258,7 @@ class Trade(_DECL_BASE):
|
|||||||
'is_open': self.is_open,
|
'is_open': self.is_open,
|
||||||
'exchange': self.exchange,
|
'exchange': self.exchange,
|
||||||
'amount': round(self.amount, 8),
|
'amount': round(self.amount, 8),
|
||||||
|
'amount_requested': round(self.amount_requested, 8),
|
||||||
'stake_amount': round(self.stake_amount, 8),
|
'stake_amount': round(self.stake_amount, 8),
|
||||||
'strategy': self.strategy,
|
'strategy': self.strategy,
|
||||||
'ticker_interval': self.timeframe, # DEPRECATED
|
'ticker_interval': self.timeframe, # DEPRECATED
|
||||||
|
@ -457,6 +457,7 @@ def test_migrate_old(mocker, default_conf, fee):
|
|||||||
assert trade.close_rate_requested is None
|
assert trade.close_rate_requested is None
|
||||||
assert trade.is_open == 1
|
assert trade.is_open == 1
|
||||||
assert trade.amount == amount
|
assert trade.amount == amount
|
||||||
|
assert trade.amount_requested == amount
|
||||||
assert trade.stake_amount == default_conf.get("stake_amount")
|
assert trade.stake_amount == default_conf.get("stake_amount")
|
||||||
assert trade.pair == "ETC/BTC"
|
assert trade.pair == "ETC/BTC"
|
||||||
assert trade.exchange == "bittrex"
|
assert trade.exchange == "bittrex"
|
||||||
@ -546,6 +547,7 @@ def test_migrate_new(mocker, default_conf, fee, caplog):
|
|||||||
assert trade.close_rate_requested is None
|
assert trade.close_rate_requested is None
|
||||||
assert trade.is_open == 1
|
assert trade.is_open == 1
|
||||||
assert trade.amount == amount
|
assert trade.amount == amount
|
||||||
|
assert trade.amount_requested == amount
|
||||||
assert trade.stake_amount == default_conf.get("stake_amount")
|
assert trade.stake_amount == default_conf.get("stake_amount")
|
||||||
assert trade.pair == "ETC/BTC"
|
assert trade.pair == "ETC/BTC"
|
||||||
assert trade.exchange == "binance"
|
assert trade.exchange == "binance"
|
||||||
@ -725,6 +727,7 @@ def test_to_json(default_conf, fee):
|
|||||||
pair='ETH/BTC',
|
pair='ETH/BTC',
|
||||||
stake_amount=0.001,
|
stake_amount=0.001,
|
||||||
amount=123.0,
|
amount=123.0,
|
||||||
|
amount_requested=123.0,
|
||||||
fee_open=fee.return_value,
|
fee_open=fee.return_value,
|
||||||
fee_close=fee.return_value,
|
fee_close=fee.return_value,
|
||||||
open_date=arrow.utcnow().shift(hours=-2).datetime,
|
open_date=arrow.utcnow().shift(hours=-2).datetime,
|
||||||
@ -757,6 +760,7 @@ def test_to_json(default_conf, fee):
|
|||||||
'close_rate': None,
|
'close_rate': None,
|
||||||
'close_rate_requested': None,
|
'close_rate_requested': None,
|
||||||
'amount': 123.0,
|
'amount': 123.0,
|
||||||
|
'amount_requested': 123.0,
|
||||||
'stake_amount': 0.001,
|
'stake_amount': 0.001,
|
||||||
'close_profit': None,
|
'close_profit': None,
|
||||||
'close_profit_abs': None,
|
'close_profit_abs': None,
|
||||||
@ -786,6 +790,7 @@ def test_to_json(default_conf, fee):
|
|||||||
pair='XRP/BTC',
|
pair='XRP/BTC',
|
||||||
stake_amount=0.001,
|
stake_amount=0.001,
|
||||||
amount=100.0,
|
amount=100.0,
|
||||||
|
amount_requested=101.0,
|
||||||
fee_open=fee.return_value,
|
fee_open=fee.return_value,
|
||||||
fee_close=fee.return_value,
|
fee_close=fee.return_value,
|
||||||
open_date=arrow.utcnow().shift(hours=-2).datetime,
|
open_date=arrow.utcnow().shift(hours=-2).datetime,
|
||||||
@ -808,6 +813,7 @@ def test_to_json(default_conf, fee):
|
|||||||
'open_rate': 0.123,
|
'open_rate': 0.123,
|
||||||
'close_rate': 0.125,
|
'close_rate': 0.125,
|
||||||
'amount': 100.0,
|
'amount': 100.0,
|
||||||
|
'amount_requested': 101.0,
|
||||||
'stake_amount': 0.001,
|
'stake_amount': 0.001,
|
||||||
'stop_loss': None,
|
'stop_loss': None,
|
||||||
'stop_loss_abs': None,
|
'stop_loss_abs': None,
|
||||||
|
Loading…
Reference in New Issue
Block a user