1
0
mirror of https://github.com/JKorf/CryptoExchange.Net synced 2025-06-08 00:16:27 +00:00

Merge pull request #17 from ridicoulous/orderBookUpdateEvent

added orderbook update event
This commit is contained in:
Jan Korf 2019-09-04 16:27:02 +02:00 committed by GitHub
commit de0916920f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 37 additions and 14 deletions

View File

@ -1574,6 +1574,16 @@
Event when the state changes
</summary>
</member>
<member name="E:CryptoExchange.Net.OrderBook.SymbolOrderBook.OnOrderBookUpdate">
<summary>
Event when orderbook was updated. Be careful! It can generate a lot of events at high-liquidity markets
</summary>
</member>
<member name="F:CryptoExchange.Net.OrderBook.SymbolOrderBook.LastOrderBookUpdate">
<summary>
Should be useful for low-liquidity order-books to monitor market activity
</summary>
</member>
<member name="P:CryptoExchange.Net.OrderBook.SymbolOrderBook.AskCount">
<summary>
The number of asks in the book

View File

@ -27,6 +27,7 @@ namespace CryptoExchange.Net.OrderBook
/// <summary>
/// The bid list
/// </summary>
protected SortedList<decimal, OrderBookEntry> bids;
private OrderBookStatus status;
private UpdateSubscription subscription;
@ -70,6 +71,14 @@ namespace CryptoExchange.Net.OrderBook
/// Event when the state changes
/// </summary>
public event Action<OrderBookStatus, OrderBookStatus> OnStatusChange;
/// <summary>
/// Event when orderbook was updated. Be careful! It can generate a lot of events at high-liquidity markets
/// </summary>
public event Action OnOrderBookUpdate;
/// <summary>
/// Should be useful for low-liquidity order-books to monitor market activity
/// </summary>
public DateTime LastOrderBookUpdate;
/// <summary>
/// The number of asks in the book
@ -259,6 +268,8 @@ namespace CryptoExchange.Net.OrderBook
CheckProcessBuffer();
bookSet = true;
LastOrderBookUpdate = DateTime.UtcNow;
OnOrderBookUpdate?.Invoke();
log.Write(LogVerbosity.Debug, $"{id} order book {Symbol} data set: {BidCount} bids, {AskCount} asks");
}
}
@ -299,6 +310,8 @@ namespace CryptoExchange.Net.OrderBook
ProcessUpdate(entry.Type, entry.Entry);
LastSequenceNumber = lastSequenceNumber;
CheckProcessBuffer();
LastOrderBookUpdate = DateTime.UtcNow;
OnOrderBookUpdate?.Invoke();
log.Write(LogVerbosity.Debug, $"{id} order book {Symbol} update: {entries.Count} entries processed");
}
}