pub struct OKXWebSocketClient { /* private fields */ }Expand description
Provides a WebSocket client for connecting to OKX.
Implementations§
Source§impl OKXWebSocketClient
impl OKXWebSocketClient
Sourcepub fn new(
url: Option<String>,
api_key: Option<String>,
api_secret: Option<String>,
api_passphrase: Option<String>,
account_id: Option<AccountId>,
heartbeat: Option<u64>,
) -> Result<Self>
pub fn new( url: Option<String>, api_key: Option<String>, api_secret: Option<String>, api_passphrase: Option<String>, account_id: Option<AccountId>, heartbeat: Option<u64>, ) -> Result<Self>
Sourcepub fn with_credentials(
url: Option<String>,
api_key: Option<String>,
api_secret: Option<String>,
api_passphrase: Option<String>,
account_id: Option<AccountId>,
heartbeat: Option<u64>,
) -> Result<Self>
pub fn with_credentials( url: Option<String>, api_key: Option<String>, api_secret: Option<String>, api_passphrase: Option<String>, account_id: Option<AccountId>, heartbeat: Option<u64>, ) -> Result<Self>
Creates a new OKXWebSocketClient instance.
§Errors
Returns an error if credential values cannot be loaded or if the client fails to initialize.
Sourcepub fn from_env() -> Result<Self>
pub fn from_env() -> Result<Self>
Creates a new authenticated OKXWebSocketClient using environment variables.
§Errors
Returns an error if required environment variables are missing or if the client fails to initialize.
Sourcepub fn cancel_all_requests(&self)
pub fn cancel_all_requests(&self)
Cancel all pending WebSocket requests.
Sourcepub fn cancellation_token(&self) -> &CancellationToken
pub fn cancellation_token(&self) -> &CancellationToken
Get the cancellation token for this client.
Sourcepub fn is_active(&self) -> bool
pub fn is_active(&self) -> bool
Get a read lock on the inner client Returns a value indicating whether the client is active.
Sourcepub fn initialize_instruments_cache(&mut self, instruments: Vec<InstrumentAny>)
pub fn initialize_instruments_cache(&mut self, instruments: Vec<InstrumentAny>)
Initialize the instruments cache with the given instruments.
Sourcepub fn set_vip_level(&self, vip_level: OKXVipLevel)
pub fn set_vip_level(&self, vip_level: OKXVipLevel)
Sets the VIP level for this client.
The VIP level determines which WebSocket channels are available.
Sourcepub fn vip_level(&self) -> OKXVipLevel
pub fn vip_level(&self) -> OKXVipLevel
Gets the current VIP level.
Sourcepub fn stream(&mut self) -> impl Stream<Item = NautilusWsMessage> + 'static
pub fn stream(&mut self) -> impl Stream<Item = NautilusWsMessage> + 'static
Provides the internal data stream as a channel-based stream.
§Panics
This function panics if:
- The websocket is not connected.
stream_datahas already been called somewhere else (stream receiver is then taken).
Sourcepub async fn wait_until_active(
&self,
timeout_secs: f64,
) -> Result<(), OKXWsError>
pub async fn wait_until_active( &self, timeout_secs: f64, ) -> Result<(), OKXWsError>
Wait until the WebSocket connection is active.
§Errors
Returns an error if the connection times out.
Sourcepub async fn close(&mut self) -> Result<(), Error>
pub async fn close(&mut self) -> Result<(), Error>
Closes the client.
§Errors
Returns an error if disconnecting the websocket or cleaning up the client fails.
Sourcepub fn get_subscriptions(
&self,
instrument_id: InstrumentId,
) -> Vec<OKXWsChannel>
pub fn get_subscriptions( &self, instrument_id: InstrumentId, ) -> Vec<OKXWsChannel>
Get active subscriptions for a specific instrument.
Sourcepub async fn unsubscribe_all(&self) -> Result<(), OKXWsError>
pub async fn unsubscribe_all(&self) -> Result<(), OKXWsError>
Unsubscribes from all active subscriptions in batched messages.
Collects all confirmed subscriptions and sends unsubscribe requests in batches, which is significantly more efficient than individual unsubscribes during disconnect.
§Errors
Returns an error if the unsubscribe request fails to send.
Sourcepub async fn subscribe_instruments(
&self,
instrument_type: OKXInstrumentType,
) -> Result<(), OKXWsError>
pub async fn subscribe_instruments( &self, instrument_type: OKXInstrumentType, ) -> Result<(), OKXWsError>
Subscribes to instrument updates for a specific instrument type.
Provides updates when instrument specifications change.
§Errors
Returns an error if the subscription request fails.
§References
https://www.okx.com/docs-v5/en/#public-data-websocket-instruments-channel.
Sourcepub async fn subscribe_instrument(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn subscribe_instrument( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Subscribes to instrument updates for a specific instrument.
Provides updates when instrument specifications change.
§Errors
Returns an error if the subscription request fails.
§References
https://www.okx.com/docs-v5/en/#public-data-websocket-instruments-channel.
Sourcepub async fn subscribe_book(&self, instrument_id: InstrumentId) -> Result<()>
pub async fn subscribe_book(&self, instrument_id: InstrumentId) -> Result<()>
Subscribes to order book data for an instrument.
This is a convenience method that calls Self::subscribe_book_with_depth with depth 0,
which automatically selects the appropriate channel based on VIP level.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn subscribe_book_depth5(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn subscribe_book_depth5( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Subscribes to 5-level order book snapshot data for an instrument.
Updates every 100ms when there are changes.
§Errors
Returns an error if the subscription request fails.
§References
https://www.okx.com/docs-v5/en/#order-book-trading-market-data-ws-order-book-5-depth-channel.
Sourcepub async fn subscribe_book50_l2_tbt(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn subscribe_book50_l2_tbt( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Subscribes to 50-level tick-by-tick order book data for an instrument.
Provides real-time updates whenever order book changes.
§Errors
Returns an error if the subscription request fails.
§References
https://www.okx.com/docs-v5/en/#order-book-trading-market-data-ws-order-book-50-depth-tbt-channel.
Sourcepub async fn subscribe_book_l2_tbt(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn subscribe_book_l2_tbt( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Subscribes to tick-by-tick full depth (400 levels) order book data for an instrument.
Provides real-time updates with all depth levels whenever order book changes.
§Errors
Returns an error if the subscription request fails.
§References
https://www.okx.com/docs-v5/en/#order-book-trading-market-data-ws-order-book-400-depth-tbt-channel.
Sourcepub async fn subscribe_book_with_depth(
&self,
instrument_id: InstrumentId,
depth: u16,
) -> Result<()>
pub async fn subscribe_book_with_depth( &self, instrument_id: InstrumentId, depth: u16, ) -> Result<()>
Subscribes to order book data with automatic channel selection based on VIP level and depth.
Selects the optimal channel based on user’s VIP tier and requested depth:
- depth 50: Requires VIP4+, subscribes to
books50-l2-tbt - depth 0 or 400:
- VIP5+: subscribes to
books-l2-tbt(400 depth, fastest) - Below VIP5: subscribes to
books(standard depth)
- VIP5+: subscribes to
§Errors
Returns an error if:
- Subscription request fails
- depth is 50 but VIP level is below 4
Sourcepub async fn subscribe_quotes(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn subscribe_quotes( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Subscribes to best bid/ask quote data for an instrument.
Provides tick-by-tick updates of the best bid and ask prices using the bbo-tbt channel. Supports all instrument types: SPOT, MARGIN, SWAP, FUTURES, OPTION.
§Errors
Returns an error if the subscription request fails.
§References
https://www.okx.com/docs-v5/en/#order-book-trading-market-data-ws-best-bid-offer-channel.
Sourcepub async fn subscribe_trades(
&self,
instrument_id: InstrumentId,
aggregated: bool,
) -> Result<(), OKXWsError>
pub async fn subscribe_trades( &self, instrument_id: InstrumentId, aggregated: bool, ) -> Result<(), OKXWsError>
Subscribes to trade data for an instrument.
When aggregated is false, subscribes to the trades channel (per-match updates).
When aggregated is true, subscribes to the trades-all channel (aggregated updates).
§Errors
Returns an error if the subscription request fails.
§References
https://www.okx.com/docs-v5/en/#order-book-trading-market-data-ws-trades-channel. https://www.okx.com/docs-v5/en/#order-book-trading-market-data-ws-all-trades-channel.
Sourcepub async fn subscribe_ticker(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn subscribe_ticker( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Subscribes to 24hr rolling ticker data for an instrument.
Updates every 100ms with trading statistics.
§Errors
Returns an error if the subscription request fails.
§References
https://www.okx.com/docs-v5/en/#order-book-trading-market-data-ws-tickers-channel.
Sourcepub async fn subscribe_mark_prices(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn subscribe_mark_prices( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Subscribes to mark price data for derivatives instruments.
Updates every 200ms for perpetual swaps, or at settlement for futures.
§Errors
Returns an error if the subscription request fails.
§References
https://www.okx.com/docs-v5/en/#public-data-websocket-mark-price-channel.
Sourcepub async fn subscribe_index_prices(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn subscribe_index_prices( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Subscribes to index price data for an instrument.
Updates every second with the underlying index price.
§Errors
Returns an error if the subscription request fails.
§References
https://www.okx.com/docs-v5/en/#public-data-websocket-index-tickers-channel.
Sourcepub async fn subscribe_funding_rates(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn subscribe_funding_rates( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Subscribes to funding rate data for perpetual swap instruments.
Updates when funding rate changes or at funding intervals.
§Errors
Returns an error if the subscription request fails.
§References
https://www.okx.com/docs-v5/en/#public-data-websocket-funding-rate-channel.
Sourcepub async fn subscribe_bars(&self, bar_type: BarType) -> Result<(), OKXWsError>
pub async fn subscribe_bars(&self, bar_type: BarType) -> Result<(), OKXWsError>
Subscribes to candlestick/bar data for an instrument.
Supports various time intervals from 1s to 3M.
§Errors
Returns an error if the subscription request fails.
§References
https://www.okx.com/docs-v5/en/#order-book-trading-market-data-ws-candlesticks-channel.
Sourcepub async fn unsubscribe_instruments(
&self,
instrument_type: OKXInstrumentType,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_instruments( &self, instrument_type: OKXInstrumentType, ) -> Result<(), OKXWsError>
Unsubscribes from instrument updates for a specific instrument type.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn unsubscribe_instrument(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_instrument( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Unsubscribe from instrument updates for a specific instrument.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn unsubscribe_book(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_book( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Unsubscribe from full order book data for an instrument.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn unsubscribe_book_depth5(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_book_depth5( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Unsubscribe from 5-level order book snapshot data for an instrument.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn unsubscribe_book50_l2_tbt(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_book50_l2_tbt( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Unsubscribe from 50-level tick-by-tick order book data for an instrument.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn unsubscribe_book_l2_tbt(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_book_l2_tbt( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Unsubscribe from tick-by-tick full depth order book data for an instrument.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn unsubscribe_quotes(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_quotes( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Unsubscribe from best bid/ask quote data for an instrument.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn unsubscribe_ticker(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_ticker( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Unsubscribe from 24hr rolling ticker data for an instrument.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn unsubscribe_mark_prices(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_mark_prices( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Unsubscribe from mark price data for a derivatives instrument.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn unsubscribe_index_prices(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_index_prices( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Unsubscribe from index price data for an instrument.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn unsubscribe_funding_rates(
&self,
instrument_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_funding_rates( &self, instrument_id: InstrumentId, ) -> Result<(), OKXWsError>
Unsubscribe from funding rate data for a perpetual swap instrument.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn unsubscribe_trades(
&self,
instrument_id: InstrumentId,
aggregated: bool,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_trades( &self, instrument_id: InstrumentId, aggregated: bool, ) -> Result<(), OKXWsError>
Unsubscribe from trade data for an instrument.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn unsubscribe_bars(
&self,
bar_type: BarType,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_bars( &self, bar_type: BarType, ) -> Result<(), OKXWsError>
Unsubscribe from candlestick/bar data for an instrument.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn subscribe_orders(
&self,
instrument_type: OKXInstrumentType,
) -> Result<(), OKXWsError>
pub async fn subscribe_orders( &self, instrument_type: OKXInstrumentType, ) -> Result<(), OKXWsError>
Subscribes to order updates for the given instrument type.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn unsubscribe_orders(
&self,
instrument_type: OKXInstrumentType,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_orders( &self, instrument_type: OKXInstrumentType, ) -> Result<(), OKXWsError>
Unsubscribes from order updates for the given instrument type.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn subscribe_orders_algo(
&self,
instrument_type: OKXInstrumentType,
) -> Result<(), OKXWsError>
pub async fn subscribe_orders_algo( &self, instrument_type: OKXInstrumentType, ) -> Result<(), OKXWsError>
Subscribes to algo order updates for the given instrument type.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn unsubscribe_orders_algo(
&self,
instrument_type: OKXInstrumentType,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_orders_algo( &self, instrument_type: OKXInstrumentType, ) -> Result<(), OKXWsError>
Unsubscribes from algo order updates for the given instrument type.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn subscribe_fills(
&self,
instrument_type: OKXInstrumentType,
) -> Result<(), OKXWsError>
pub async fn subscribe_fills( &self, instrument_type: OKXInstrumentType, ) -> Result<(), OKXWsError>
Subscribes to fill updates for the given instrument type.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn unsubscribe_fills(
&self,
instrument_type: OKXInstrumentType,
) -> Result<(), OKXWsError>
pub async fn unsubscribe_fills( &self, instrument_type: OKXInstrumentType, ) -> Result<(), OKXWsError>
Unsubscribes from fill updates for the given instrument type.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn subscribe_account(&self) -> Result<(), OKXWsError>
pub async fn subscribe_account(&self) -> Result<(), OKXWsError>
Sourcepub async fn unsubscribe_account(&self) -> Result<(), OKXWsError>
pub async fn unsubscribe_account(&self) -> Result<(), OKXWsError>
Unsubscribes from account balance updates.
§Errors
Returns an error if the subscription request fails.
Sourcepub async fn submit_order(
&self,
trader_id: TraderId,
strategy_id: StrategyId,
instrument_id: InstrumentId,
td_mode: OKXTradeMode,
client_order_id: ClientOrderId,
order_side: OrderSide,
order_type: OrderType,
quantity: Quantity,
time_in_force: Option<TimeInForce>,
price: Option<Price>,
trigger_price: Option<Price>,
post_only: Option<bool>,
reduce_only: Option<bool>,
quote_quantity: Option<bool>,
position_side: Option<PositionSide>,
) -> Result<(), OKXWsError>
pub async fn submit_order( &self, trader_id: TraderId, strategy_id: StrategyId, instrument_id: InstrumentId, td_mode: OKXTradeMode, client_order_id: ClientOrderId, order_side: OrderSide, order_type: OrderType, quantity: Quantity, time_in_force: Option<TimeInForce>, price: Option<Price>, trigger_price: Option<Price>, post_only: Option<bool>, reduce_only: Option<bool>, quote_quantity: Option<bool>, position_side: Option<PositionSide>, ) -> Result<(), OKXWsError>
Sourcepub async fn cancel_order(
&self,
trader_id: TraderId,
strategy_id: StrategyId,
instrument_id: InstrumentId,
client_order_id: Option<ClientOrderId>,
venue_order_id: Option<VenueOrderId>,
) -> Result<(), OKXWsError>
pub async fn cancel_order( &self, trader_id: TraderId, strategy_id: StrategyId, instrument_id: InstrumentId, client_order_id: Option<ClientOrderId>, venue_order_id: Option<VenueOrderId>, ) -> Result<(), OKXWsError>
Cancels an existing order.
§Errors
Returns an error if the cancel parameters are invalid or if the cancellation request fails to send.
§References
https://www.okx.com/docs-v5/en/#order-book-trading-trade-ws-cancel-order.
Sourcepub async fn modify_order(
&self,
trader_id: TraderId,
strategy_id: StrategyId,
instrument_id: InstrumentId,
client_order_id: Option<ClientOrderId>,
price: Option<Price>,
quantity: Option<Quantity>,
venue_order_id: Option<VenueOrderId>,
) -> Result<(), OKXWsError>
pub async fn modify_order( &self, trader_id: TraderId, strategy_id: StrategyId, instrument_id: InstrumentId, client_order_id: Option<ClientOrderId>, price: Option<Price>, quantity: Option<Quantity>, venue_order_id: Option<VenueOrderId>, ) -> Result<(), OKXWsError>
Modifies an existing order.
§Errors
Returns an error if the amend parameters are invalid or if the websocket request fails to send.
§References
https://www.okx.com/docs-v5/en/#order-book-trading-trade-ws-amend-order.
Sourcepub async fn batch_submit_orders(
&self,
orders: Vec<(OKXInstrumentType, InstrumentId, OKXTradeMode, ClientOrderId, OrderSide, Option<PositionSide>, OrderType, Quantity, Option<Price>, Option<Price>, Option<bool>, Option<bool>)>,
) -> Result<(), OKXWsError>
pub async fn batch_submit_orders( &self, orders: Vec<(OKXInstrumentType, InstrumentId, OKXTradeMode, ClientOrderId, OrderSide, Option<PositionSide>, OrderType, Quantity, Option<Price>, Option<Price>, Option<bool>, Option<bool>)>, ) -> Result<(), OKXWsError>
Submits multiple orders.
§Errors
Returns an error if any batch order parameters are invalid or if the batch request fails to send.
Sourcepub async fn batch_cancel_orders(
&self,
orders: Vec<(InstrumentId, Option<ClientOrderId>, Option<VenueOrderId>)>,
) -> Result<(), OKXWsError>
pub async fn batch_cancel_orders( &self, orders: Vec<(InstrumentId, Option<ClientOrderId>, Option<VenueOrderId>)>, ) -> Result<(), OKXWsError>
Cancels multiple orders.
Supports up to 20 orders per batch.
§Errors
Returns an error if cancel parameters are invalid or if the batch request fails to send.
§References
https://www.okx.com/docs-v5/en/#order-book-trading-websocket-batch-cancel-orders
Sourcepub async fn mass_cancel_orders(
&self,
inst_id: InstrumentId,
) -> Result<(), OKXWsError>
pub async fn mass_cancel_orders( &self, inst_id: InstrumentId, ) -> Result<(), OKXWsError>
Mass cancels all orders for a given instrument via WebSocket.
§Errors
Returns an error if instrument metadata cannot be resolved or if the cancel request fails to send.
§Parameters
inst_id: The instrument ID. The instrument type will be automatically determined from the symbol.
§References
https://www.okx.com/docs-v5/en/#order-book-trading-websocket-mass-cancel-order Helper function to determine instrument type and family from symbol using instruments cache.
Sourcepub async fn batch_modify_orders(
&self,
orders: Vec<(OKXInstrumentType, InstrumentId, ClientOrderId, ClientOrderId, Option<Price>, Option<Quantity>)>,
) -> Result<(), OKXWsError>
pub async fn batch_modify_orders( &self, orders: Vec<(OKXInstrumentType, InstrumentId, ClientOrderId, ClientOrderId, Option<Price>, Option<Quantity>)>, ) -> Result<(), OKXWsError>
Modifies multiple orders via WebSocket using Nautilus domain types.
§Errors
Returns an error if amend parameters are invalid or if the batch request fails to send.
Sourcepub async fn submit_algo_order(
&self,
trader_id: TraderId,
strategy_id: StrategyId,
instrument_id: InstrumentId,
td_mode: OKXTradeMode,
client_order_id: ClientOrderId,
order_side: OrderSide,
order_type: OrderType,
quantity: Quantity,
trigger_price: Price,
trigger_type: Option<TriggerType>,
limit_price: Option<Price>,
reduce_only: Option<bool>,
) -> Result<(), OKXWsError>
pub async fn submit_algo_order( &self, trader_id: TraderId, strategy_id: StrategyId, instrument_id: InstrumentId, td_mode: OKXTradeMode, client_order_id: ClientOrderId, order_side: OrderSide, order_type: OrderType, quantity: Quantity, trigger_price: Price, trigger_type: Option<TriggerType>, limit_price: Option<Price>, reduce_only: Option<bool>, ) -> Result<(), OKXWsError>
Submits an algo order (conditional/stop order).
§Errors
Returns an error if the order parameters are invalid or if the request cannot be sent.
§References
https://www.okx.com/docs-v5/en/#order-book-trading-algo-trading-post-place-algo-order
Sourcepub async fn cancel_algo_order(
&self,
trader_id: TraderId,
strategy_id: StrategyId,
instrument_id: InstrumentId,
client_order_id: Option<ClientOrderId>,
algo_order_id: Option<String>,
) -> Result<(), OKXWsError>
pub async fn cancel_algo_order( &self, trader_id: TraderId, strategy_id: StrategyId, instrument_id: InstrumentId, client_order_id: Option<ClientOrderId>, algo_order_id: Option<String>, ) -> Result<(), OKXWsError>
Cancels an algo order.
§Errors
Returns an error if cancel parameters are invalid or if the request fails to send.
§References
https://www.okx.com/docs-v5/en/#order-book-trading-algo-trading-post-cancel-algo-order
Source§impl OKXWebSocketClient
impl OKXWebSocketClient
pub fn py_url(&self) -> &str
pub fn py_api_key(&self) -> Option<&str>
pub fn py_cancel_all_requests(&self)
Trait Implementations§
Source§impl Clone for OKXWebSocketClient
impl Clone for OKXWebSocketClient
Source§fn clone(&self) -> OKXWebSocketClient
fn clone(&self) -> OKXWebSocketClient
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OKXWebSocketClient
impl Debug for OKXWebSocketClient
Source§impl Default for OKXWebSocketClient
impl Default for OKXWebSocketClient
Source§impl<'py> IntoPyObject<'py> for OKXWebSocketClient
impl<'py> IntoPyObject<'py> for OKXWebSocketClient
Source§type Target = OKXWebSocketClient
type Target = OKXWebSocketClient
Source§type Output = Bound<'py, <OKXWebSocketClient as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <OKXWebSocketClient as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PyClass for OKXWebSocketClient
impl PyClass for OKXWebSocketClient
Source§impl PyClassImpl for OKXWebSocketClient
impl PyClassImpl for OKXWebSocketClient
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
Source§const RAW_DOC: &'static CStr = /// Provides a WebSocket client for connecting to [OKX](https://okx.com).
const RAW_DOC: &'static CStr = /// Provides a WebSocket client for connecting to [OKX](https://okx.com).
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type ThreadChecker = SendablePyClass<OKXWebSocketClient>
type ThreadChecker = SendablePyClass<OKXWebSocketClient>
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn dict_offset() -> Option<isize>
fn weaklist_offset() -> Option<isize>
Source§impl PyClassNewTextSignature for OKXWebSocketClient
impl PyClassNewTextSignature for OKXWebSocketClient
const TEXT_SIGNATURE: &'static str = "(url=None, api_key=None, api_secret=None, api_passphrase=None, account_id=None, heartbeat=None)"
Source§impl<'a, 'holder, 'py> PyFunctionArgument<'a, 'holder, 'py, false> for &'holder OKXWebSocketClient
impl<'a, 'holder, 'py> PyFunctionArgument<'a, 'holder, 'py, false> for &'holder OKXWebSocketClient
Source§impl<'a, 'holder, 'py> PyFunctionArgument<'a, 'holder, 'py, false> for &'holder mut OKXWebSocketClient
impl<'a, 'holder, 'py> PyFunctionArgument<'a, 'holder, 'py, false> for &'holder mut OKXWebSocketClient
Source§impl PyMethods<OKXWebSocketClient> for PyClassImplCollector<OKXWebSocketClient>
impl PyMethods<OKXWebSocketClient> for PyClassImplCollector<OKXWebSocketClient>
fn py_methods(self) -> &'static PyClassItems
Source§impl PyTypeInfo for OKXWebSocketClient
impl PyTypeInfo for OKXWebSocketClient
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.impl DerefToPyAny for OKXWebSocketClient
Auto Trait Implementations§
impl Freeze for OKXWebSocketClient
impl !RefUnwindSafe for OKXWebSocketClient
impl Send for OKXWebSocketClient
impl Sync for OKXWebSocketClient
impl Unpin for OKXWebSocketClient
impl !UnwindSafe for OKXWebSocketClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FromPyObject<'_> for Twhere
T: PyClass + Clone,
impl<T> FromPyObject<'_> for Twhere
T: PyClass + Clone,
§fn extract_bound(obj: &Bound<'_, PyAny>) -> Result<T, PyErr>
fn extract_bound(obj: &Bound<'_, PyAny>) -> Result<T, PyErr>
§impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
§fn from_py_object_bound(ob: Borrowed<'_, 'py, PyAny>) -> Result<T, PyErr>
fn from_py_object_bound(ob: Borrowed<'_, 'py, PyAny>) -> Result<T, PyErr>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self into an owned Python object, dropping type information and unbinding it
from the 'py lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self into a Python object. Read more