Market Data: April 15, 2020

Market data report provided by XTRD FIX API

BITHUMB

Bithumb presently contains 184 trading pairs consisting of 132 assets

New coin listed: IQ

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

CEX.IO

CEX.IO contains 79 trading pairs consisting of 28 assets

New cryptocurrency pairs: 

PROBIT

PROBIT presently contains 520 trading pairs consisting of 289 assets

New coins listed: SKC, XSPEC

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

Delisted coin: CSPN

Removed cryptocurrency pairs: 

  • CSPN/BTC
  • ICT/ETH
  • ICT/USDT

STEX

STEX contains 416 trading pairs consisting of 325 assets

New coins listed: JUP, LTCP, WON

Available cryptocurrency pairs: 

BITMART

Bitmart contains 290 trading pairs consisting of 161 assets

New coin listed: BSYS

Available cryptocurrency pair: 

New cryptocurrency pair: 

Removed cryptocurrency pair: 

  • BMX/ETH

HITBTC 

HitBTC contains 915 trading pairs consisting of 406 assets

New coins listed: CUR, LAVA, CURE

Available cryptocurrency pairs: 

BITTREX

Bittrex contains 398 trading pairs consisting of 259 assets

New coins listed: USDC, OXT, ALGO, ICX

Available cryptocurrency pairs: 

New cryptocurrency pair: 

Market Data: April 1, 2020

Market data report provided by XTRD FIX API

BITHUMB 

Bithumb contains 180 trading pairs consisting of 130 assets

New APIX, ATT, GDC, EL

Available cryptocurrency pairs: 

New currency pairs: 

Delisted coin: 

  • EIDOS

Removed cryptocurrency pair: 

  • EIDOS/USDT

BINANCE

Binance contains 601 trading pairs consisting of 192 assets

New coins listed: STPT, ZAR

Available cryptocurrency pairs: 

Removed cryptocurrency pairs: 37 pairs

OKEX

OKEx contains 373 trading pairs consisting of 147 assets

New coin listed: OXT

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

HUOBI

Huobi contains 553 trading pairs consisting of 229 assets

Removed cryptocurrency pairs: 

  • SALT/ETH
  • QSP/ETH
  • OST/ETH
  • RDN/ETH
  • AST/ETH
  • ADX/ETH
  • RCN/ETH
  • TNT/ETH

BITMEX

Bitmex contains 12 trading pairs consisting of 11 assets

Removed cryptocurrency pairs: 

  • XRP/H20
  • EOS/H20
  • LTC/H20
  • BCH/H20
  • ADA/H20
  • TRX/H20
  • XBT/H20
  • ETH/H20

COINSUPER

Coinsuper contains 88 trading pairs consisting of 66 assets

Delisted coin: DX

Removed cryptocurrency pairs: 

  • DX/ETH
  • BTT/BTC
  • VET/USD
  • PI/USDT
  • VET/BTC
  • PI/ETH

BITFINEX

BITFINEX contains 296 trading pairs consisting of 162 assets

Removed cryptocurrency pairs: 84 pairs

PROBIT

PROBIT contains 514 trading pairs consisting of 287 assets

New coins listed: SBP, ARX, TSK, HUNT, GLEEC, TPT, SOLO, BTCR

Available cryptocurrency pairs: 

New cryptocurrency pair: 

STEX

STEX contains 410 trading pairs consisting of 319 assets

New coin listed: CHBT

Available cryptocurrency pair: 

BITMART

Bitmart contains 296 trading pairs consisting of 164 assets

New cryptocurrency pair: 

Removed cryptocurrency pair: 

  • 1SG/BTC

HITBTC

HitBTC contains 905 trading pairs consisting of 399 assets

New coins listed: POST, IQ, TRIGX

Available cryptocurrency pairs: 

New cryptocurrency pair: 

Delisted coin: 

  • PROC

Removed cryptocurrency pairs: 

  • PROC/BTC
  • USD/USDT20
  • BTC/USDT20

