private Last CreateLast(BitfinexTrade bitfinexTrade) { DateTime dateTime = Core.Instance.TimeUtils.ConvertUnixSecondsToDateTime((int)bitfinexTrade.Timestamp); if (this.lastTradeTimeCache.TryGetValue(bitfinexTrade.Pair, out long lastTradeTime) && dateTime.Ticks <= lastTradeTime) { dateTime = new DateTime(lastTradeTime + 1, DateTimeKind.Utc); } this.lastTradeTimeCache[bitfinexTrade.Pair] = dateTime.Ticks; return(new Last(bitfinexTrade.Pair, (double)bitfinexTrade.Price, Math.Abs((double)bitfinexTrade.Amount), dateTime)); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var jArray = serializer.Deserialize <JArray>(reader); var result = new BitfinexTrade() { Timestamp = jArray[1].Value <long>(), Amount = jArray[2].Value <decimal>(), Price = jArray[3].Value <decimal>() }; return(result); }
private Last CreateLast(BitfinexTrade bitfinexTrade) { DateTime dateTime = DateTimeOffset.FromUnixTimeSeconds((int)bitfinexTrade.Timestamp).UtcDateTime; if (this.lastTradeTimeCache.TryGetValue(bitfinexTrade.Pair, out long lastTradeTime) && dateTime.Ticks <= lastTradeTime) { dateTime = new DateTime(lastTradeTime + 1, DateTimeKind.Utc); } this.lastTradeTimeCache[bitfinexTrade.Pair] = dateTime.Ticks; return(new Last(bitfinexTrade.Pair, (double)bitfinexTrade.Price, Math.Abs((double)bitfinexTrade.Amount), dateTime)); }
private IHistoryItem CreateHistoryItemLast(BitfinexTrade bitfinexTrade) => new HistoryItemLast { TicksLeft = Core.Instance.TimeUtils.ConvertUnixMilisecondsToDateTime(bitfinexTrade.Timestamp).Ticks, Price = (double)bitfinexTrade.Price, Volume = Math.Abs((double)bitfinexTrade.Amount) };
private DayBar CreateDayBar(BitfinexTrade bitfinexTrade) => new DayBar(bitfinexTrade.Pair, Core.Instance.TimeUtils.ConvertUnixSecondsToDateTime((int)bitfinexTrade.Timestamp)) { Last = (double)bitfinexTrade.Price, LastSize = (double)Math.Abs(bitfinexTrade.Amount) };
private IHistoryItem CreateHistoryItemLast(BitfinexTrade bitfinexTrade) => new HistoryItemLast { TicksLeft = DateTimeOffset.FromUnixTimeMilliseconds(bitfinexTrade.Timestamp).UtcDateTime.Ticks, Price = (double)bitfinexTrade.Price, Volume = Math.Abs((double)bitfinexTrade.Amount) };
private DayBar CreateDayBar(BitfinexTrade bitfinexTrade) => new DayBar(bitfinexTrade.Pair, DateTimeOffset.FromUnixTimeSeconds((int)bitfinexTrade.Timestamp).UtcDateTime) { Last = (double)bitfinexTrade.Price, LastSize = (double)Math.Abs(bitfinexTrade.Amount) };