1
1
package org .knowm .xchange .bitmex .service ;
2
2
3
3
import java .io .IOException ;
4
+ import java .math .BigDecimal ;
5
+ import java .text .DateFormat ;
6
+ import java .text .ParseException ;
7
+ import java .text .SimpleDateFormat ;
4
8
import java .util .Arrays ;
9
+ import java .util .List ;
5
10
6
11
import org .knowm .xchange .Exchange ;
7
12
import org .knowm .xchange .bitmex .BitmexAdapters ;
8
13
import org .knowm .xchange .bitmex .BitmexPrompt ;
14
+ import org .knowm .xchange .bitmex .dto .account .BitmexTicker ;
9
15
import org .knowm .xchange .currency .CurrencyPair ;
10
16
import org .knowm .xchange .dto .marketdata .OrderBook ;
11
17
import org .knowm .xchange .dto .marketdata .Ticker ;
12
18
import org .knowm .xchange .dto .marketdata .Trades ;
13
19
import org .knowm .xchange .exceptions .ExchangeException ;
14
- import org .knowm .xchange .exceptions .NotYetImplementedForExchangeException ;
15
20
import org .knowm .xchange .service .marketdata .MarketDataService ;
16
21
17
22
/**
@@ -37,7 +42,25 @@ public BitmexMarketDataService(Exchange exchange) {
37
42
@ Override
38
43
public Ticker getTicker (CurrencyPair currencyPair , Object ... args ) throws IOException {
39
44
40
- throw new NotYetImplementedForExchangeException ();
45
+ List <BitmexTicker > bitmexTickers = getTicker (currencyPair .base .toString () + currencyPair .counter .toString ());
46
+ BitmexTicker bitmexTicker = bitmexTickers .get (0 );
47
+
48
+ DateFormat format = new SimpleDateFormat ("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" );
49
+
50
+ Ticker ticker = null ;
51
+
52
+ try {
53
+ ticker = new Ticker .Builder ().currencyPair (currencyPair ).open (bitmexTicker .getOpenValue ())
54
+ .last (bitmexTicker .getLastPrice ()).bid (bitmexTicker .getBidPrice ()).ask (bitmexTicker .getAskPrice ())
55
+ .high (bitmexTicker .getHighPrice ()).low (bitmexTicker .getLowPrice ())
56
+ .vwap (new BigDecimal (bitmexTicker .getVwap ())).volume (bitmexTicker .getVolume ()).quoteVolume (null )
57
+ .timestamp (format .parse (bitmexTicker .getTimestamp ())).build ();
58
+ } catch (ParseException e ) {
59
+
60
+ return null ;
61
+ }
62
+
63
+ return ticker ;
41
64
}
42
65
43
66
@ Override
0 commit comments