BITTREX

Bittrex contains 386 trading pairs consisting of 253 assets

New coins listed: ELAMA, IRIS, EUR, STC, SXP

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

Delisted coin: 

  • MTL

Removed cryptocurrency pair: 

  • BTC/MTL

How to install XTRD Bookmap Addon

Bookmap is a very convenient platform to track market trends through advanced visualization capabilities. Combined with XTRD-provided set of digital assets exchange access, powers a valuable tool to navigate these markets.

Here is a brief instruction on how to get started using XTRD data services inside Bookmap.  

We assume that you already have the latest and greatest version of Bookmap downloaded and installed! If not, you always can do it from https://bookmap.com

The XTRD Market Data Addon is available on the Bookmap Marketplace – a pretty self-explanatory service where you can find many valuable extensions.

The XTRD Storefront contains many different items that can be grouped into two categories:

  1. Addons
  2. Subscriptions

The XTRD Market Data Addon is a free-to-download component that does all the heavy work – connect, receive, and parse market data streams from multiple digital asset exchanges. 

Subscriptions are the ability to receive and visualize information for a particular exchange e.g. Binance, Huobi, CEX.IO, or BitMex using Bookmap. 

First, you’ll need to install the XTRD Market Data Addon for Bookmap. 

In order to install XTRD Market Data Add-on: 

1. Open Bookmap

2. Go to Settings → Manage plugins

3. Click the Install button located near xtrd-adapter.

4. Restart Bookmap. 

All set! XTRD Market Data Add-on is installed now, but to start working with it you need to get credentials from us (login, password). In order to do this go to https://marketplace.bookmap.com and subscribe to XTRD Market Data Add-on. 

After you subscribed, you will receive an email with the credentials from us. 

Then you need to set up the connection for XTRD Market Data Add-on. In order to do this: 

1. Open Bookmap. 

2. Go to Connections → Configure → ADD CONNECTION

3. Select XTRD Market Data Addon and enter your credentials. 

XTRD Market Data Add-on is ready for work now and should appear in the list of connections in the Connections section. You can now launch XTRD Market Data Add-on by simply selecting it from this list. 

To start getting market data from XTRD you need to buy a subscription to one of the exchanges. In order to do this:

1. Go to https://marketplace.bookmap.com

2. Filter the list by XTRD (if you buy a subscription that is not associated with XTRD it won’t work on XTRD Market Data Add-on). 

3. Select one of the exchanges. 

4. Buy a subscription. 

5. Get an email from us confirming that you have bought the subscription. 

After that restart XTRD Market Data Add-on if it is on. Go to the Connection section and turn off XTRD Market Data Add-on by left click and then turn on again the same way. If it is off, you just need to launch it. 

You can now select the exchanges you subscribed to and get market data for the selected symbols. In order to select symbols click “+” on the top right corner of the Bookmap window or press Ctrl+T and select symbols in the pop-up window. 

Market Data: March 18, 2020

Market data report provided by XTRD FIX API

BITHUMB 

Bithumb contains 173 trading pairs consisting of 124 assets

New coins listed: AMA, COSM, ADA

Available cryptocurrency pairs: 

YOBIT

Yobit contains 8522 trading pairs consisting of 1420 assets

New cryptocurrency pairs: 

OKEX

OKEx contains 363 trading pairs consisting of 147 assets

Removed cryptocurrency pairs: 

  • STC/USDT
  • STC/BTC
  • ZIP/BTC
  • R/BTC
  • R/USDT
  • HPB/BTC
  • XUC/BTC
  • BEC/BTC
  • HPB/ETH
  • HPB/USDT
  • VNT/USDK
  • VNT/USDT

GATE.IO

GATE.IO contains 461 trading pairs consisting of 232 assets

New coin listed: LBK

Available cryptocurrency pairs: 

BINANCE US

Binance US contains 59 trading pairs consisting of 32 assets

New coin listed: XTZ

