Struct cfix::TradeClient
source · pub struct TradeClient { /* private fields */ }
Implementations§
source§impl TradeClient
impl TradeClient
pub fn new( host: String, login: String, password: String, sender_comp_id: String, heartbeat_interval: Option<u32> ) -> Self
pub fn get_timeout(&self) -> u64
pub fn set_timeout(&mut self, timeout: u64)
pub fn register_trade_handler_arc<T: TradeDataHandler + Send + Sync + 'static>( &mut self, handler: Arc<T> )
pub fn register_trade_handler<T: TradeDataHandler + Send + Sync + 'static>( &mut self, handler: T )
pub fn register_connection_handler<T: ConnectionHandler + Send + Sync + 'static>( &mut self, handler: T )
pub fn register_connection_handler_arc<T: ConnectionHandler + Send + Sync + 'static>( &mut self, handler: Arc<T> )
pub async fn connect(&mut self) -> Result<(), Error>
pub async fn disconnect(&mut self) -> Result<(), Error>
pub fn is_connected(&self) -> bool
sourcepub async fn fetch_security_list(&self) -> Result<Vec<SymbolInformation>, Error>
pub async fn fetch_security_list(&self) -> Result<Vec<SymbolInformation>, Error>
Fetch the security list from the server.
This is asn asynchronous method that sends a request to the server and waits for the response. It returns a result containing the data if the request succesful, or an error if it fails.
pub async fn fetch_positions(&self) -> Result<Vec<PositionReport>, Error>
pub async fn fetch_all_order_status( &self, issue_data: Option<NaiveDateTime> ) -> Result<Vec<ExecutionReport>, Error>
pub async fn new_market_order( &self, symbol: u32, side: Side, order_qty: f64, cl_ord_id: Option<String>, custom_ord_label: Option<String> ) -> Result<ExecutionReport, Error>
pub async fn new_limit_order( &self, symbol: u32, side: Side, price: f64, order_qty: f64, cl_ord_id: Option<String>, expire_time: Option<NaiveDateTime>, custom_ord_label: Option<String> ) -> Result<ExecutionReport, Error>
pub async fn new_stop_order( &self, symbol: u32, side: Side, stop_px: f64, order_qty: f64, cl_ord_id: Option<String>, expire_time: Option<NaiveDateTime>, custom_ord_label: Option<String> ) -> Result<ExecutionReport, Error>
pub async fn close_position( &self, pos_report: PositionReport, custom_ord_label: Option<String> ) -> Result<ExecutionReport, Error>
sourcepub async fn adjust_position_size(
&self,
pos_id: String,
symbol_id: u32,
lot: f64,
side: Side,
custom_ord_label: Option<String>
) -> Result<ExecutionReport, Error>
pub async fn adjust_position_size( &self, pos_id: String, symbol_id: u32, lot: f64, side: Side, custom_ord_label: Option<String> ) -> Result<ExecutionReport, Error>
Adjusts the size of a position.
This method takes a position id, symbol_id, a side (buy or sell), and a lot size. If the position exists, it adjusts the size of the position by adding or subtracting the given lot size. If the side is ‘buy’, the lot size is added to the position. If the side is ‘sell’, the lot size is subtracted from the position.
sourcepub async fn replace_order(
&self,
org_cl_ord_id: Option<String>,
order_id: Option<String>,
order_qty: f64,
price: Option<f64>,
stop_px: Option<f64>,
expire_time: Option<NaiveDateTime>
) -> Result<ExecutionReport, Error>
pub async fn replace_order( &self, org_cl_ord_id: Option<String>, order_id: Option<String>, order_qty: f64, price: Option<f64>, stop_px: Option<f64>, expire_time: Option<NaiveDateTime> ) -> Result<ExecutionReport, Error>
Replace order request
§Arguments
orig_cl_ord_id
- A unique identifier for the order, which is going to be canceled, allocated by the client.order_id
- Unique ID of an order, returned by the server. …
Either orig_cl_ord_id
or order_id
must be passed to this function. If both are None
, the function will return an error.
sourcepub async fn cancel_order(
&self,
org_cl_ord_id: Option<String>,
order_id: Option<String>
) -> Result<ExecutionReport, Error>
pub async fn cancel_order( &self, org_cl_ord_id: Option<String>, order_id: Option<String> ) -> Result<ExecutionReport, Error>
Order cancel reqeuest
§Arguments
orig_cl_ord_id
- A unique identifier for the order, which is going to be canceled, allocated by the client.order_id
- Unique ID of an order, returned by the server.
Either orig_cl_ord_id
or order_id
must be passed to this function. If both are None
, the function will return an error.