feat(ctrader-openapi): complete client API with orders, symbols, account, market data

Add rate limiter (50/s + 5/s historical), symbol mapper, order builders,
account queries, market data subscriptions, and high-level CTraderClient
that orchestrates the full connect/auth/symbol-load lifecycle.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jgrusewski
2026-02-22 15:52:15 +01:00
parent 1a3dd5409a
commit 2c3a070a9b
10 changed files with 1059 additions and 27 deletions

View File

@@ -72,6 +72,12 @@ impl From<std::io::Error> for CTraderError {
}
}
impl From<prost::DecodeError> for CTraderError {
fn from(e: prost::DecodeError) -> Self {
Self::ProtocolError(format!("protobuf decode error: {e}"))
}
}
/// Rate-limit bucket categories.
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum RateLimitBucket {