Available cryptocurrency pairs: 

BITMEX

Bitmex contains 20 trading pairs consisting of 12 assets

New coin listed: U20

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

KRAKEN

Kraken contains 144 trading pairs consisting of 39 assets

New cryptocurrency pairs: 

COINSUPER

Coinsuper contains 96 trading pairs consisting of 70 assets

Delisted coins: 

  • WENI
  • OMG
  • XLM
  • TRUE

Removed cryptocurrency pairs: 

  • OMG/BTC
  • WENI/USDT
  • TRUE/BTC
  • XLM/BTC

BITFINEX

Bitfinex contains 380 trading pairs consisting of 162 assets

Removed 45 cryptocurrency pairs. 

PROBIT

PROBIT contains 457 trading pairs consisting of 263 assets

New coins listed: MOZOX, SNB, PGPAY, SPYCE

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

Removed cryptocurrency pairs: 

  • CPU/KRW

STEX

STEX contains 448 trading pairs consisting of 348 assets

New cryptocurrency pairs: 

Delisted coin: 

  • XUN

Removed cryptocurrency pair: 

  • XUN/LTC

HITBTC 

HitBTC contains 898 trading pairs consisting of 395 assets

New coins listed: VITAE, ALGO, EMRX

Available cryptocurrency pairs: 

New cryptocurrency pair: 

Delisted coins: 

  • RVT
  • DPN

Removed cryptocurrency pairs: 

  • DPN/BTC
  • RVT/BTC
  • NJBC/BTC
  • ABA/ETH
  • NJBC/ETH
  • ABA/BTC
  • ABA/USD

BITTREX 

Bittrex presently contains 365 trading pairs consisting of 243 assets

New coins listed: MOF, CKB, VANY

Available cryptocurrency pairs: 

Market Data: March 11, 2020

BITHUMB 

Bithumb contains 170 trading pairs consisting of 121 assets

New coins listed: FF1, BOA

Available cryptocurrency pairs: 

YOBIT 

Yobit contains 8512 trading pairs consisting of 1420 assets

New coins listed: INVEST, CNB

Available cryptocurrency pairs: 

GATE.IO

GATE.IO contains 460 trading pairs consisting of 231 assets

New coin listed: BTMX

Available cryptocurrency pair: 

BINANCE

Binance contains 635 trading pairs consisting of 201 assets

New coins listed: BNBBEAR, BNBBULL

Available cryptocurrency pairs: 

Removed cryptocurrency pairs: 

  • CND/ETH
  • CTXC/BNB
  • DLT/BNB
  • VIBE/ETH
  • ZEC/PAX

KRAKEN

Kraken contains 135 trading pairs consisting of 39 assets

New coin listed: TRX

Available cryptocurrency pairs: 

COINSUPER 

Coinsuper contains 100 trading pairs consisting of 74 assets

New coins listed: UXGK, USDX, ETF

Available cryptocurrency pairs: 

Delisted coins: 

  • PINETWORK
  • VV
  • CST
  • NOVA
  • TCZ

Removed cryptocurrency pairs: 

  • TCZ/USDT
  • PINETWORK/USDT
  • VV/USDT
  • CST/USDT
  • NOVA/USDT

LGO

LGO contains 3 trading pairs consisting of 5 assets

New coins listed: USD.P, USDT.P

Available cryptocurrency pair: 

BITFINEX

BITFINEX contains 425 trading pairs consisting of 162 assets

New coin listed: XAUTF0

Available cryptocurrency pair: 

ITBIT

ITBIT contains 5 trading pairs consisting of 6 assets

New coin listed: PAXG

Available cryptocurrency pair: 

Removed cryptocurrency pairs: 

  • ETH/SGD
  • XBT/EUR

PROBIT

PROBIT contains 449 trading pairs consisting of 259 assets

New coins listed: ARDR, CTT, ZEN, BIRD, ONG, ATOM, CSPN, MONA, WOK, DCR, ONT, JET, ECOIN, ICX

