Fixing buy and sell order
This commit is contained in:
parent
5f86c389b0
commit
d53d4b808b
@ -55,7 +55,7 @@ def refresh_whitelist(whitelist: List[str]) -> List[str]:
|
|||||||
return final_list
|
return final_list
|
||||||
|
|
||||||
|
|
||||||
def process_maybe_execute_buy(interval):
|
def process_maybe_execute_buy(interval: int) -> bool:
|
||||||
"""
|
"""
|
||||||
Tries to execute a buy trade in a safe way
|
Tries to execute a buy trade in a safe way
|
||||||
:return: True if executed
|
:return: True if executed
|
||||||
@ -75,7 +75,7 @@ def process_maybe_execute_buy(interval):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def process_maybe_execute_sell(trade, interval):
|
def process_maybe_execute_sell(trade: Trade, interval: int) -> bool:
|
||||||
"""
|
"""
|
||||||
Tries to execute a sell trade
|
Tries to execute a sell trade
|
||||||
:return: True if executed
|
:return: True if executed
|
||||||
@ -114,12 +114,15 @@ def _process(interval: int, nb_assets: Optional[int] = 0) -> bool:
|
|||||||
|
|
||||||
# Query trades from persistence layer
|
# Query trades from persistence layer
|
||||||
trades = Trade.query.filter(Trade.is_open.is_(True)).all()
|
trades = Trade.query.filter(Trade.is_open.is_(True)).all()
|
||||||
if len(trades) < _CONF['max_open_trades']:
|
|
||||||
state_changed = process_maybe_execute_buy(interval)
|
|
||||||
|
|
||||||
|
# First process current opened trades
|
||||||
for trade in trades:
|
for trade in trades:
|
||||||
state_changed |= process_maybe_execute_sell(trade, interval)
|
state_changed |= process_maybe_execute_sell(trade, interval)
|
||||||
|
|
||||||
|
# Then looking for buy opportunities
|
||||||
|
if len(trades) < _CONF['max_open_trades']:
|
||||||
|
state_changed = process_maybe_execute_buy(interval)
|
||||||
|
|
||||||
if 'unfilledtimeout' in _CONF:
|
if 'unfilledtimeout' in _CONF:
|
||||||
# Check and handle any timed out open orders
|
# Check and handle any timed out open orders
|
||||||
check_handle_timedout(_CONF['unfilledtimeout'])
|
check_handle_timedout(_CONF['unfilledtimeout'])
|
||||||
|
Loading…
Reference in New Issue
Block a user