@@ -867,7 +867,7 @@ class Exchange:
|
|||||||
}
|
}
|
||||||
if stop_loss:
|
if stop_loss:
|
||||||
dry_order["info"] = {"stopPrice": dry_order["price"]}
|
dry_order["info"] = {"stopPrice": dry_order["price"]}
|
||||||
dry_order["stopPrice"] = dry_order["price"]
|
dry_order[self._ft_has['stop_price_param']] = dry_order["price"]
|
||||||
# Workaround to avoid filling stoploss orders immediately
|
# Workaround to avoid filling stoploss orders immediately
|
||||||
dry_order["ft_order_type"] = "stoploss"
|
dry_order["ft_order_type"] = "stoploss"
|
||||||
orderbook: Optional[OrderBook] = None
|
orderbook: Optional[OrderBook] = None
|
||||||
@@ -1019,7 +1019,7 @@ class Exchange:
|
|||||||
from freqtrade.persistence import Order
|
from freqtrade.persistence import Order
|
||||||
order = Order.order_by_id(order_id)
|
order = Order.order_by_id(order_id)
|
||||||
if order:
|
if order:
|
||||||
ccxt_order = order.to_ccxt_object()
|
ccxt_order = order.to_ccxt_object(self._ft_has['stop_price_param'])
|
||||||
self._dry_run_open_orders[order_id] = ccxt_order
|
self._dry_run_open_orders[order_id] = ccxt_order
|
||||||
return ccxt_order
|
return ccxt_order
|
||||||
# Gracefully handle errors with dry-run orders.
|
# Gracefully handle errors with dry-run orders.
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ class Order(ModelBase):
|
|||||||
self.order_filled_date = datetime.now(timezone.utc)
|
self.order_filled_date = datetime.now(timezone.utc)
|
||||||
self.order_update_date = datetime.now(timezone.utc)
|
self.order_update_date = datetime.now(timezone.utc)
|
||||||
|
|
||||||
def to_ccxt_object(self) -> Dict[str, Any]:
|
def to_ccxt_object(self, stopPriceName: str = 'stopPrice') -> Dict[str, Any]:
|
||||||
order: Dict[str, Any] = {
|
order: Dict[str, Any] = {
|
||||||
'id': self.order_id,
|
'id': self.order_id,
|
||||||
'symbol': self.ft_pair,
|
'symbol': self.ft_pair,
|
||||||
@@ -170,7 +170,6 @@ class Order(ModelBase):
|
|||||||
'side': self.ft_order_side,
|
'side': self.ft_order_side,
|
||||||
'filled': self.filled,
|
'filled': self.filled,
|
||||||
'remaining': self.remaining,
|
'remaining': self.remaining,
|
||||||
'stopPrice': self.stop_price,
|
|
||||||
'datetime': self.order_date_utc.strftime('%Y-%m-%dT%H:%M:%S.%f'),
|
'datetime': self.order_date_utc.strftime('%Y-%m-%dT%H:%M:%S.%f'),
|
||||||
'timestamp': int(self.order_date_utc.timestamp() * 1000),
|
'timestamp': int(self.order_date_utc.timestamp() * 1000),
|
||||||
'status': self.status,
|
'status': self.status,
|
||||||
@@ -178,7 +177,11 @@ class Order(ModelBase):
|
|||||||
'info': {},
|
'info': {},
|
||||||
}
|
}
|
||||||
if self.ft_order_side == 'stoploss':
|
if self.ft_order_side == 'stoploss':
|
||||||
order['ft_order_type'] = 'stoploss'
|
order.update({
|
||||||
|
stopPriceName: self.stop_price,
|
||||||
|
'ft_order_type': 'stoploss',
|
||||||
|
})
|
||||||
|
|
||||||
return order
|
return order
|
||||||
|
|
||||||
def to_json(self, entry_side: str, minified: bool = False) -> Dict[str, Any]:
|
def to_json(self, entry_side: str, minified: bool = False) -> Dict[str, Any]:
|
||||||
|
|||||||
Reference in New Issue
Block a user