Available cryptocurrency pairs: 

Delisted coin: 

  • MOZOX

Removed cryptocurrency pairs: 

  • MOZOX/USDT
  • DIVO/KRW

STEX

STEX contains 445 trading pairs consisting of 348 assets

Delisted coins: 

  • BZL
  • ETG

Removed cryptocurrency pairs: 

  • ETG/LTC
  • BZL/BTC

BITMART 

Bitmart contains 293 trading pairs consisting of 161 assets

New coins listed: SNK, FLC

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

Removed cryptocurrency pairs: 

  • BDG/BTC
  • HOT/ETH

HITBTC

HitBTC contains 899 trading pairs consisting of 396 assets

New coin listed: ARPA

Available cryptocurrency pairs: 

Removed cryptocurrency pairs: 

  • TEL/ETH
  • TEL/BTC

BITTREX

Bittrex contains 360 trading pairs consisting of 240 assets

New coins listed: BOA, CPC

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

Market Data: March 4, 2020

Market data report provided by XTRD FIX API

BITHUMB 

Bithumb contains 167 trading pairs consisting of 119 assets

New coin listed: QBZ

Available cryptocurrency pairs: 

Removed cryptocurrency pairs: 

  • YO/ETH

YOBIT 

Yobit contains 8498 trading pairs consisting of 1418 assets

New coin listed: X100

Available cryptocurrency pairs: 

OKEX

OKEx contains 375 trading pairs consisting of 151 assets

New coin listed: BAT

Available cryptocurrency pairs: 

GATE.IO

GATE.IO contains 459 trading pairs consisting of 230 assets

New coins listed: ETH3L, BCH3L, XTZ3S, LTC3L, KAVA, BCH3S, XTZ3L, ETH3S, BSV3S, LTC3S, EOS3L, BSV3L, EOS3S

New cryptocurrency pairs: 

BINANCE 

Binance contains 636 trading pairs consisting of 199 assets

New coin listed: COTI

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

STEX

STEX contains 447 trading pairs consisting of 350 assets

New coins listed: LMCH, WABI, DGB

Available cryptocurrency pairs: 

BITTREX

Bittrex contains 355 trading pairs consisting of 238 assets

New cryptocurrency pairs: 

PROBIT

PROBIT contains 428 trading pairs consisting of 246 assets

New coins listed: XEM, BRAVO, MOZOX, TUSC, CLR, WEPS

New cryptocurrency pairs: 

HITBTC 

HitBTC contains 899 trading pairs consisting of 396 assets

New coin listed: UBT

Available cryptocurrency pair: 

New cryptocurrency pair: 

BITMART

Bitmart contains 289 trading pairs consisting of 159 assets

New coins listed: LIT, TERN, PRQ

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

Removed pairs: 

  • HUDDL/ETH
  • BMX/BTC

BINANCE 

Binance.US contains 57 trading pairs consisting of 31 assets

New cryptocurrency pairs: 

BEQUANT

Bequant contains 93 trading pairs consisting of 25 assets

Removed pair: 

  • ADA/GBPB

Market Data: February 26, 2020

Market data report provided by XTRD FIX API

BITHUMB

Bithumb contains 167 trading pairs consisting of 118 assets

New coins listed: YO, KOK, WABI

Available cryptocurrency pairs: 

OKEX

OKEx contains 373 trading pairs consisting of 150 assets

New coins listed: HDAO, APM

Available cryptocurrency pairs: 

GATE.IO

GATE.IO contains 446 trading pairs consisting of 217 assets

New coins listed: BTC3L, BTC3S

Available cryptocurrency pairs: 

New cryptocurrency pair: 

BINANCE

Binance contains 756 trading pairs consisting of 217 assets

New coin listed: MBL

Available cryptocurrency pairs: 

Delisted coins: 

  • 123
  • 456

Removed cryptocurrency pairs: 

  • 123/456

OKCOIN

