Skip to main content

AddReduceMarginRequest

Struct AddReduceMarginRequest 

Source
pub struct AddReduceMarginRequest<'a> {
    pub category: Category,
    pub symbol: Cow<'a, str>,
    pub margin: f64,
    pub position_idx: Option<i32>,
}
Expand description

Parameters for manually adding or reducing margin for a position.

Used to construct a request to the /v5/position/add-margin endpoint to manually adjust the margin allocated to a specific position. Bots use this to increase margin to avoid liquidation or reduce margin to free up capital in perpetual futures trading.

Fields§

§category: Category

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

Specifies the instrument type. Bots must set this to target the correct contract type.

§symbol: Cow<'a, str>

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

Identifies the perpetual futures contract for which margin is being adjusted. Bots must specify a valid symbol.

§margin: f64

The margin amount to add (positive) or reduce (negative).

A positive value adds margin to the position, reducing liquidation risk. A negative value reduces margin, freeing up capital but increasing risk. Bots should calculate this based on position size and margin requirements.

§position_idx: Option<i32>

The position index (optional, e.g., 0 for one-way mode, 1 or 2 for hedge mode).

Specifies the position type. Bots should set this for hedge mode positions to target the correct side. If unset, applies to the default position.

Implementations§

Source§

impl<'a> AddReduceMarginRequest<'a>

Source

pub fn new( category: Category, symbol: &'a str, margin: f64, position_idx: Option<i32>, ) -> Self

Constructs a new AddReduceMargin request with specified parameters.

Allows customization of the margin adjustment request. Bots should use this to specify the exact symbol, category, margin amount, and position index.

Source

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

Creates a default AddReduceMargin request.

Returns a request with category set to Linear, symbol set to "BTCUSDT", margin set to 1.0, and no position index. Suitable for testing but should be customized for production.

Trait Implementations§

Source§

impl<'a> Clone for AddReduceMarginRequest<'a>

Source§

fn clone(&self) -> AddReduceMarginRequest<'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 AddReduceMarginRequest<'a>

Source§

fn default() -> AddReduceMarginRequest<'a>

Returns the “default value” for a type. 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<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