pub struct CTraderClient {
pub auth: Auth,
pub ws_write: Arc<Mutex<SplitSink<WebSocketStream<MaybeTlsStream<TcpStream>>, Message>>>,
}Expand description
The CTrader client instance
- auth - The Authorization information to use.
- write_stream - The websocket stream to use to send to the websocket server.
- read_stream - The websocket stream to use to receive messages from the websocket server.
Fields§
§auth: Auth§ws_write: Arc<Mutex<SplitSink<WebSocketStream<MaybeTlsStream<TcpStream>>, Message>>>Implementations§
Source§impl CTraderClient
impl CTraderClient
Sourcepub async fn new(
is_demo: bool,
app_client_id: String,
app_access_token: String,
app_client_secret: String,
app_redirect_url: String,
refresh_token: String,
) -> Result<(Self, JoinHandle<()>, JoinHandle<()>), Error>
pub async fn new( is_demo: bool, app_client_id: String, app_access_token: String, app_client_secret: String, app_redirect_url: String, refresh_token: String, ) -> Result<(Self, JoinHandle<()>, JoinHandle<()>), Error>
Create a new CTrader OpenAPi client instance
- is_demo - Specify whether to use Demo/Live host
- app_client_id - CTrader Application Client ID
- app_client_secret - CTrader Application Secret
- app_redirect_url - Ctrader Application Redirect URL
- refresh_token - CTrader Refresh Token
Sourcepub async fn send_new_limit_order(
&self,
account_id: i64,
symbol_id: i64,
trade_side: ProtoOaTradeSide,
volume: i64,
price: f64,
) -> Result<(), Error>
pub async fn send_new_limit_order( &self, account_id: i64, symbol_id: i64, trade_side: ProtoOaTradeSide, volume: i64, price: f64, ) -> Result<(), Error>
Send a new LIMIT order request
Sourcepub async fn send_new_market_order(
&self,
account_id: i64,
symbol_id: i64,
trade_side: ProtoOaTradeSide,
volume: i64,
) -> Result<(), Error>
pub async fn send_new_market_order( &self, account_id: i64, symbol_id: i64, trade_side: ProtoOaTradeSide, volume: i64, ) -> Result<(), Error>
Send a new MARKET order request
Sourcepub async fn send_new_stop_order(
&self,
account_id: i64,
symbol_id: i64,
trade_side: ProtoOaTradeSide,
volume: i64,
price: f64,
) -> Result<(), Error>
pub async fn send_new_stop_order( &self, account_id: i64, symbol_id: i64, trade_side: ProtoOaTradeSide, volume: i64, price: f64, ) -> Result<(), Error>
Send a new STOP order request
pub async fn send_refresh_token_request(&self) -> Result<(), Error>
Sourcepub async fn send_application_auth_request(&mut self) -> Result<(), Error>
pub async fn send_application_auth_request(&mut self) -> Result<(), Error>
Authenticate the client to the CTrader APi
pub async fn send_set_account_request( &mut self, account_id: i64, ) -> Result<(), Error>
pub async fn send_get_account_list_by_access_token_request( &self, ) -> Result<(), Error>
pub async fn send_account_logout_request( &self, account_id: i64, ) -> Result<(), Error>
pub async fn send_asset_list_request( &self, account_id: i64, ) -> Result<(), Error>
pub async fn send_asset_class_list_request( &self, account_id: i64, ) -> Result<(), Error>
pub async fn send_symbol_category_list_request( &self, account_id: i64, ) -> Result<(), Error>
pub async fn send_symbols_list_request( &self, account_id: i64, include_archived_symbols: bool, ) -> Result<(), Error>
pub async fn send_trader_request(&self, account_id: i64) -> Result<(), Error>
pub async fn send_unsubscribe_spots_request( &self, account_id: i64, symbol_id: Vec<i64>, ) -> Result<(), Error>
pub async fn send_subscribe_spots_request( &self, account_id: i64, symbol_id: Vec<i64>, time_in_seconds: usize, subscribe_to_spot_timestamp: bool, ) -> Result<(), Error>
pub async fn send_get_tick_data_request( &self, account_id: i64, days: i64, quote_type: ProtoOaQuoteType, symbol_id: i64, from_timestamp: Option<i64>, to_timestamp: Option<i64>, ) -> Result<(), Error>
pub async fn send_get_trendbars_request( &self, account_id: i64, period: i32, symbol_id: i64, count: u32, from_timestamp: i64, to_timestamp: i64, ) -> Result<(), Error>
pub async fn send_new_order_request( &self, account_id: i64, symbol_id: i64, order_type: ProtoOaOrderType, trade_side: ProtoOaTradeSide, volume: i64, price: Option<f64>, ) -> Result<(), Error>
pub async fn send_reconcile_request(&self, account_id: i64) -> Result<(), Error>
pub async fn send_close_position_request( &self, account_id: i64, position_id: i64, volume: i64, ) -> Result<(), Error>
pub async fn send_cancel_order_request( &self, account_id: i64, order_id: i64, ) -> Result<(), Error>
pub async fn send_deal_offset_list_request( &self, account_id: i64, deal_id: i64, ) -> Result<(), Error>
pub async fn send_get_position_unrealized_pnl_equest( &self, account_id: i64, ) -> Result<(), Error>
pub async fn send_order_details_request( &self, account_id: i64, order_id: i64, ) -> Result<(), Error>
pub async fn send_order_list_by_position_id_request( &self, account_id: i64, position_id: i64, from_timestamp: i64, to_timestamp: i64, ) -> Result<(), Error>
Trait Implementations§
Source§impl Clone for CTraderClient
impl Clone for CTraderClient
Source§fn clone(&self) -> CTraderClient
fn clone(&self) -> CTraderClient
Returns a duplicate 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 moreAuto Trait Implementations§
impl Freeze for CTraderClient
impl !RefUnwindSafe for CTraderClient
impl Send for CTraderClient
impl Sync for CTraderClient
impl Unpin for CTraderClient
impl !UnwindSafe for CTraderClient
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
Mutably borrows from an owned value. Read more