How to configure trading capabilities on XTRD Bookmap Addon

In this article, we’ll describe how to configure trading capabilities on various cryptocurrency exchanges using the XTRD Addon for Bookmap. In case you don’t have this addon yet, here is the link to the document that will guide you through. 

Use the standard Bookmap configuration window to subscribe to a certain instrument, for example, ETH/USDT on Binance. Once connected, you should see a floating window with your positions under management (initially empty):

Click on the blue “TRADING SETTINGS” button in the floating window. It will bring up another window with a list of available and configured trading destinations. 

The Bookmap platform is organized in such a way that you need to have an active market data subscription in order to trade. It’s always possible to add subscriptions through the Bookmap Marketplace

In the “XTRD Trading Settings” window, click on the “CONFIGURE” button for your target trading destination. Depending on the exchange type, you’ll need to enter a combination of Private Key, API Key, and/or Password. Please feel free to reach out to us in case you need assistance obtaining these parameters from your exchange!

Click on the “ADD” button. You’ll be forwarded to the connector’s configuration window. 

“Ready to trade” destinations will have a green light, and a red light indicates that the connection is not established yet. 

Allow about one minute for the system to finish all synchronization such as open orders and positions. Once a connection is ready, the indicator will turn green and all your available assets will be displayed in the “Positions” window.

Congratulations, you now can trade on Binance (and many other exchanges) using the XTRD Addon for Bookmap! 

Important Menu Options

UPDATE – this button will be activated once you decide to update your connectivity credentials.

DELETE – this button will remove the selected exchange from the routing destinations. All open orders will remain open. 

If you would like to quickly convert one currency to another, go to Positions, select base asset (in our case ETH), select a quote asset from the drop-down (for example BTC), and click “CONVERT”. 

All other trading operations, like opening or canceling orders and monitoring trading activities can be performed using the standard Bookmap functionality. 

We prepared a small video with instructions and several trading operations (including cross-checks using an actual Binance GUI). 

XTRD partners with Beeks

XTRD is happy to announce its partnership with Beeks, a leading cloud computing, connectivity and analytics provider for financial services.

This partnership will allow seamless provisioning of virtual private servers (VPS) immediately ready to trade on a variety of digital assets platforms, provided by XTRD. Beeks’ advanced eco-system, managed by their 24/7 Network Operations Centre, will dramatically reduce deployment time and increase the agility of resource provisioning.

As well as VPS based services for our larger trading clients, Beeks can also offer bare metal compute on dedicated servers providing better performance and an increased security layer.

Pete Johnson, Chief Technology Officer at Beeks stated, “As a growing asset class, we’ve had lots of interest in connecting our client base to trade the cryptocurrency markets. We already have several clients and partners in this space and we see the relationship with XTRD as an exciting extension of our capabilities”.

“Trading digital assets include certain complexities, such as protocols, connectivity, settlement, cybersecurity, and proper infrastructure. We believe that our partnership with Beeks Financial Cloud will bring much-needed peace of mind to many of our clients in terms of the deployment process, taking into account Beeks’ level of sophistication. As for the rest – XTRD has you covered.” said Serg Gulko, Co-Founder, and CTO at XTRD.

Beeks is a leading cloud computing, connectivity and analytics provider for financial services. With an international network of eighteen datacentres, Beeks provides end to end outsourcing of compute environments by delivering low-latency compute, connectivity and analytics, on-demand. ISO 27001 certified, Beeks supports its global customers at scale exclusively within global capital markets and leading financial centres.

Different deployment options

Colocation 

Colocation is a deployment of physical hardware in the XTRD rackmounts in Equinix NY4, a primary datacenter utilized by major financial companies and stock exchanges. One of the most secure and efficient (in terms of performance and latency) ways to start trading crypto is by leveraging theseXTRD routing servers at Equinix. 

You can send us your own hardware or rent something from our inventory. XTRD can offer 1U or 2U slots with both managed and unmanaged options. 

With a managed option the XTRD team will take care of your hardware (monitor, component replacement, backups etc), while unmanaged means that it has to be done by your engineers. 

From our experience, if you want to get the best possible performance – colocation is the only choice. With direct access to hardware and software, you can tune servers to outperform virtual instances offered by cloud providers. Of course, it all comes with a price and depends on your end goals. For example, a Honda is a great car to do pretty much everything – travel, commute to work, help your friend to move to another location but if you need to run a race – consider a Ferrari. 

