pub trait TradeType {
type PriceType;
type VolumeType;
type TurnoverType;
type TradeSessionType: TradeSessionType;
// Required methods
fn time(&self) -> OffsetDateTime;
fn price(&self) -> Self::PriceType;
fn volume(&self) -> Self::VolumeType;
fn turnover(&self, lot_size: i32) -> Self::TurnoverType;
fn trade_session(&self) -> Self::TradeSessionType;
}