|
@@ -566,7 +566,7 @@ def delete_order(order_id, new_order_status):
|
|
|
expiry_dt,
|
|
|
?,
|
|
|
rowid
|
|
|
- FROM order
|
|
|
+ FROM orders
|
|
|
WHERE rowid = ?
|
|
|
''', (order_id, new_order_status))
|
|
|
|
|
@@ -593,6 +593,7 @@ def current_value(ownable_id):
|
|
|
|
|
|
def execute_orders(ownable_id):
|
|
|
connect()
|
|
|
+ orders_changed = False
|
|
|
while True:
|
|
|
# find order to execute
|
|
|
cursor.execute('''
|
|
@@ -670,9 +671,12 @@ def execute_orders(ownable_id):
|
|
|
# user_id,user_id,rowid,rowid)
|
|
|
|
|
|
if not matching_orders:
|
|
|
+ if not orders_changed:
|
|
|
+ break
|
|
|
# check if the trading bot has any new offers to make
|
|
|
new_order_was_placed = trading_bot.notify_order_traded(ownable_id)
|
|
|
if new_order_was_placed:
|
|
|
+ orders_changed = False
|
|
|
continue
|
|
|
else:
|
|
|
break
|
|
@@ -732,8 +736,10 @@ def execute_orders(ownable_id):
|
|
|
|
|
|
if buy_order_finished:
|
|
|
delete_order(buy_order_id, 'Executed')
|
|
|
+ orders_changed = True
|
|
|
if sell_order_finished:
|
|
|
delete_order(sell_order_id, 'Executed')
|
|
|
+ orders_changed = True
|
|
|
|
|
|
if seller_id != buyer_id: # prevent showing self-transactions
|
|
|
cursor.execute('''
|
|
@@ -1150,16 +1156,16 @@ def get_old_orders(user_id, include_executed, include_canceled, limit):
|
|
|
cursor.execute('''
|
|
|
SELECT
|
|
|
(CASE WHEN order_history.buy THEN 'Buy' ELSE 'Sell' END),
|
|
|
- ownable.name,
|
|
|
- order_history.amount,
|
|
|
- order_history.limit,
|
|
|
+ ownables.name,
|
|
|
+ (order_history.ordered_amount - order_history.executed_amount) || '/' || order_history.ordered_amount,
|
|
|
+ order_history."limit",
|
|
|
order_history.expiry_dt,
|
|
|
order_history.order_id,
|
|
|
order_history.status
|
|
|
- FROM order_history, ownership, ownable
|
|
|
+ FROM order_history, ownership, ownables
|
|
|
WHERE ownership.user_id = ?
|
|
|
AND ownership.rowid = order_history.ownership_id
|
|
|
- AND ownable.rowid = ownership.ownable_id
|
|
|
+ AND ownables.rowid = ownership.ownable_id
|
|
|
AND (
|
|
|
(order_history.status = 'Executed' AND ?)
|
|
|
OR
|