PositionItem

Struct PositionItem 

Source
pub struct PositionItem<'a> {
    pub category: Category,
    pub symbol: Cow<'a, str>,
    pub price: f64,
    pub side: Side,
    pub qty: f64,
}
Expand description

Represents a single position to be moved between accounts.

Part of the MovePositionRequest, this struct details the position to transfer, including its category, symbol, and trade parameters. Bots use this to specify which positions to move and at what price.

Fields§

§category: Category

The product category (e.g., Linear, Inverse).

Specifies the instrument type of the position. Bots must set this to match the position’s contract type.

§symbol: Cow<'a, str>

The trading pair symbol (e.g., “BTCUSDT”).

Identifies the perpetual futures contract for the position. Bots must specify a valid symbol.

§price: f64

The transfer price.

The price at which the position is transferred, used for valuation between accounts. Bots should set this based on the current mark price or a mutually agreed value to ensure fair transfer.

§side: Side

The position side (Buy or Sell).

Indicates whether the position is long (Buy) or short (Sell). Bots use this to ensure the correct position direction is transferred.

§qty: f64

The quantity of the position to move.

The amount of the base asset to transfer. Bots should ensure this does not exceed the available position size in the source account.

Implementations§

Source§

impl<'a> PositionItem<'a>

Source

pub fn new( category: Category, symbol: &'a str, price: f64, side: Side, qty: f64, ) -> Self

Constructs a new PositionItem with specified parameters.

Allows customization of the position to move. Bots should use this to specify the category, symbol, price, side, and quantity of the position.

Source

pub fn default() -> PositionItem<'a>

Creates a default PositionItem.

Returns a position item with category set to Linear, symbol set to "BTCUSDT", price and qty set to 0.0, and side set to Buy. Suitable for testing but should be customized for production.

Trait Implementations§

Source§

impl<'a> Clone for PositionItem<'a>

Source§

fn clone(&self) -> PositionItem<'a>

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<'a> Default for PositionItem<'a>

Source§

fn default() -> PositionItem<'a>

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

impl<'a> Serialize for PositionItem<'a>

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for PositionItem<'a>

§

impl<'a> RefUnwindSafe for PositionItem<'a>

§

impl<'a> Send for PositionItem<'a>

§

impl<'a> Sync for PositionItem<'a>

§

impl<'a> Unpin for PositionItem<'a>

§

impl<'a> UnwindSafe for PositionItem<'a>

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<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> 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> 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