add has_open_orders to Trade model property
This commit is contained in:
@@ -469,6 +469,15 @@ class LocalTrade():
|
|||||||
except IndexError:
|
except IndexError:
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
|
@property
|
||||||
|
def has_open_orders(self) -> int:
|
||||||
|
open_orders_wo_sl = []
|
||||||
|
for oo in self.open_orders:
|
||||||
|
if (oo.ft_order_side not in ['stoploss']):
|
||||||
|
open_orders_wo_sl.append(oo)
|
||||||
|
|
||||||
|
return (len(open_orders_wo_sl) > 0)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def open_orders_count(self) -> int:
|
def open_orders_count(self) -> int:
|
||||||
return len(self.open_orders)
|
return len(self.open_orders)
|
||||||
@@ -1330,6 +1339,25 @@ class Trade(ModelBase, LocalTrade):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@hybrid_property
|
||||||
|
def has_open_orders(self) -> int:
|
||||||
|
open_orders_wo_sl = []
|
||||||
|
for oo in self.open_orders:
|
||||||
|
if (oo.ft_order_side not in ['stoploss']):
|
||||||
|
open_orders_wo_sl.append(oo)
|
||||||
|
|
||||||
|
return (len(open_orders_wo_sl) > 0)
|
||||||
|
|
||||||
|
@has_open_orders.expression
|
||||||
|
def has_open_orders(cls) -> int:
|
||||||
|
return (
|
||||||
|
select(func.exists())
|
||||||
|
.where(Order.ft_is_open.is_(True))
|
||||||
|
.where(Order.ft_order_side != "stoploss")
|
||||||
|
.where(Order.ft_trade_id == cls.id)
|
||||||
|
.as_scalar()
|
||||||
|
)
|
||||||
|
|
||||||
@hybrid_property
|
@hybrid_property
|
||||||
def open_orders_count(self) -> int:
|
def open_orders_count(self) -> int:
|
||||||
return len(self.open_orders)
|
return len(self.open_orders)
|
||||||
|
|||||||
Reference in New Issue
Block a user