Dostávám data z akciových poskytovatele, který obsahuje data pro Rozšířené Obchodní Hodiny.
Data jsou agregovány 1-minutu data, která jsem převod z JSON do List<Aggregate>
kde agregát obsahuje Vysoké, Nízké, Otevřít, Zavřít, a Čas zahájení agregované 1-min okně.
Mé dotazy zahrnovat více obchodních dnů - mohl by to být stovky a tisíce. A můj výpočet ukazatele je nutné vyloučit po-hodinách dat.
Takže mám seznam stovky položek objektu:
public class Aggregate
{
public decimal Close { get; set; }
public decimal UnixTimestamp { get; set; } // milliseconds
...
}
a také DateTime FromDate
a DateTime ToDate
které trvá stovky dní.
Nyní, jeden způsob, jak filtrovat po-hodinách dat je porovnat UnixTimestamp
z každé položky na pravidelné obchodování časové okno 9:30 AM PST - 16:00 HODIN PST. To by vyžadovalo konverze každý UnixTimestamp
k DateTime
. To je hodně srovnání... Intuitivně, je lepší konverzi FromDate
a ToDate
k UnixTimestamp
a filtrování položek s Linq.
long unixTimeMsecToDate = new DateTimeOffset(aggrParams.ToDate).ToUnixTimeMilliseconds();
long unixTimeMsecFromDate = new DateTimeOffset(aggrParams.FromDate).ToUnixTimeMilliseconds();
Nicméně, nemohu si vzpomenout na přesný kód... Looping přes data? Jak na to?