pub struct Order {Show 31 fields
pub id: String,
pub client_order_id: Option<String>,
pub timestamp: Option<i64>,
pub datetime: Option<String>,
pub last_trade_timestamp: Option<i64>,
pub symbol: String,
pub order_type: OrderType,
pub time_in_force: Option<String>,
pub post_only: Option<bool>,
pub reduce_only: Option<bool>,
pub side: OrderSide,
pub price: Option<Decimal>,
pub stop_price: Option<Decimal>,
pub trigger_price: Option<Decimal>,
pub take_profit_price: Option<Decimal>,
pub stop_loss_price: Option<Decimal>,
pub trailing_delta: Option<Decimal>,
pub trailing_percent: Option<Decimal>,
pub activation_price: Option<Decimal>,
pub callback_rate: Option<Decimal>,
pub working_type: Option<String>,
pub amount: Decimal,
pub filled: Option<Decimal>,
pub remaining: Option<Decimal>,
pub cost: Option<Decimal>,
pub average: Option<Decimal>,
pub status: OrderStatus,
pub fee: Option<Fee>,
pub fees: Option<Vec<Fee>>,
pub trades: Option<Vec<String>>,
pub info: HashMap<String, Value>,
}Expand description
Order structure
Represents a trading order with all its metadata including prices, amounts, fees, and timestamps.
Fields§
§id: StringOrder ID
client_order_id: Option<String>Client order ID
timestamp: Option<i64>Timestamp when order was created (milliseconds)
datetime: Option<String>Datetime when order was created
last_trade_timestamp: Option<i64>Last update timestamp (milliseconds)
symbol: StringSymbol (e.g., “BTC/USDT”)
order_type: OrderTypeOrder type (market, limit, etc.)
time_in_force: Option<String>Time in force (GTC, IOC, FOK, etc.)
post_only: Option<bool>Post only flag
reduce_only: Option<bool>Reduce only flag (for futures)
side: OrderSideOrder side (buy/sell)
price: Option<Decimal>Order price
stop_price: Option<Decimal>Stop price (for stop orders)
trigger_price: Option<Decimal>Trigger price
take_profit_price: Option<Decimal>Take profit price
stop_loss_price: Option<Decimal>Stop loss price
trailing_delta: Option<Decimal>Trailing delta (for trailing stop orders, in basis points)
trailing_percent: Option<Decimal>Trailing percent (for trailing stop orders)
activation_price: Option<Decimal>Activation price (for trailing stop orders)
callback_rate: Option<Decimal>Callback rate (for futures trailing stop orders)
working_type: Option<String>Working type (CONTRACT_PRICE or MARK_PRICE for futures)
amount: DecimalOrder amount
filled: Option<Decimal>Filled amount
remaining: Option<Decimal>Remaining amount
cost: Option<Decimal>Cost (filled_amount * average_price)
average: Option<Decimal>Average fill price
status: OrderStatusOrder status
fee: Option<Fee>Fee information
fees: Option<Vec<Fee>>Fees (multiple fees)
trades: Option<Vec<String>>Trades associated with this order
info: HashMap<String, Value>Raw exchange info
Implementations§
Source§impl Order
impl Order
Sourcepub fn new(
id: String,
symbol: String,
order_type: OrderType,
side: OrderSide,
amount: Decimal,
price: Option<Decimal>,
status: OrderStatus,
) -> Order
pub fn new( id: String, symbol: String, order_type: OrderType, side: OrderSide, amount: Decimal, price: Option<Decimal>, status: OrderStatus, ) -> Order
Create a new order
Sourcepub fn is_cancelled(&self) -> bool
pub fn is_cancelled(&self) -> bool
Check if order is cancelled
Sourcepub fn datetime_utc(&self) -> Option<DateTime<Utc>>
pub fn datetime_utc(&self) -> Option<DateTime<Utc>>
Get DateTime from timestamp
Sourcepub fn fill_percentage(&self) -> Option<Decimal>
pub fn fill_percentage(&self) -> Option<Decimal>
Calculate fill percentage
Source§impl Order
impl Order
Sourcepub fn builder(symbol: String, side: OrderSide, amount: Decimal) -> OrderBuilder
pub fn builder(symbol: String, side: OrderSide, amount: Decimal) -> OrderBuilder
Creates an order builder.
Preferred way to construct orders, providing a fluent API with validation.
§Examples
use ccxt_core::types::{Order, OrderSide};
use rust_decimal_macros::dec;
let order = Order::builder("BTC/USDT".to_string(), OrderSide::Buy, dec!(0.1))
.limit(dec!(50000))
.time_in_force(ccxt_core::types::TimeInForce::GTC)
.build()
.expect("valid order");