Pros of dedicated managed hardware:

  • Low network latency 
  • High performance
  • High security
  • Full control over the hardware 

Cons:

  • Cost of hardware
  • Cost of hardware maintenance

Cross-connection

If your servers are already in Equinix, another great option is cross-connection. With minimal latency, you can communicate with XTRD’s servers to consume market data and route orders to major cryptocurrency exchanges in the US, Asia, and Europe. 

XTRD’s state-of-the-art network infrastructure based on high-performance Arista switches will deliver FIX messages in and out in no time! 

Pros

  • Low network latency
  • High security 
  • Ability to reuse your own hardware

Cons

  • More expensive than VPN or VPS

VPN

If network latency for you is not an issue, we can offer access to our services through encrypted VPN channels. It’s easy to configure and doesn’t necessarily require purchasing expensive hardware.

With this type of connection, clients are able to access the same resources as cross or direct connection but with a bit higher network latency caused by SSL/TLS encryption. 

This is an ideal set up during the development/integration phase followed by migration to more advanced (and fast) cross-connection or colocation methods. Nevertheless, VPN can still be used for a variety of applications that do not require low latency.

VPS

Virtual Private Server (or VPS for short) is a good alternative to the co-location option. Instead of physical servers, your code will be running inside a virtual machine. This is a perfect option when you just want to do a quick test of your ideas. 

Pros

  • No long-term obligations
  • Hardware knowledge is not required
  • Easy to maintain (backup, restore, destroy)
  • Less expensive

Cons

  • Less tuning options
  • Less performance

VPS deployment options are available through our partners such as UltraFX VPS.

Let us know if you would like to try our services with a no-cost, no-obligation trial period! 

Feel free to reach out to us on LinkedInFacebookTwitter, or via the website at XTRD.IO.

Previous articles:

Reliable Market Data
Normalized Symbology
Normalized API for Trading
Engineering XTRD’s Fort Knox of Authentication

MARKTS partners with XTRD to increase access to digital assets for end-users

NEW YORK: 7/30/2020  – TradingScreen Inc. (TS) subsidiary MARKTS, a cryptocurrency order and execution management system (OEMS), announces today its partnership with XTRD, an orders routing and connectivity provider targeting digital markets, to enable end-users to connect to an additional set of crypto exchanges on the MARKTS platform. 

This integration will enable seamless connectivity to a further 20+ exchanges and expand the already extensive list of venues enabled on the MARKTS platform. The partnership will ensure reliable connectivity for institutional investors to digital assets by providing clients with alternative routes to liquidity and facilitating efficient trading of various top tier coins and tokens.

Through this partnership, MARKTS will address the long-standing issue of reliable connectivity to digital assets for the institutional sector and facilitate multi-venue access.

“In a market where liquidity is fractionated and reliable connectivity is essential, accessing multi-venues is paramount. Alongside our current set of TS connections, XTRD services will provide our clients with choice and key alternative routes to access liquidity.

“We are excited to partner with XTRD which complements our set of institutional-grade connections to various crypto venues,” says Alexandre Carteau, Head of MARKTS.

“We are happy to announce our partnership with MARKTS today to remove the barriers hindering reliable connectivity and access to digital assets for the institutional sector. Through this partnership we will provide institutional-grade solutions for traders of all kinds,” says Serg Gulko, Co-Found, and CTO at XTRD. 

About MARKTS:

MARKTS, a TradingScreen company, is a cloud-based ‘software-as-a-service’ platform that offers users the ability to employ institutional-grade tools to facilitate order routing of digital assets in one integrated and compliant solution. For more information, please visit www.markts.io

About XTRD: 

Founded in 2017 by financial markets trading experts, XTRD is introducing a new infrastructure to allow banks, hedge funds, and large institutional traders easy, reliable access to any cryptocurrency market they choose.  By building a low-latency infrastructure with a unified FIX API across multiple liquidity points, XTRD is taking an industry-standard technology used within global financial markets – namely FIX – for over 25 years and introducing it to the cryptocurrency market. Visit www.xtrd.io for more information.

Engineering XTRD’s Fort Knox of Authentication

When it comes to cybersecurity, especially in the digital asset industry, there is no room for compromises! 