OKCoin contains 25 trading pairs consisting of 20 assets

New coin listed: DAI

Available cryptocurrency pair: 

BINANCE.US

Binance.US contains 53 trading pairs consisting of 31 assets

New coin listed: ZIL

Available cryptocurrency pairs: 

New cryptocurrency pair: 

PROBIT

PROBIT contains 420 trading pairs consisting of 240 assets

New coins listed: OKS, STI, DOGE, EIN, KDAG, BTCC

Available cryptocurrency pairs: 

Removed cryptocurrency pairs: 

  • MPG/KRW
  • MPG/BTC

STEX

STEX contains 441 trading pairs consisting of 347 assets

New coin listed: HMR

New cryptocurrency pairs: 

Removed cryptocurrency pairs: 

  • MPG/ETH
  • MPG/BTC

COINBASE

CoinBase contains 58 trading pairs consisting of 25 assets

New coin listed: KNC

Available cryptocurrency pairs: 

HITBTC

HitBTC contains 897 trading pairs consisting of 395 assets

New coins listed: IPX, ROOBEE

Available cryptocurrency pairs: 

Delisted coin: 

  • ENG

Removed currency pairs: 

  • ENG/ETH
  • PAT/ETH
  • PAT/USD
  • PAT/BTC
  • VOCO/ETH
  • VOCO/ETH
  • VOCO/USD

BITTREX

Bittrex contains 353 trading pairs consisting of 238 assets

New coins listed: FRSP, WICC

Available cryptocurrency pairs: 

Market Data: February 19, 2020

Market data report provided by XTRD FIX API

OKEX

OKEx contains 369 trading pairs consisting of 148 assets

New coin listed: RVN

Available cryptocurrency pairs: 

Delisted coins: 

  • SDA
  • SHOW

Removed cryptocurrency pairs: 

  • SDA/ETH
  • SHOW/USDT
  • INSUR/BTC
  • PRA/ETH
  •  XAS/BTC
  • ABL/BTC
  • XAS/USDT
  • PRA/USDT
  • INSUR/USDT
  • ABL/ETH
  • EDGE/USDT
  • EDGE/BTC

GATE.IO

GATE.IO contains 443 trading pairs consisting of 215 assets

New coins listed: EOSBEAR, EOSBULL, XRPBULL, XRPBEAR, BTCBEAR, BTCBULL, ETHBULL, OKB, ETHBEAR, HBAR, HNS

Available cryptocurrency pairs: 

BINANCE 

Binance contains 754 trading pairs consisting of 218 assets

New coins listed: 123, 456

Available cryptocurrency pair: 

New cryptocurrency pairs: 

BITFINEX

BITFINEX contains 424 trading pairs consisting of 161 assets

Removed currency pairs: 

  • BCI/USD
  • BCI/BTC
  • BBN/USD
  • BBN/ETH

PROBIT

PROBIT contains 414 trading pairs consisting of 235 assets

New coins listed: WCC, CORN, MCO, WMA, RTN, SEELE

Available cryptocurrency pairs: 

STEX

STEX contains 440 trading pairs consisting of 347 assets

New coins listed: KICK, XQR, NYC

Available cryptocurrency pairs: 

HITBTC

HitBTC contains 900 trading pairs consisting of 395 assets

New coins listed: MOF, EXM

Available cryptocurrency pairs: 

BITTREX

Bittrex contains 350 trading pairs consisting of 236 assets

New coins listed: VRA, ABBC

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

How to trade on Huobi using XTRD FIX API

Original post by XTRD Co-Founder and CTO Serg Gulko

Huobi Global is a Singapore based cryptocurrency exchange founded in 2013. With daily volumes of around $2 billion per day, Huobi Global is an extremely liquid exchange for multiple crypto trading pairs including BTC, ETH, LTC, XRP, and more. As of January 2020, it has around 400 verified markets and about 25 unverified markets. It’s worth mentioning that Huobi Global, unlike many other exchanges, has never been hacked and has millions of customers all over the globe.

