pub struct BinanceExecClientConfig {Show 17 fields
pub trader_id: TraderId,
pub account_id: AccountId,
pub product_types: Vec<BinanceProductType>,
pub environment: BinanceEnvironment,
pub base_url_http: Option<String>,
pub base_url_ws: Option<String>,
pub base_url_ws_trading: Option<String>,
pub use_ws_trading: bool,
pub use_position_ids: bool,
pub default_taker_fee: Decimal,
pub api_key: Option<String>,
pub api_secret: Option<String>,
pub futures_leverages: Option<HashMap<String, u32>>,
pub futures_margin_types: Option<HashMap<String, BinanceMarginType>>,
pub treat_expired_as_canceled: bool,
pub use_trade_lite: bool,
pub transport_backend: TransportBackend,
}Expand description
Configuration for Binance execution client.
Ed25519 API keys are required for execution clients. Binance deprecated listenKey-based user data streams in favor of WebSocket API authentication, which only supports Ed25519.
Fields§
§trader_id: TraderIdTrader ID for the client.
account_id: AccountIdAccount ID for the client.
product_types: Vec<BinanceProductType>Product types to trade.
environment: BinanceEnvironmentEnvironment (mainnet or testnet).
base_url_http: Option<String>Optional base URL override for HTTP API.
base_url_ws: Option<String>Optional base URL override for WebSocket user data stream.
Live USD-M Futures stream overrides are normalized onto the /private/ws route.
base_url_ws_trading: Option<String>Optional base URL override for WebSocket trading API (Spot and USD-M Futures).
use_ws_trading: boolWhether to use the WebSocket trading API for order operations (Spot and USD-M Futures).
use_position_ids: boolWhether to use Binance Futures hedging position IDs.
When true, fill reports include a venue_position_id derived from
the instrument and position side (e.g. ETHUSDT-PERP.BINANCE-LONG).
When false, venue_position_id is None, allowing virtual positions
with OmsType::Hedging.
default_taker_fee: DecimalDefault taker fee rate for commission estimation.
Used as a fallback when the venue omits commission fields in exchange-generated fills (liquidation, ADL, settlement). Standard Binance Futures taker fee is 0.0004 (0.04%).
api_key: Option<String>API key (Ed25519 required, uses env var if not provided).
api_secret: Option<String>API secret (Ed25519 base64-encoded, required, uses env var if not provided).
futures_leverages: Option<HashMap<String, u32>>Initial leverage per Binance symbol (e.g. BTCUSDT -> 20), applied during connect.
futures_margin_types: Option<HashMap<String, BinanceMarginType>>Margin type per Binance symbol (e.g. BTCUSDT -> Cross), applied during connect.
treat_expired_as_canceled: boolIf true, the EXPIRED execution type emits OrderCanceled instead of OrderExpired.
Binance uses EXPIRED for certain cancel scenarios depending on order type and time-in-force combination.
use_trade_lite: boolIf true, drive fills from the lower-latency TRADE_LITE user data event
and dedup the matching fill portion of ORDER_TRADE_UPDATE. If false,
TRADE_LITE events are ignored and fills come from ORDER_TRADE_UPDATE.
transport_backend: TransportBackendWebSocket transport backend (defaults to Tungstenite).
Implementations§
Source§impl BinanceExecClientConfig
impl BinanceExecClientConfig
Sourcepub fn builder() -> BinanceExecClientConfigBuilder
pub fn builder() -> BinanceExecClientConfigBuilder
Create an instance of BinanceExecClientConfig using the builder syntax
Trait Implementations§
Source§impl ClientConfig for BinanceExecClientConfig
impl ClientConfig for BinanceExecClientConfig
Source§impl Clone for BinanceExecClientConfig
impl Clone for BinanceExecClientConfig
Source§fn clone(&self) -> BinanceExecClientConfig
fn clone(&self) -> BinanceExecClientConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BinanceExecClientConfig
impl Debug for BinanceExecClientConfig
Source§impl Default for BinanceExecClientConfig
impl Default for BinanceExecClientConfig
Source§impl<'a, 'py> FromPyObject<'a, 'py> for BinanceExecClientConfigwhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for BinanceExecClientConfigwhere
Self: Clone,
Source§impl<'py> IntoPyObject<'py> for BinanceExecClientConfig
impl<'py> IntoPyObject<'py> for BinanceExecClientConfig
Source§type Target = BinanceExecClientConfig
type Target = BinanceExecClientConfig
Source§type Output = Bound<'py, <BinanceExecClientConfig as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <BinanceExecClientConfig 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 BinanceExecClientConfig
impl PyClass for BinanceExecClientConfig
Source§impl PyClassImpl for BinanceExecClientConfig
impl PyClassImpl for BinanceExecClientConfig
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 = /// Configuration for Binance execution client.
///
/// Ed25519 API keys are required for execution clients. Binance deprecated
/// listenKey-based user data streams in favor of WebSocket API authentication,
/// which only supports Ed25519.
const RAW_DOC: &'static CStr = /// Configuration for Binance execution client. /// /// Ed25519 API keys are required for execution clients. Binance deprecated /// listenKey-based user data streams in favor of WebSocket API authentication, /// which only supports Ed25519.
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type Layout = <<BinanceExecClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<BinanceExecClientConfig>
type Layout = <<BinanceExecClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<BinanceExecClientConfig>
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
type Inventory = Pyo3MethodsInventoryForBinanceExecClientConfig
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<PyObjectOffset>
fn dict_offset() -> Option<PyObjectOffset>
§fn weaklist_offset() -> Option<PyObjectOffset>
fn weaklist_offset() -> Option<PyObjectOffset>
Source§impl PyClassNewTextSignature for BinanceExecClientConfig
impl PyClassNewTextSignature for BinanceExecClientConfig
const TEXT_SIGNATURE: &'static str = "(trader_id, account_id, product_types=None, environment=None, base_url_http=None, base_url_ws=None, base_url_ws_trading=None, use_ws_trading=True, use_position_ids=True, default_taker_fee=None, api_key=None, api_secret=None, futures_leverages=None, futures_margin_types=None, treat_expired_as_canceled=False, use_trade_lite=False)"
Source§impl PyStubType for BinanceExecClientConfig
impl PyStubType for BinanceExecClientConfig
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
§fn type_input() -> TypeInfo
fn type_input() -> TypeInfo
Source§impl PyTypeInfo for BinanceExecClientConfig
impl PyTypeInfo for BinanceExecClientConfig
Source§const NAME: &str = <Self as ::pyo3::PyClass>::NAME
const NAME: &str = <Self as ::pyo3::PyClass>::NAME
prefer using ::type_object(py).name() to get the correct runtime value
Source§const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
prefer using ::type_object(py).module() to get the correct runtime value
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 BinanceExecClientConfig
Auto Trait Implementations§
impl Freeze for BinanceExecClientConfig
impl RefUnwindSafe for BinanceExecClientConfig
impl Send for BinanceExecClientConfig
impl Sync for BinanceExecClientConfig
impl Unpin for BinanceExecClientConfig
impl UnsafeUnpin for BinanceExecClientConfig
impl UnwindSafe for BinanceExecClientConfig
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> 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§impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
§fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
§const NAME: &'static str = T::NAME
const NAME: &'static str = T::NAME
Use ::classinfo_object() instead and format the type name at runtime. Note that using built-in cast features is often better than manual PyTypeCheck usage.
§fn type_check(object: &Bound<'_, PyAny>) -> bool
fn type_check(object: &Bound<'_, PyAny>) -> bool
§fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
isinstance and issubclass function. Read more