package entity type MarketContext struct { Symbol string `json:"symbol"` GeneratedAt int64 `json:"generatedAt"` Snapshot *Ticker24h `json:"snapshot"` Klines map[string][]Kline `json:"klines"` Derivatives DerivativesBundle `json:"derivatives"` Technical TechnicalStructure `json:"technical"` DataQuality DataQuality `json:"dataQuality"` } type DerivativesBundle struct { Funding FundingBundle `json:"funding"` OpenInterest OpenInterestBundle `json:"openInterest"` LongShortRatio LongShortBundle `json:"longShortRatio"` TakerBuySellVolume []TakerBuySellVolume `json:"takerBuySellVolume"` } type FundingBundle struct { Current *FundingRate `json:"current"` History []FundingRate `json:"history"` } type OpenInterestBundle struct { Current *OpenInterest `json:"current"` History []OpenInterest `json:"history"` } type LongShortBundle struct { Global []LongShortRatio `json:"global"` TopTraderPosition []LongShortRatio `json:"topTraderPosition"` } type TechnicalStructure struct { Support []TechnicalLevel `json:"support"` Resistance []TechnicalLevel `json:"resistance"` RangeHigh *string `json:"rangeHigh"` RangeLow *string `json:"rangeLow"` LongShortLine *string `json:"longShortLine"` } type TechnicalLevel struct { Price string `json:"price"` Strength string `json:"strength,omitempty"` Source string `json:"source,omitempty"` } type DataQuality struct { Source string `json:"source"` Warnings []string `json:"warnings"` }