pub enum WorkDescription {
OpenPosition {
direction: DirectionToBase,
leverage: LeverageToBase,
collateral: NonZero<Collateral>,
take_profit: TakeProfitTrader,
stop_loss_override: Option<PriceBaseInQuote>,
},
ClosePosition {
pos_id: PositionId,
},
ResetShares,
ClearDeferredExec {
id: DeferredExecId,
},
UpdatePositionAddCollateralImpactSize {
pos_id: PositionId,
amount: NonZero<Collateral>,
},
UpdatePositionRemoveCollateralImpactSize {
pos_id: PositionId,
amount: NonZero<Collateral>,
crank_fee: Collateral,
},
}Expand description
Work to be performed for a specific market.
Variants§
OpenPosition
Open a new position
Fields
§
direction: DirectionToBaseDirection of the new position
§
leverage: LeverageToBaseLeverage
§
collateral: NonZero<Collateral>Amount of deposit collateral
§
take_profit: TakeProfitTraderTake profit value
§
stop_loss_override: Option<PriceBaseInQuote>Stop loss price of new position
ClosePosition
Close an unnecessary position
Fields
§
pos_id: PositionIdPosition to be closed
All collateral exhausted, reset shares to 0
ClearDeferredExec
Deferred execution completed, we can continue our processing
Fields
§
id: DeferredExecIdID to be cleared
UpdatePositionAddCollateralImpactSize
Add collateral to a position, causing notional size to increase
Fields
§
pos_id: PositionIdID of position to update
§
amount: NonZero<Collateral>Amount of funds to add to the position
UpdatePositionRemoveCollateralImpactSize
Remove collateral from a position, causing notional size to decrease
Fields
§
pos_id: PositionIdID of position to update
§
amount: NonZero<Collateral>Amount of funds to remove from the position
§
crank_fee: CollateralCrank fee to be paid
Implementations§
source§impl WorkDescription
impl WorkDescription
sourcepub fn is_close_position(&self) -> bool
pub fn is_close_position(&self) -> bool
Is it closed position ?
sourcepub fn is_collect_closed_position(&self) -> bool
pub fn is_collect_closed_position(&self) -> bool
Is it collect closed position ?
sourcepub fn is_update_position(&self) -> bool
pub fn is_update_position(&self) -> bool
Is it update position ?
sourcepub fn is_open_position(&self) -> bool
pub fn is_open_position(&self) -> bool
Is it open position ?
sourcepub fn is_handle_deferred_exec(&self) -> bool
pub fn is_handle_deferred_exec(&self) -> bool
Is it open position ?
Trait Implementations§
source§impl Clone for WorkDescription
impl Clone for WorkDescription
source§fn clone(&self) -> WorkDescription
fn clone(&self) -> WorkDescription
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for WorkDescription
impl Debug for WorkDescription
source§impl<'de> Deserialize<'de> for WorkDescription
impl<'de> Deserialize<'de> for WorkDescription
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Display for WorkDescription
impl Display for WorkDescription
source§impl PartialEq for WorkDescription
impl PartialEq for WorkDescription
source§fn eq(&self, other: &WorkDescription) -> bool
fn eq(&self, other: &WorkDescription) -> bool
This method tests for
self and other values to be equal, and is used
by ==.source§impl Serialize for WorkDescription
impl Serialize for WorkDescription
impl Eq for WorkDescription
impl StructuralPartialEq for WorkDescription
Auto Trait Implementations§
impl Freeze for WorkDescription
impl RefUnwindSafe for WorkDescription
impl Send for WorkDescription
impl Sync for WorkDescription
impl Unpin for WorkDescription
impl UnwindSafe for WorkDescription
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moresource§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
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
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>
Converts
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>
Converts
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<T> Pointable for T
impl<T> Pointable for T
source§impl<T> QueryResultExt for Twhere
T: Serialize,
impl<T> QueryResultExt for Twhere
T: Serialize,
source§fn query_result(&self) -> Result<Binary, Error>
fn query_result(&self) -> Result<Binary, Error>
Convert the value to its JSON representation