public override int GetHashCode() { unchecked { var hashCode = ExchangeId != null?ExchangeId.GetHashCode() : 0; hashCode = (hashCode * 397) ^ (TradeType != null ? TradeType.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (BaseAsset != null ? BaseAsset.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (QuoteAsset != null ? QuoteAsset.GetHashCode() : 0); hashCode = (hashCode * 397) ^ TimePeriodStart.GetHashCode(); hashCode = (hashCode * 397) ^ TimePeriodEnd.GetHashCode(); hashCode = (hashCode * 397) ^ TimeOpen.GetHashCode(); hashCode = (hashCode * 397) ^ TimeClose.GetHashCode(); hashCode = (hashCode * 397) ^ PriceOpen.GetHashCode(); hashCode = (hashCode * 397) ^ PriceClose.GetHashCode(); hashCode = (hashCode * 397) ^ PriceLow.GetHashCode(); hashCode = (hashCode * 397) ^ PriceHigh.GetHashCode(); hashCode = (hashCode * 397) ^ VolumeTraded.GetHashCode(); hashCode = (hashCode * 397) ^ TradesCount.GetHashCode(); hashCode = (hashCode * 397) ^ (Id != null ? Id.GetHashCode() : 0); return(hashCode); } }