In this article, we would like to demonstrate how to build a relatively simple but fully functional trading application on top of XTRD FIX API that would connect to Huobi. You can freely re-use this as source code in your own projects.

The application will show how to establish two outgoing FIX connections to the XTRD FIX Gateway. One of the sessions will be used to receive real-time, normalized market data for a single pair — ETH/USDT. The second session will provide access to trading capabilities alongside certain account’s financial information such as open orders and positions.

So, as the first step, we will connect to the market data session and will subscribe to updates for ETH/USDT.

Simultaneously, the application will establish a connection to a trading session and will perform full cycle recovery operations — get a list of open orders and get available balances.

After we finish the handshake phase, the application will start sending limit orders to buy ETH. The order price will be always 20% outside the market just to make sure that the order will rest in the book and not execute. We will allow the order to rest on the book for several seconds and then cancel it. Then the cycle will start over. Eat. Sleep. Repeat.

Huobi has an advanced and rich API. But, like any big and complex thing, it has its own disadvantages. For example, you can’t send orders using WebSocket and have to use REST API. So what’s the issue? Many digital assets exchanges do the same.

The problem is the confirmation that comes over WebSocket doesn’t contain the client’s assigned ID and only has a Huobi-generated Order ID. However, you can know this external Order ID only after you’ll receive and parse the response on your REST API request. Sometimes, WebSocket’s message is delivered faster than you receive your Order ID which leaves you guessing what this report is all about.

Someone always runs (or rides) faster…

The XTRD Orders router successfully solves this problem so our clients can enjoy streamlined ExecutionReport orders in a proper way.

Taking into account that this application will not be that simple, we will use several supportive classes, developed by our team. We do not recommend using these classes in high-load applications because of a lack of optimization but it’s good enough for the purpose of this course.

To build a simple trading application, we will use Java and OnixS FIX Engine. Of course, you can always replace Java with C++, Python, or JavaScript and OnixS with QuickFIX or Fix8, that’s the beauty of the FIX API — it’s completely language and engine agnostic. Yes, we do prefer to use OnixS libraries because of their advantages but this is only an internal team decision.

Feel free to contact us if you need assistance with porting to another language/FIX library, we are happy to help!

The application we will build is a state machine that moves from one stage to another depending on previous conditions. Here is the diagram with possible(simplified to increase readability) states:

As you can see, the application will start sending orders only if it is in the APP_ENTER_MARKET stage which is a combination of MD_READY and ORD_READY. If something unexpected happened, e.g. one of the sessions lost a connection, all trading activities will be stopped.

Let’s get started with the easiest part — establishing a connection to a market data session and subscribing to updates for ETH/USDT.

The XTRD MD Feeder expects that you will start your handshake by sending a special message called Logon that contains fields Username and Password.

You might ask a reasonable question — is it secure to send unencrypted credentials? Well, XTRD clients are connected to our server using one of these options:

  • IPSec VPN channel
  • Cross-connection
  • Co-locating within Equinix NY4 data center

Therefore, all traffic between you and us is completely isolated from other people. And, as we already know your password, there is no sense to hide it from us:)

In the case of successful authorization, our server will respond with a Logon message which moves us to the stage of sending a message to subscribe to the market data stream.

In FIX we use MarketDataRequest to indicate updates for what instrument(s) and exchanges we would like to receive.

In order to act as a true normalization layer, we decided to maintain our own symbology. So, instead of trading ethusdt(on Huobi), usdteth(on Bittrex), or 4(on BlockTrade) the only one name you have to use is ETH/USDT.

Here is a sample of MarketDataRequest structure and part of Java code to create a corresponding message:

MarketDataRequest

Once received by server, MarketDataRequest message will trigger a chain of events:

  • Full book snapshot will be returned as a form of MarketDataSnapshotFullRefresh message
  • Server will send real-time incremental updates for the required instrument when the corresponding symbol will be changed on the Huobi end. Instead of sending a full book (which sometimes could be really big) XTRD takes an approach to optimize data flow by sending only the parts that actually have been changed — e.g. trades, new price levels added or removed, size updates.

