示例#1
0
        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);
        }
示例#3
0
        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));
        }
示例#4
0
 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)
 };
示例#5
0
 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)
 };
示例#6
0
 private IHistoryItem CreateHistoryItemLast(BitfinexTrade bitfinexTrade) => new HistoryItemLast
 {
     TicksLeft = DateTimeOffset.FromUnixTimeMilliseconds(bitfinexTrade.Timestamp).UtcDateTime.Ticks,
     Price     = (double)bitfinexTrade.Price,
     Volume    = Math.Abs((double)bitfinexTrade.Amount)
 };
示例#7
0
 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)
 };