Io sono sempre dati da stock fornitore che include i dati di un Esteso Orario di Negoziazione.
I dati aggregati 1 minuto di punti di dati che ho convertire da JSON per List<Aggregate>
dove aggregato contiene in Alto, in Basso, Aprire, Chiudere, e l'Ora di inizio dell'aggregato 1-min finestra.
La mia query comprendere più giorni di negoziazione - potrebbero essere centinaia, e potrebbe essere migliaia. E il mio calcolo di indicatori deve escludere che dopo le ore di dati.
Così ho una lista di centinaia di elementi dell'oggetto:
public class Aggregate
{
public decimal Close { get; set; }
public decimal UnixTimestamp { get; set; } // milliseconds
...
}
e anche il DateTime FromDate
e DateTime ToDate
che si estende per centinaia di giorni.
Ora, un modo sicuro per filtro after-hours di dati è quello di confrontare il UnixTimestamp
di ogni elemento per il commercio normale finestra di tempo 9:30 AM PST - 16:00 PM PST. Che richiedono la conversione di ogni UnixTimestamp
per DateTime
. Questo è un sacco di paragone... Intuitivamente, è meglio convertire FromDate
e ToDate
per UnixTimestamp
e elementi di filtraggio con Linq.
long unixTimeMsecToDate = new DateTimeOffset(aggrParams.ToDate).ToUnixTimeMilliseconds();
long unixTimeMsecFromDate = new DateTimeOffset(aggrParams.FromDate).ToUnixTimeMilliseconds();
Tuttavia, non posso mettere il mio dito sul codice esatto... scorrono le date? Come?