Skip to main content

GridOrderUpdate

Struct GridOrderUpdate 

Source
#[non_exhaustive]
pub struct GridOrderUpdate {
Show 57 fields pub inst_id: String, pub algo_id: String, pub algo_cl_ord_id: String, pub inst_type: String, pub algo_ord_type: String, pub state: String, pub rebate_trans: Vec<RebateTrans>, pub trigger_params: Vec<TriggerParam>, pub max_px: NumberString, pub min_px: NumberString, pub grid_num: NumberString, pub run_type: String, pub tp_trigger_px: NumberString, pub sl_trigger_px: NumberString, pub trade_num: NumberString, pub arbitrage_num: NumberString, pub single_amt: NumberString, pub per_min_profit_rate: NumberString, pub per_max_profit_rate: NumberString, pub run_px: NumberString, pub total_pnl: NumberString, pub pnl_ratio: NumberString, pub investment: NumberString, pub grid_profit: NumberString, pub float_profit: NumberString, pub total_annualized_rate: NumberString, pub annualized_rate: NumberString, pub cancel_type: String, pub stop_type: String, pub active_ord_num: NumberString, pub tag: String, pub profit_sharing_ratio: String, pub copy_type: String, pub trade_quote_ccy: String, pub c_time: NumberString, pub u_time: NumberString, pub p_time: NumberString, pub quote_sz: NumberString, pub base_sz: NumberString, pub cur_quote_sz: NumberString, pub cur_base_sz: NumberString, pub profit: NumberString, pub stop_result: String, pub direction: String, pub base_pos: bool, pub sz: NumberString, pub lever: NumberString, pub actual_lever: NumberString, pub liq_px: NumberString, pub ord_frozen: NumberString, pub avail_eq: NumberString, pub eq: NumberString, pub tp_ratio: NumberString, pub sl_ratio: NumberString, pub fee: NumberString, pub funding_fee: NumberString, pub extra: ExtraFields,
}
Expand description

Spot/contract grid-order channel row.

Returned by both grid-orders-spot and grid-orders-contract channels. Spot-only and contract-only fields default to zero/empty when not present.

OKX docs: https://www.okx.com/docs-v5/en/#trading-bot-websocket-grid-orders-channel

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§inst_id: String

Instrument ID, e.g., BTC-USDT.

§algo_id: String

OKX-assigned algo order ID.

§algo_cl_ord_id: String

Client-supplied algo order ID.

§inst_type: String

Instrument type, e.g., SPOT, SWAP, FUTURES.

§algo_ord_type: String

Algo order type: grid (spot grid) or contract_grid (contract grid).

§state: String

Current state: starting, running, stopping, stopped.

Contract grid also has no_close_position.

§rebate_trans: Vec<RebateTrans>

Rebate transfer info.

§trigger_params: Vec<TriggerParam>

Trigger parameters for start/stop conditions.

§max_px: NumberString

Upper price of the grid range.

§min_px: NumberString

Lower price of the grid range.

§grid_num: NumberString

Number of grid levels.

§run_type: String

Grid spacing type: 1 = arithmetic, 2 = geometric.

§tp_trigger_px: NumberString

Take-profit trigger price.

§sl_trigger_px: NumberString

Stop-loss trigger price.

§trade_num: NumberString

Number of trades executed.

§arbitrage_num: NumberString

Number of arbitrage cycles completed.

§single_amt: NumberString

Investment amount per grid.

§per_min_profit_rate: NumberString

Estimated minimum profit margin per grid.

§per_max_profit_rate: NumberString

Estimated maximum profit margin per grid.

§run_px: NumberString

Price at strategy launch.

§total_pnl: NumberString

Total profit and loss since strategy start.

§pnl_ratio: NumberString

P&L ratio since strategy start.

§investment: NumberString

Accumulated investment amount.

§grid_profit: NumberString

Profit from completed grid cycles.

§float_profit: NumberString

Unrealized (floating) P&L.

§total_annualized_rate: NumberString

Total annualized rate of return.

§annualized_rate: NumberString

Grid annualized rate of return.

§cancel_type: String

Algo order stop reason code.

0 none, 1 manual, 2 take-profit, 3 stop-loss, 4 risk control, 5 delivery, 6 signal.

§stop_type: String

Stop type when the strategy ended.

Spot: 1 = sell base, 2 = keep base. Contract: 1 = market close all, 2 = keep positions.

§active_ord_num: NumberString

Total count of pending sub-orders.

§tag: String

Order tag.

§profit_sharing_ratio: String

Profit sharing ratio (empty for non-copy orders).

§copy_type: String

Copy order type: 0 normal, 1 copy without sharing, 2 copy with sharing, 3 lead.

§trade_quote_ccy: String

Quote currency used for trading.

§c_time: NumberString

Strategy creation time (Unix milliseconds).

§u_time: NumberString

Last update time (Unix milliseconds).

§p_time: NumberString

Push time (Unix milliseconds).

§quote_sz: NumberString

Quote currency investment amount (spot only).

§base_sz: NumberString

Base currency investment amount (spot only).

§cur_quote_sz: NumberString

Current quote currency holdings (spot only).

§cur_base_sz: NumberString

Current base currency holdings (spot only).

§profit: NumberString

Available profit in quote currency (spot only).

§stop_result: String

Stop result (spot only): 0 default, 1 sold at market, -1 failed to sell.

§direction: String

Contract grid type: long, short, or neutral (contract only).

§base_pos: bool

Whether a position was opened at strategy activation (contract only).

§sz: NumberString

Used margin in USDT (contract only).

§lever: NumberString

Leverage (contract only).

§actual_lever: NumberString

Actual leverage (contract only).

§liq_px: NumberString

Estimated liquidation price (contract only).

§ord_frozen: NumberString

Margin frozen by pending orders (contract only).

§avail_eq: NumberString

Available margin (contract only).

§eq: NumberString

Total equity of the strategy account (contract only).

§tp_ratio: NumberString

Take-profit ratio, e.g. 0.1 = 10% (contract only).

§sl_ratio: NumberString

Stop-loss ratio, e.g. 0.1 = 10% (contract only).

§fee: NumberString

Accumulated trading fee (contract only).

§funding_fee: NumberString

Accumulated funding fee (contract only).

§extra: ExtraFields

Unrecognized fields retained for forward compatibility.

Trait Implementations§

Source§

impl Clone for GridOrderUpdate

Source§

fn clone(&self) -> GridOrderUpdate

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GridOrderUpdate

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for GridOrderUpdate

Source§

fn default() -> GridOrderUpdate

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for GridOrderUpdate

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more