11from dxfeed.core.utils.helpers cimport *
22from dxfeed.core.utils.handler cimport EventHandler
33from collections import namedtuple
4- cimport cython
54
65cdef class FuncWrapper:
76 def __cinit__ (self ):
@@ -15,12 +14,10 @@ cdef class FuncWrapper:
1514
1615
1716TRADE_COLUMNS = [' Symbol' , ' Sequence' , ' Price' , ' ExchangeCode' , ' Size' , ' Tick' , ' Change' , ' DayVolume' ,
18- ' DayTurnover' , ' Direction' , ' Time' , ' Nanos ' , ' RawFlags' , ' IsETH' , ' Scope' ]
17+ ' DayTurnover' , ' Direction' , ' Time' , ' TimeNanos ' , ' RawFlags' , ' IsETH' , ' Scope' ]
1918TradeTuple = namedtuple(' Trade' , [' symbol' , ' sequence' , ' price' , ' exchange_code' , ' size' , ' tick' , ' change' ,
2019 ' day_volume' , ' day_turnover' , ' direction' , ' time' , ' time_nanos' , ' raw_flags' ,
2120 ' is_eth' , ' scope' ])
22- @ cython.boundscheck (False )
23- @ cython.wraparound (False )
2421cdef void trade_default_listener(int event_type,
2522 dxf_const_string_t symbol_name,
2623 const dxf_event_data_t* data,
@@ -49,8 +46,8 @@ cdef void trade_default_listener(int event_type,
4946
5047 py_data.cython_internal_update_method(events)
5148
52- QUOTE_COLUMNS = [' Symbol' , ' Sequence' , ' Time' , ' Nanos ' , ' BidTime' , ' BidExchangeCode' , ' BidPrice' , ' BidSize' , ' AskTime ' ,
53- ' AskExchangeCode' , ' AskPrice' , ' AskSize' , ' Scope' ]
49+ QUOTE_COLUMNS = [' Symbol' , ' Sequence' , ' Time' , ' TimeNanos ' , ' BidTime' , ' BidExchangeCode' , ' BidPrice' , ' BidSize' ,
50+ ' AskTime ' , ' AskExchangeCode' , ' AskPrice' , ' AskSize' , ' Scope' ]
5451QuoteTuple = namedtuple(' Quote' , [' symbol' , ' sequence' , ' time' , ' time_nanos' , ' bid_time' , ' bid_exchange_code' ,
5552 ' bid_price' , ' bid_size' , ' ask_time' , ' ask_exchange_code' , ' ask_price' , ' ask_size' ,
5653 ' scope' ])
@@ -188,8 +185,8 @@ cdef void time_and_sale_default_listener(int event_type,
188185 scope = tns[i].scope)
189186 py_data.cython_internal_update_method(events)
190187
191- CANDLE_COLUMNS = [' Symbol' , ' EventFlags' , ' Index' , ' Time' , ' Sequence' , ' Count' , ' Open' , ' High' , ' Low' , ' Close' , ' Volume ' , ' VWap ' ,
192- ' BidVolume' , ' AskVolume' , ' OpenInterest' , ' ImpVolatility' ]
188+ CANDLE_COLUMNS = [' Symbol' , ' EventFlags' , ' Index' , ' Time' , ' Sequence' , ' Count' , ' Open' , ' High' , ' Low' , ' Close' ,
189+ ' Volume ' , ' VWap ' , ' BidVolume' , ' AskVolume' , ' OpenInterest' , ' ImpVolatility' ]
193190CandleTuple = namedtuple(' Candle' , [' symbol' , ' event_flags' , ' index' , ' time' , ' sequence' , ' count' , ' open' , ' high' ,
194191 ' low' , ' close' , ' volume' , ' vwap' , ' bid_volume' , ' ask_volume' , ' open_interest' ,
195192 ' imp_volatility' ])
@@ -221,10 +218,10 @@ cdef void candle_default_listener(int event_type,
221218 imp_volatility = candle[i].imp_volatility)
222219 py_data.cython_internal_update_method(events)
223220
224- ORDER_COLUMNS = [' Symbol' , ' EventFlags' , ' Index' , ' Time' , ' Nanos ' , ' Sequence' , ' Price' , ' Size' , ' Count' , ' Scope' ,
225- ' Side' , ' ExchangeCode' , ' MarketMaker' , ' SpreadSymbol' ]
221+ ORDER_COLUMNS = [' Symbol' , ' EventFlags' , ' Index' , ' Time' , ' TimeNanos ' , ' Sequence' , ' Price' , ' Size' , ' Count' , ' Scope' ,
222+ ' Side' , ' ExchangeCode' , ' Source ' , ' MarketMaker' , ' SpreadSymbol' ]
226223OrderTuple = namedtuple(' Order' , [' symbol' , ' event_flags' , ' index' , ' time' , ' time_nanos' , ' sequence' , ' price' , ' size' ,
227- ' count' , ' scope' , ' side' , ' exchange_code' , ' market_maker' , ' spread_symbol' ])
224+ ' count' , ' scope' , ' side' , ' exchange_code' , ' source ' , ' market_maker' , ' spread_symbol' ])
228225cdef void order_default_listener(int event_type,
229226 dxf_const_string_t symbol_name,
230227 const dxf_event_data_t* data,
@@ -247,6 +244,7 @@ cdef void order_default_listener(int event_type,
247244 scope = order[i].scope,
248245 side = order[i].side,
249246 exchange_code = unicode_from_dxf_const_string_t(& order[i].exchange_code),
247+ source = unicode_from_dxf_const_string_t(& order[i].source[DXF_RECORD_SUFFIX_SIZE]),
250248 market_maker = unicode_from_dxf_const_string_t(order[i].market_maker),
251249 spread_symbol = unicode_from_dxf_const_string_t(order[i].spread_symbol))
252250 py_data.cython_internal_update_method(events)
0 commit comments