private void OnCryptoTrade(CryptoTrade trade) { string Text; if (IsJSONTextMode) { Text = JsonConvert.SerializeObject(trade); } else { Text = $"Trade: Pair: {trade.pair}, " + $"Price: {trade.p}, Size: {trade.s}, " + $"Trade ID: {trade.i}, Exchange ID: {trade.xt}, " + $"Time: {PGBase.UnixTimestampMillisToESTDateTime( trade.t )} EST"; } AppendText(Text); }
private void OnForexQuote(ForexQuote quote) { string Text; if (IsJSONTextMode) { Text = JsonConvert.SerializeObject(quote); } else { Text = $"Quote: Pair: {quote.p}, " + $"Bid: {quote.b}, Ask: {quote.a}, " + $"FX Exchange: {quote.x}, " + $"Time: {PGBase.UnixTimestampMillisToESTDateTime( quote.t )} EST"; } AppendText(Text); }
protected void OnLastTrade(LastTrade lastTrade) { string Text; if (IsJSONTextMode) { Text = JsonConvert.SerializeObject(lastTrade); } else { Text = $"Trade: Symbol: {lastTrade.symbol}, " + $"Price: {lastTrade.last.price}, Size: {lastTrade.last.size}, " + $"Exchange ID: {lastTrade.last.exchange}, " + $"Time: {PGBase.UnixTimestampMillisToESTDateTime( lastTrade.last.timestamp )}"; } AppendText(Text); }
private void OnEquitiesTrade(Trade trade) { string Text; if (IsJSONTextMode) { Text = JsonConvert.SerializeObject(trade); } else { Text = $"Trade: Symbol: {trade.sym}, " + $"Price: {trade.p}, Size: {trade.s}, " + $"Trade ID: {trade.i}, Exchange ID: {trade.x}, " + $"Time: {PGBase.UnixTimestampMillisToESTDateTime( trade.t )} EST"; } AppendText(Text); }
// =====>>>>>>>>>> JSONText Message Received public override void OnWebSocketJSONText(string JSONText) { try { string ObjJSONText; List <object> PGBaseList = JsonConvert.DeserializeObject <List <object> >(JSONText); foreach (var PGBase in PGBaseList) { ObjJSONText = PGBase.ToString(); PolygonBase pGBase = JsonConvert.DeserializeObject <PolygonBase>(ObjJSONText); switch (pGBase.ev) { case "C": ForexQuote quote = JsonConvert.DeserializeObject <ForexQuote>(ObjJSONText); if (quote != null) { OnForexQuoteEvent?.Invoke(quote); } break; case "CA": ForexAggregate forexAgg = JsonConvert.DeserializeObject <ForexAggregate>(ObjJSONText); if (forexAgg != null) { OnForexAggEvent?.Invoke(forexAgg); } break; case "status": Status StatusIn = JsonConvert.DeserializeObject <Status>(ObjJSONText); HandleStatusMessage(StatusIn); break; default: break; } } } catch (System.Exception ex) { HandleJSONTextException("websocket_MessageReceived", JSONText, ex); } }
private void OnCryptoLevel2(CryptoLevel2 cryptoLevel2) { string Text; if (IsJSONTextMode) { Text = JsonConvert.SerializeObject(cryptoLevel2); } else { Text = $"Trade: Pair: {cryptoLevel2.pair}, " + $"Bid Prices: {cryptoLevel2.b.ToString()}" + $"Ask Prices: {cryptoLevel2.a.ToString()}, " + $"Exchange ID: {cryptoLevel2.xt}, " + $"Time: {PGBase.UnixTimestampMillisToESTDateTime( cryptoLevel2.t )} EST"; } AppendText(Text); }
private void OnForexAgg(ForexAggregate forexAgg) { string Text; if (IsJSONTextMode) { Text = JsonConvert.SerializeObject(forexAgg); } else { Text = $"Quote: Pair: {forexAgg.pair}, " + $"Open: {forexAgg.o}, Close: {forexAgg.c}, " + $"High: {forexAgg.h}, Low: {forexAgg.l}, " + $"Volume: {forexAgg.v} EST" + $"Tick Start: {PGBase.UnixTimestampMillisToESTDateTime( forexAgg.s )} EST"; } AppendText(Text); }
protected void OnLastQuote(LastQuote LastQuote) { string Text; if (IsJSONTextMode) { Text = JsonConvert.SerializeObject(LastQuote); } else { Text = $"LastQuote: Symbol: {LastQuote.symbol}, " + $"Bid: {LastQuote.last.bidprice}, Bid Size: {LastQuote.last.bidsize}, " + $"Ask: {LastQuote.last.askprice}, Ask Size: {LastQuote.last.asksize}, " + $"Bid ID: {LastQuote.last.bidexchange}, Ask ID: {LastQuote.last.askexchange} " + $"Time: {PGBase.UnixTimestampMillisToESTDateTime( LastQuote.last.timestamp )} EST"; } AppendText(Text); }
private void OnEquitiesQuote(Quote quote) { string Text; if (IsJSONTextMode) { Text = JsonConvert.SerializeObject(quote); } else { Text = $"Quote: Symbol: {quote.sym}, " + $"Bid: {quote.bp}, Bid Size: {quote.bs}, " + $"Ask: {quote.ap}, Ask Size: {quote.asz}, " + $"Bid ID: {quote.bx}, Ask ID: {quote.ax} " + $"Time: {PGBase.UnixTimestampMillisToESTDateTime( quote.t )} EST"; } AppendText(Text); }
private void OnCryptoQuote(CryptoQuote quote) { string Text; if (IsJSONTextMode) { Text = JsonConvert.SerializeObject(quote); } else { Text = $"Trade: Pair: {quote.pair}, " + $"Last Trade: {quote.lp}, Last Trade Size: {quote.ls}, " + $"Bid: {quote.bp}, Bid Size: {quote.bs}, " + $"Ask: {quote.ap}, Ask Size: {quote.asz}, " + $"Exchange ID: {quote.xt}, " + $"Exchange Timestamp: {PGBase.UnixTimestampMillisToESTDateTime( quote.t )} EST"; } AppendText(Text); }
private void OnCryptoAgg(CryptoAggregate cryptoAgg) { string Text; if (IsJSONTextMode) { Text = JsonConvert.SerializeObject(cryptoAgg); } else { Text = $"Trade: Pair: {cryptoAgg.pair}, " + $"Open: {cryptoAgg.o}, Open Exchange: {cryptoAgg.ox}, " + $"High: {cryptoAgg.h}, High Exchange: {cryptoAgg.hx}, " + $"Low: {cryptoAgg.l}, Low Exchange: {cryptoAgg.lx}, " + $"Close: {cryptoAgg.cl}, Close Exchange: {cryptoAgg.cx}, " + $"Volume: {cryptoAgg.v}, " + $"Tick Start: {PGBase.UnixTimestampMillisToESTDateTime( cryptoAgg.s )} EST" + $"Tick End: {PGBase.UnixTimestampMillisToESTDateTime( cryptoAgg.e )} EST"; } AppendText(Text); }
// =====>>>>>>>>>> JSONText Message Received public override void OnWebSocketJSONText(string JSONText) { try { string ObjJSONText; List <object> PGBaseList = JsonConvert.DeserializeObject <List <object> >(JSONText); foreach (var PGBase in PGBaseList) { ObjJSONText = PGBase.ToString(); PolygonBase pGBase = JsonConvert.DeserializeObject <PolygonBase>(ObjJSONText); switch (pGBase.ev) { case "Q": Quote quote = JsonConvert.DeserializeObject <Quote>(ObjJSONText); if (quote != null) { OnQuoteEvent?.Invoke(quote); } break; case "T": Trade trade = JsonConvert.DeserializeObject <Trade>(ObjJSONText); if (trade != null) { OnTradeEvent?.Invoke(trade); } break; case "status": Status StatusIn = JsonConvert.DeserializeObject <Status>(ObjJSONText); HandleStatusMessage(StatusIn); break; case "A": ASecond ASecRef = JsonConvert.DeserializeObject <ASecond>(ObjJSONText); if (ASecRef != null) { OnASecondEvent?.Invoke(ASecRef); } break; case "AM": AMinute AMinRef = JsonConvert.DeserializeObject <AMinute>(ObjJSONText); if (AMinRef != null) { OnAMinuteEvent?.Invoke(AMinRef); } break; default: break; } } } catch (System.Exception ex) { HandleJSONTextException("websocket_MessageReceived", JSONText, ex); } }
// =====>>>>>>>>>> JSONText Message Received public override void OnJSONTextReceived(string JSONText) { try { string ObjJSONText; List <object> PGBaseList = JsonConvert.DeserializeObject <List <object> >(JSONText); foreach (var PGBase in PGBaseList) { ObjJSONText = PGBase.ToString(); PolygonBase PGBaseRef = JsonConvert.DeserializeObject <PolygonBase>(ObjJSONText); switch (PGBaseRef.ev) { case "Q": Quote QuoteRef = JsonConvert.DeserializeObject <Quote>(ObjJSONText); if (QuoteRef != null) { OnQuoteEvent?.Invoke(QuoteRef); } break; case "T": Trade TradeRef = JsonConvert.DeserializeObject <Trade>(ObjJSONText); if (TradeRef != null) { OnTradeEvent?.Invoke(TradeRef); } break; case "status": Status StatusRef = JsonConvert.DeserializeObject <Status>(ObjJSONText); if (StatusRef != null) { if (StatusRef.status.Contains(PGStatusMessages.AuthSuccess)) { if (IsReconnect) { FireOnPGRestartedEvent(); } FireOnPGReadyEvent(IsReconnect); } OnPGStatusEvent?.Invoke(StatusRef.status, StatusRef.message); } break; case "A": ASecond ASecRef = JsonConvert.DeserializeObject <ASecond>(ObjJSONText); if (ASecRef != null) { OnASecondEvent?.Invoke(ASecRef); } break; case "AM": AMinute AMinRef = JsonConvert.DeserializeObject <AMinute>(ObjJSONText); if (AMinRef != null) { OnAMinuteEvent?.Invoke(AMinRef); } break; default: break; } } } catch (System.Exception ex) { HandleJSONTextException("websocket_MessageReceived", JSONText, ex); } }
public StatusValues(PGBase pGBase) { StatusValuesObjs.Add(this); }
public RTDataRec(string Symbol, string ClusterName) { this.Symbol = PGBase.GetSymbolOnly(Symbol); this.ClusterName = ClusterName; _PriceTick = _AskTick = _BidTick = _ChangeTick = TickType.FlatTick; }
// =====>>>>>>>>>> JSONText Message Received public override void OnWebSocketJSONText(string JSONText) { try { string ObjJSONText; List <object> PGBaseList = JsonConvert.DeserializeObject <List <object> >(JSONText); foreach (var PGBase in PGBaseList) { ObjJSONText = PGBase.ToString(); PolygonBase pGBase = JsonConvert.DeserializeObject <PolygonBase>(ObjJSONText); switch (pGBase.ev) { case "XQ": CryptoQuote quote = JsonConvert.DeserializeObject <CryptoQuote>(ObjJSONText); if (quote != null) { OnCryptoQuoteEvent?.Invoke(quote); } break; case "XT": CryptoTrade trade = JsonConvert.DeserializeObject <CryptoTrade>(ObjJSONText); if (trade != null) { OnCryptoTradeEvent?.Invoke(trade); } break; case "XA": CryptoAggregate cryptoAgg = JsonConvert.DeserializeObject <CryptoAggregate>(ObjJSONText); if (cryptoAgg != null) { OnCryptoAggEvent?.Invoke(cryptoAgg); } break; case "XS": CryptoSIP CryptoSIPRef = JsonConvert.DeserializeObject <CryptoSIP>(ObjJSONText); if (CryptoSIPRef != null) { OnCryptoSIPEvent?.Invoke(CryptoSIPRef); } break; case "XL2": CryptoLevel2 cryptoLevel2 = JsonConvert.DeserializeObject <CryptoLevel2>(ObjJSONText); if (cryptoLevel2 != null) { OnCryptoLevel2Event?.Invoke(cryptoLevel2); } break; case "status": Status StatusIn = JsonConvert.DeserializeObject <Status>(ObjJSONText); HandleStatusMessage(StatusIn); break; default: break; } } } catch (System.Exception ex) { HandleJSONTextException("websocket_MessageReceived", JSONText, ex); } }