Eu sunt obtinerea de date dintr-un stoc furnizor, care include date Extinsă de Tranzacționare.
Datele sunt agregate la 1 minut de puncte de date care nu converti la JSON pentru a List<Aggregate>
în cazul în care conține agregate High, Low, Deschide, Închide, și Momentul de început al agregate 1-min fereastră.
Întrebările mele cuprind mai multe zile de tranzacționare - ar putea fi de sute și poate mii. Și-mi calcul de indicatori trebuie să excludă după ore de date.
Deci, am o listă de sute de articole de obiect:
public class Aggregate
{
public decimal Close { get; set; }
public decimal UnixTimestamp { get; set; } // milliseconds
...
}
și, de asemenea, DateTime FromDate
și DateTime ToDate
care se întinde pe sute de zile.
Acum, un mod sigur de a filtra după ore de date este de a compara UnixTimestamp
de fiecare element la tranzacționare regulate fereastra de timp 9:30 PST - 16:00 PM PST. Care ar avea nevoie de conversie de fiecare UnixTimestamp
pentru a DateTime
. Aceasta este o mulțime de comparație... Intuitiv, este mai bine de conversie FromDate
și ToDate
pentru a UnixTimestamp
și elemente de filtrare cu Linq.
long unixTimeMsecToDate = new DateTimeOffset(aggrParams.ToDate).ToUnixTimeMilliseconds();
long unixTimeMsecFromDate = new DateTimeOffset(aggrParams.FromDate).ToUnixTimeMilliseconds();
Cu toate acestea, eu nu pot pune degetul exact pe cod... Looping prin datele? Cum?