Our book management rules are based on widely used principles from traditional finance — a combination of NEW(0), UPDATE(1), and DELETE(2) events. This is a very straightforward approach that helps to easily build reliable and predictable software.

To illustrate this concept, we built and share on our repository a very simple book. We do not recommend using this code in a production environment because it suffers from significant performance penalties. But it’s still good enough for the purpose of this article.

So we will “feed” all market data events into our simple book. This way we can be sure that we have an accurate picture of what is going on in a market (with one particular instrument).

Perfect, we have the data! But what will we do with it? Let’s dive into building a trading connector!

This part is much more complicated compared with market data because it requires position and order synchronization. In order to keep this article in a reasonable size, we will omit actual synchronization and recovery techniques and will only show how to send messages. Anyway, each trading application has its’ own backend and own rules…

The first step is completely the same as the market data session — Logon. Once we pass authorization, it’s time to request a list of our assets under management. FIX has a special message for this — RequestForPositions. Depending on the usage context, the server will return a current position snapshot and/or will continue to notify you in real-time if position size changes in case of trade, withdrawal or deposit.

The workflow is following — you sent a RequestForPositions message and the server will get back to you with one RequestForPositionAck message that indicates what to expect next. In case you do have some positions, the information will arrive in the form of PositionReport messages.

RequestForPositions

The very last PositionReport message will have a special marker that we will use to switch to another stage — order synchronization.

Sometimes your trading session might have live working orders sitting somewhere in books. The XTRD FIX API has a special message to call for these working horses — OrderMassStatusRequest. In the FIX world, most of the information about orders is transmitted using ExecutionReport message. This message contains the most number of fields in comparison with other messages from FIX language. But it helps to precisely identify orders and their respective statuses.

As long as XTRD acts as a DMA provider, we want to make sure that all our operations are 100% transparent. So alongside the client’s assigned ID (transmitted in field ClOrdID(Tag 11)) and XTRD assigned ID (OrderID(Tag 37), always integer number), you will see an exchange-assigned ID (in SecondaryOrderID(Tag 198) field).

Our order synchronization strategy works like this — send OderMassStatusRequest and wait for server response. There are two possible scenarios(in case of a valid initial message):

  • Server will respond with a list of ExecutionReports which can be filtered by MdReqId(request ID, assigned by client) and ExecType=STATUS(I)
  • In the case when you don’t have open orders, the server will respond with specially formatted ExecutionReport. We did it this way because unlike counterparty to Request for Positions — RequestForPositionsAck, FIX does not have a default confirmation message for order status which might mean you’ll wait for your reports forever.

At this point, our positions and orders are synchronized so let’s have some fun shooting orders!

Our application will take the top of the book price and then will send a Limit order with price X pips aways from the best bid or offer (depending on a side we choose). Our goal is to create an order which will rest in the book for a certain amount of time before the algo cancels it.

To place an order, we will use a message called NewOrderSingle. Its’ fields are pretty straightforward and self-explanatory — you need to specify Side(Tag 54 ) (buy or sell), Type(Tag 40) (Limit in our case), provide a limit price and order size, set Symbol(Tag 55) and a routing destination(Tag 11) (HUOBI in this case). The full fields description for NewOrderSingle message can be found here.

NewOrderSingle

Once an order is sent out, the server will respond with a certain number of ExecutionReports indicating life cycle changes. The XTRD platform uses the following statuses to indicate what is going on with your order:

  • PENDING_NEW: order passed initial verification and is accepted by our platform for further execution
  • NEW(0): order has been delivered to the target exchange and accepted for execution
  • PARTIALLY FILLED(1)/FILLED(2): part of the order size or whole order has been matched with a counterparty and executed
  • CANCELED(4): order has been canceled manually or through API request
  • REJECTED(8): order has been rejected because of an internal error or wrong parameters

