Beispiel #1
0
        /// <summary>
        /// Extension method for the Spark.Event struct that generates new trade from order event if there is an
        /// event type match, otherwise returns NULL.
        /// </summary>
        internal static Trade ToTrade(this Spark.Event eventItem, string symbol, string exchange, DateTime observationTime)
        {
            int      price          = eventItem.Price;
            int      volume         = (int)eventItem.Volume;
            DateTime timeStamp      = DateTimeFromUnixTimestampSeconds(eventItem.Time);
            string   conditionCodes = Spark.ConditionCodesToStr(eventItem.ConditionCodes, eventItem.Exchange);

            return(new Trade(timeStamp, symbol, exchange, price, volume, conditionCodes, observationTime));
        }
Beispiel #2
0
 /// <summary>
 /// Convert Spark.Event struct into tab-separted human readable string
 /// </summary>
 /// <param name="eventItem">Spark event item</param>
 internal static string ToOutputString(this Spark.Event eventItem)
 {
     System.Text.StringBuilder result = new StringBuilder();
     result.Append(DateTimeFromUnixTimestampSeconds(eventItem.Time).ToMarketDateTime() + "\t");
     result.Append(Spark.EventTypeToStr(eventItem.Type) + "\t");
     result.Append(eventItem.Code + "\t");
     result.Append(eventItem.Exchange + "\t");
     result.Append(ApiFunctions.GetMarketSide(eventItem.Flags).ToString() + "\t");
     result.Append(eventItem.Price.ToPriceString() + "\t");
     result.Append(eventItem.Volume + "\t");
     result.Append(Spark.ConditionCodesToStr(eventItem.ConditionCodes, eventItem.Exchange) + "\t");
     result.Append(eventItem.Flags + "\t");
     result.Append(Spark.StateToStr(eventItem.State) + "\t");
     result.Append(eventItem.Position + "\t");
     result.Append(Spark.QuoteBasesToStr(eventItem.QuoteBases, eventItem.Exchange) + "\t");
     result.Append(eventItem.Reference + "\t");
     result.Append(eventItem.Count + "\t");
     return(result.ToString());
 }
Beispiel #3
0
 /// <summary>
 /// Convert condition codes to text format
 /// </summary>
 /// <param name="conditionCodes">Condition code long value</param>
 /// <param name="exchange">Exchange</param>
 internal static string ConvertToConditionCodeText(ulong conditionCodes, string exchange)
 {
     return(Spark.ConditionCodesToStr(conditionCodes, exchange));
 }