#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DataBroker {
Unspecified = 0,
Binance = 1,
NinjaTrader = 2,
InvestingCom = 3,
}
impl DataBroker {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "DATA_BROKER_UNSPECIFIED",
Self::Binance => "DATA_BROKER_BINANCE",
Self::NinjaTrader => "DATA_BROKER_NINJA_TRADER",
Self::InvestingCom => "DATA_BROKER_INVESTING_COM",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DATA_BROKER_UNSPECIFIED" => Some(Self::Unspecified),
"DATA_BROKER_BINANCE" => Some(Self::Binance),
"DATA_BROKER_NINJA_TRADER" => Some(Self::NinjaTrader),
"DATA_BROKER_INVESTING_COM" => Some(Self::InvestingCom),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EconomicCalendarBatch {
#[prost(message, repeated, tag = "1")]
pub events: ::prost::alloc::vec::Vec<EconomicCalendarEvent>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EconomicCalendarEvent {
#[prost(message, optional, tag = "1")]
pub event_timestamp: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, tag = "2")]
pub data_source: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub category: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub news_type: ::prost::alloc::string::String,
#[prost(double, optional, tag = "5")]
pub news_type_confidence: ::core::option::Option<f64>,
#[prost(string, tag = "6")]
pub news_type_source: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub periodicity: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub news_name: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub country_code: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub currency_code: ::prost::alloc::string::String,
#[prost(int32, tag = "11")]
pub importance: i32,
#[prost(double, optional, tag = "12")]
pub actual: ::core::option::Option<f64>,
#[prost(double, optional, tag = "13")]
pub forecast: ::core::option::Option<f64>,
#[prost(double, optional, tag = "14")]
pub previous: ::core::option::Option<f64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OhlcvFutureBatch {
#[prost(message, repeated, tag = "1")]
pub events: ::prost::alloc::vec::Vec<OhlcvFutureEvent>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OhlcvFutureEvent {
#[prost(message, optional, tag = "1")]
pub open_timestamp: ::core::option::Option<::prost_types::Timestamp>,
#[prost(double, tag = "2")]
pub open: f64,
#[prost(double, tag = "3")]
pub high: f64,
#[prost(double, tag = "4")]
pub low: f64,
#[prost(double, tag = "5")]
pub close: f64,
#[prost(double, tag = "6")]
pub volume: f64,
#[prost(message, optional, tag = "7")]
pub close_timestamp: ::core::option::Option<::prost_types::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OhlcvSpotBatch {
#[prost(message, repeated, tag = "1")]
pub events: ::prost::alloc::vec::Vec<OhlcvSpotEvent>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OhlcvSpotEvent {
#[prost(message, optional, tag = "1")]
pub open_timestamp: ::core::option::Option<::prost_types::Timestamp>,
#[prost(double, tag = "2")]
pub open: f64,
#[prost(double, tag = "3")]
pub high: f64,
#[prost(double, tag = "4")]
pub low: f64,
#[prost(double, tag = "5")]
pub close: f64,
#[prost(double, tag = "6")]
pub volume: f64,
#[prost(message, optional, tag = "7")]
pub close_timestamp: ::core::option::Option<::prost_types::Timestamp>,
#[prost(double, tag = "8")]
pub quote_asset_volume: f64,
#[prost(int64, tag = "9")]
pub number_of_trades: i64,
#[prost(double, tag = "10")]
pub taker_buy_base_asset_volume: f64,
#[prost(double, tag = "11")]
pub taker_buy_quote_asset_volume: f64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TpoFutureBatch {
#[prost(message, repeated, tag = "1")]
pub events: ::prost::alloc::vec::Vec<TpoFutureEvent>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TpoFutureEvent {
#[prost(message, optional, tag = "1")]
pub window_start: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "2")]
pub window_end: ::core::option::Option<::prost_types::Timestamp>,
#[prost(double, tag = "3")]
pub price_bin_start: f64,
#[prost(double, tag = "4")]
pub price_bin_end: f64,
#[prost(int64, tag = "5")]
pub time_slot_count: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TpoSpotBatch {
#[prost(message, repeated, tag = "1")]
pub events: ::prost::alloc::vec::Vec<TpoSpotEvent>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TpoSpotEvent {
#[prost(message, optional, tag = "1")]
pub window_start: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "2")]
pub window_end: ::core::option::Option<::prost_types::Timestamp>,
#[prost(double, tag = "3")]
pub price_bin_start: f64,
#[prost(double, tag = "4")]
pub price_bin_end: f64,
#[prost(int64, tag = "5")]
pub time_slot_count: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TradesSpotBatch {
#[prost(message, repeated, tag = "4")]
pub events: ::prost::alloc::vec::Vec<TradesSpotEvent>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TradesSpotEvent {
#[prost(int64, tag = "1")]
pub trade_id: i64,
#[prost(double, tag = "2")]
pub price: f64,
#[prost(double, tag = "3")]
pub quantity: f64,
#[prost(double, tag = "4")]
pub quote_quantity: f64,
#[prost(message, optional, tag = "5")]
pub trade_timestamp: ::core::option::Option<::prost_types::Timestamp>,
#[prost(bool, tag = "6")]
pub is_buyer_maker: bool,
#[prost(bool, tag = "7")]
pub is_best_match: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VolumeProfileSpotBatch {
#[prost(message, repeated, tag = "1")]
pub events: ::prost::alloc::vec::Vec<VolumeProfileSpotEvent>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VolumeProfileSpotEvent {
#[prost(message, optional, tag = "1")]
pub window_start: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "2")]
pub window_end: ::core::option::Option<::prost_types::Timestamp>,
#[prost(double, tag = "3")]
pub price_bin_start: f64,
#[prost(double, tag = "4")]
pub price_bin_end: f64,
#[prost(double, tag = "5")]
pub base_volume: f64,
#[prost(double, tag = "6")]
pub taker_buy_base_volume: f64,
#[prost(double, tag = "7")]
pub taker_sell_base_volume: f64,
#[prost(double, tag = "8")]
pub quote_volume: f64,
#[prost(double, tag = "9")]
pub taker_buy_quote_volume: f64,
#[prost(double, tag = "10")]
pub taker_sell_quote_volume: f64,
#[prost(int64, tag = "11")]
pub number_of_trades: i64,
#[prost(int64, tag = "12")]
pub number_of_buy_trades: i64,
#[prost(int64, tag = "13")]
pub number_of_sell_trades: i64,
}