Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions tplus/model/order.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ class Order(BaseModel):
creation_timestamp_ns: int
canceled: bool = False
target: TradeTarget = TradeTarget.margin_account_spot_trade()
reduce_only: bool = False
protocol_version: int = 1

def signable_part(self) -> str:
Expand Down Expand Up @@ -114,6 +115,7 @@ class OrderResponse(BaseModel):
is_immediate_or_cancel: bool | None = None
is_fill_or_kill: bool | None = None
is_liquidation: bool | None = None
is_reduce_only: bool | None = None


def parse_orders(orders_data: list[dict[str, Any]]) -> list[OrderResponse]:
Expand Down
2 changes: 2 additions & 0 deletions tplus/utils/limit_order.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ def create_limit_order_ob_request_payload(
time_in_force: GTC | GTD | IOC | None = None,
trigger: OrderTrigger | None = None,
target: TradeTarget | None = None,
reduce_only: bool = False,
) -> CreateOrderRequest:
side_normalized = Side.SELL if side.lower() == "sell" else Side.BUY

Expand All @@ -41,6 +42,7 @@ def create_limit_order_ob_request_payload(
trigger=trigger,
creation_timestamp_ns=time.time_ns(),
target=actual_target,
reduce_only=reduce_only,
)
sign_payload_json = order.signable_part()
signature_bytes = signer.sign(sign_payload_json)
Expand Down
2 changes: 2 additions & 0 deletions tplus/utils/market_order.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ def create_market_order_ob_request_payload(
fill_or_kill: bool = False,
trigger: OrderTrigger | None = None,
target: TradeTarget | None = None,
reduce_only: bool = False,
) -> CreateOrderRequest:
side_normalized = Side.SELL if side.lower() == "sell" else Side.BUY

Expand All @@ -43,6 +44,7 @@ def create_market_order_ob_request_payload(
trigger=trigger,
creation_timestamp_ns=time.time_ns(),
target=actual_target,
reduce_only=reduce_only,
)

sign_payload_json = order.signable_part()
Expand Down
Loading