Of course, this is a very hot topic and it’s always easy to talk about it rather than implement it in practice. These are additional procedures to follow, extra techniques to use, more people to hire. We built our systems taking into account the hostile environment where we will operate. Here is a brief overview of what XTRD does in order to protect our clients’ digital assets. 

Restricted access. Our servers are not available over the public internet. In order to trade, clients have to cross-connect with XTRD within Equinix IBX data centers. Another option is to set up a VPN tunnel. In both cases, we know who the customer is. 

Isolated environment for clients. Each client runs their operations within an isolated network segment invisible to other participants. This isolation is controlled by hardware and software layers. 

Components separation. XTRD is built as a modular system (different data buses, routing components, data normalization farm, streamers, databases, monitoring, journaling, and so on) where components are separated by firewalls (if required by business logic). Each component can access only very specific IP addresses and ports. And, of course, no access to the operating environment is available over the public Internet! 

Data encryption. Despite the fact that components are isolated and covered by firewalls, they “talk” to each other only through encrypted channels. Even internally. That’s the rule!

No sensitive information stored as a plain text. We deal with passwords, keys, and other forms of client’s credentials. This information is never stored unencrypted. API calls (yes, we do have REST API for accounts management) never return real data. Logs/journal records are scrambled to avoid unexpected leaks. 

Protected from people’s failure. XTRD uses techniques similar to launch sequences on nuclear submarines – in order to start the system, it required a combined effort of several people. So in case of an unlikely event when one part of the key was compromised, it’s still not enough to obtain access – analogous to a multi-signature wallet concept. 

Authentications and authorization. The majority of XTRD resources require authentication prior to obtaining access. In addition, access to certain resources is limited by a role-based authorization system. 

Journaling and monitoring. All events, big and small, are carefully monitored and added into a journal. We know who was doing what and when. Of course, this information is carefully stored and backed up via tape on separate geographically distant servers. 

XTRD has many more secure controls but we are keeping some of our secrets!  

Let us know if you would like to try our services with a no-cost, no-obligation trial period! 

Feel free to reach out to us on LinkedIn, Facebook, Twitter, or via the website at XTRD.IO.

Previous articles:

Reliable Market Data
Normalized Symbology
Normalized API for Trading

Normalized symbology

The XTRD team has built and maintained a database of normalized symbol names and assets in the digital asset trading space. This may sound like a small thing, but once you begin trading across multiple crypto exchanges things quickly start to become complicated. For example, just the ETH/USDT trading pair is represented as follows across these exchanges:

  • ethusdt on HUOBI
  • ETH/USDT on KRAKEN
  • ETHUSDT on BINANCE
  • 55 on BITMART

Here are additional esoteric naming conventions.

With XTRD, you can subscribe to market data updates through our FIX API using the same symbol name – for example, ETH/USDT – for Huobi, Kraken, Binance, Bitmart, and any other XTRD supported exchange. More importantly, you can trade over XTRD’s FIX using just the ETH/USDT symbol name for all exchanges. All trading messages, all reports – everything is built on top of normalized symbols and assets. XTRD has done the hard work of normalizing naming conventions, so you don’t have to. 

Today XTRD’s database contains 12,659 unique symbols with multiple permutations. This means that you can reach 30+ different digital asset exchanges in almost no time using XTRD’s unified FIX API. 

Being an active member of the FIX Trading Community, we understand the importance of standardization and are awaiting ISO’s decision regarding a global cryptocurrency naming convention. Whenever it will happen – today, tomorrow, or in two years – our systems are designed in a way that allows easy adaptation for diverse primary naming sources. 

Let us know if you would like to try our services with a free, no-obligation trial period! 

Feel free to reach out to us on LinkedIn, Facebook, Twitter, or via the website at XTRD.IO.

Market Data: May 6, 2020

Market data report provided by XTRD FIX API

BINANCE

Binance contains 592 trading pairs consisting of 197 assets

Removed cryptocurrency pairs: 

  • LOOM/BNB
  • POWR/BNB
  • OAX/ETH
  • ONG/BNB
  • BTS/ETH
  • WAVES/TUSD

STEX

STEX contains 423 trading pairs consisting of 330 assets

New coins listed: STS, TNC

Available cryptocurrency pairs: 

BITHUMB

Bithumb contains 192 trading pairs consisting of 138 assets

New coins listed: YSR, SWFTC, XPR, DEP

Available cryptocurrency pairs: 