Of course, we all want to see a perfect PENDING_NEW/NEW -> FILLED cycle and our engineers are doing their best in order to provide the fastest tech. We also rely on our LP partners such as Huobi Global.

Perfect, your order is in a book so let’s hurry to cancel it before it gets executed!

To cancel an order, you need to send an OrderCancelRequest message. Here is the tricky part — you need to provide 3 IDs:

  • ClOrdID: ID for your cancel request
  • OrigClOrdID: this is an internal ID of your trading order sent on a previous step
  • OrderID: ID on XTRD side

Translated in human language, this record should be read as follows: “use Order ClOrdID to cancel my previously placed order OrigClOrdID/OrderID

OrderCancelRequest

Once we cancel your order, the server will notify you with corresponding ExecutionReport, confirming that trading/working order has been canceled.

In accordance with the workflow of a demo application, the algo will sleep for 2 seconds and then will send another Limit order. Again. And again.

As you can see, it’s relatively easy to build a simple trading application for Huobi using the XTRD FIX API. When properly designed, it will work clockwise, without stops for sleep or rest. Of course, you need to integrate some logic to enter and exit markets but there are many signal providers, case studies, technical analysis libraries, and even AI platforms that could be utilized.

No matter what you will use as the “brain” for your actual application, rest assured that the XTRD FIX API for trading on cryptocurrency exchanges such as Huobi will remain a trustworthy and reliable partner!

Market Data: February 12, 2020

Market data report provided by XTRD FIX API

EXMO

EXMO contains 179 trading pairs consisting of 58 assets

New coins added: ONT, ONG

Available currency pairs: 

YOBIT 

Yobit contains 8491 trading pairs consisting of 1417 assets

New coins listed: ALISA, XALIS, WTP

Available currency pairs: 

Removed currency pairs: 

  • ALIS/RUR
  • ALIS/USD
  • ALIS/WAVES
  • ALIS/ETH
  • ALIS/DOGE
  • ALIS/BTC

HUOBI

Huobi contains 561 trading pairs consisting of 229 assets

New cryptocurrency pair: 

BINANCE

Binance contains 743 trading pairs consisting of 216 assets

New coins listed: EOSBEAR, EOSBULL, XRPBULL, XRPBEAR, LTO

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

BEQUANT 

Bequant contains 94 trading pairs consisting of 25 assets

New cryptocurrency pairs: 

Removed cryptocurrency pairs: 

  • ADA/USDB
  • ADA/TUSD
  • ADA/EOS
  • ADA/EURB
  • ADA/DAI

LGO

LGO contains 2 trading pairs consisting of 3 assets

New coin listed: LGO

Available currency pair: 

CEX.IO

CEX.IO contains 76 trading pairs consisting of 27 assets

New coin listed: XTZ

Available currency pairs: 

New cryptocurrency pair: 

PROBIT

PROBIT contains 405 trading pairs consisting of 229 assets

New coins listed: CRO, CALL, KVN, HUSL, KAM, NXR, HNC

Available cryptocurrency pairs: 

STEX

STEX contains 436 trading pairs consisting of 344 assets

New coins listed: ASY, DIVI

Available cryptocurrency pairs: 

Delisted coin: 

  • OMNES

Removed cryptocurrency pair: 

  • OMNES/ETH

BITMART

Bitmart contains 30 trading pairs consisting of 31 assets

New cryptocurrency pairs: 

Delisted 55 coins

Removed 282 cryptocurrency pairs

HITBTC 

HitBTC contains 898 trading pairs consisting of 393 assets

New coins listed: CELR, NWC, BDP, VSYS

Available currency pairs: 

Delisted coin: 

  • HPC

Removed currency pairs: 

  • HPC/BTC
  • ECOIN/ETH
  • DWS/USD
  • DWS/BTC
  • ECOIN/BTC
  • DWS/ETH
  • ECOIN/USD