Removed cryptocurrency pairs: 

  • FF1/BTC

EXMO

EXMO contains 182 trading pairs consisting of 56 assets

Delisted coins: ATMCASH, BTCZ

Removed cryptocurrency pairs:

  • BTCZ/BTC
  • ATMCASH/BTC
  • INK/ETH
  • KICK/USDT
  • DXT/USD
  • INK/USD
  • INK/BTC
  • KICK/ETH
  • KICK/RUB
  • DXT/BTC
  • KICK/BTC

HUOBI

Huobi contains 557 trading pairs consisting of 230 assets

New cryptocurrency pairs: 

BITMEX

Bitmex contains 13 trading pairs consisting of 12 assets

New coin listed: USDM20

Available cryptocurrency pair: 

KRAKEN

Kraken contains 155 trading pairs consisting of 39 assets

New cryptocurrency pairs: 

COINSUPER

Coinsuper contains 81 trading pairs consisting of 61 assets

New coin listed: TNC

Available cryptocurrency pairs: 

BITFINEX 

BITFINEXcontains 293 trading pairs consisting of 160 assets

New coin listed: BTCDOMF0

Available cryptocurrency pair: 

Delisted coins: DAD, SEN

Removed cryptocurrency pairs: 

  • DAD/USD
  • SEN/USD
  • NIO/ETH
  • NIO/USD

CEX.IO

CEX.IO contains 82 trading pairs consisting of 29 assets

New cryptocurrency pair: 

PROBIT 

PROBIT contains 540 trading pairs consisting of 303 assets

New coins listed: XEN, PAA, KALA, DGTX, XANK

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

Removed cryptocurrency pairs: 

  • TPD/BTC
  • TPD/KRW

COINBASE

CoinBase contains 59 trading pairs consisting of 29 assets

New cryptocurrency pair: 

BITMART

Bitmart contains 295 trading pairs consisting of 165 assets

New coins listed: POCBGH, QM

Available cryptocurrency pairs: 

New cryptocurrency pair: 

Delisted coins: AVA, MXW

Removed cryptocurrency pairs: 

  • MXW/USDT
  • AVA/BTC
  • BBK/BTC
  • BCT/BTC
  • BCH/BTC
  • BAT/BTC
  • MATIC/USDT
  • BTT/USDT

HITBTC

HitBTC contains 909 trading pairs consisting of 405 assets

New coins listed: DNA, TNC

Available cryptocurrency pairs: 

Delisted coin: SCD

Removed cryptocurrency pairs: 

  • SCD/DAI
  • PETH/BTC
  • DADI/BTC
  • PETH/USD
  • DADI/ETH
  • PETH/ETH

BITTREX

Bittrex contains 414 trading pairs consisting of 264 assets

New coin listed: HDAO

Available cryptocurrency pairs: 

Delisted coin: CPT

Removed cryptocurrency pair: 

  • BTC/CPT

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. 

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!

Recap after Europe Trading Show 2019

For XTRD, the Trading Show has become a must-attend event. Our team usually attends Chicago and New York venues, completely ignoring other destinations. This year we decided to change our approach and try London!

Long story short — it was more than successful! The exhibition took place only for one day on October 17th but at the moment of writing this small update (November 1) we are still conducting followup calls with contacts obtained during the show.

Unlike the US, the floor in this particular show was almost immediately crowded (famous British punctuality?). We came to the show as a team of three people and this was really a smart move. Numerous conversations regarding differing topics — trading, banking, exchange technologies, future of digital assets, regulation and so on. Tough but interesting questions to answer!

Speaking of XTRD services — people mainly were interested in market data and order routing — how many exchanges are covered, what is our latency, how secure our facility etc. It worth to mention several companies that stopped by our booth — BookMapTradingViewVaubanPICOOKExBinanceEdelweiss Financial Services, ITS Trading, LGO MarketsQuazard GamingSprinkle Group. We are working hard to see them as partners or clients one day!

Fun fact — absolutely unexpectedly I found myself as a speaker for 1 PM slot:) Luckily, I had with me my old version of “The Cold, Hard Truth about Crypto Adoption” which I reused once again. Can’t say it was super successful or at least caused continues discussion (like it happened in New York) but I learned this lesson — no more philosophy on stage:)

It was really nice to meet our old friends from AvelacomExablaze, and Onix Solutions.