OpenAPI

In an effort to simplify order placement for FX instruments, we will be transitioning from one set of stop orders to another set of stop orders. This document explains the change, how it affects you as application developers, and how we intend to roll it out.

What is the change?

Which asset types are affected?

The change only affects the asset types: FxSpot.

Which order types are affected?

Today the list of available order types for FxSpot are:

  • For non-DMA trades: StopIfBid, StopIfOffered,TrailingStopIfBid,TrailingStopIfOffered and StopLimit, Market and Limit
  • For DMA trades:GuranteedStop,TrailingStop, StopLimit, Market and Limit.

After the change, we will only offer: Stop,TrailingStop, StopLimit, Market and Limit for both non-DMA and DMA trades.

As a developer you will not see a change in the list of PlacableOrderTypes enum. But once the transition is made, you will find that the list of "SupportedOrderTypes" returned for an instrument, when calling ref/v1/instruments/details will be modified to only return Stop, TrailingStop, StopLimit, Market and Limit. In other words the values of StopIfBid, StopIfOffered,TralingStopIfBid,TrailingStopIfOffered and GuaranteedStop, will no longer be returned for FxSpot.


The mapping between the two sets of order types is listed below

NowAfter Change
StopIfBidStop.
StopIfOfferedStop
GuranteedStopStop (GuaranteedStop no longer supported)
TralingStopifBidTrailingStop
TrailingStopIfOfferedTrailingStop
StopLimitStopLimit
MarketMarket
LimitLimit


NOTE: When specifying a Stop order, the system will automatically ensure that a Stop-Buy order is triggered upon breach of the Bid price and a Stop-Sell order is triggered upon breach of the Ask price.

Which parts of the API will be affected?

SupportedOrderTypes for Instruments

The list of supported order types returned when calling ref/v1/instruments/details, will be changed to only return Stop, TrailingStop and StopLimit, as well as Market and Limit.

OrderTypes in Portfolio

For at least 3 months after the launch of this change, orders will be returned with the exact order type specified when the order was placed. So If an order was placed with type StopIfBid prior to the change, it will also be returned with the type StopIfBid after the change.

This means that for a period the orders resource may return orders with both the old and the new types. If you then try to update an order with the "old" type you may specify either the "old" or the new type.

Approximately 3 months after the launch of this feature we will implement a forced change of all remaining open orders from the old types to the new types. 

OrderTypes in ActivityLogs

We will not be changing order types which have already been logged in and available in /cs/audit/v1/activities and /cs/audit/v1/orderactivities. New orders entered will be captured with the new order types.  

OrderPlacement

As always your application is expected to first check supported order types (from calling ref/v1/instruments/details) and only use the order types listed, when placing or modifying orders.

In a transition period the orders/v1/ orders/v2 interfaces will however also allow the now current GuaranteedStop, StopIfBid,StopIfOffered, TrailingStopIfBid, TralingStopIfOffered order types. 


Transition Stages

(NOTE: Dates are tentative and you will be given a schedule update at regular intervals).

State

What

What should you do?

Now

Get prepared

Please already now prepare your code to be able to recognize the two new order order types: Stop and TrailingStop.

Preparing means:

  • Update your code to support the two new order types as well as the current ones.

  • Do not remove support for the old order types, just add support for the new ones.
5/1-19All of the above changes are implemented on our simulation system. This includes removing the old order types.

Please test your code thoroughly on the simulation system.

Make sure you also move this code to your application on the live system, so it is ready when the change is later implemented on our live system.

9/2-19

All of the above changes are implemented in our live system.

This should have no effect on your application, as it will already have been running against our simulation system for a while in this configuration.

9/3-19

It will no longer be possible to place orders using any of the old order types on the simulation system.

Verfiy that you app still works on our simulation system..

6/4-19

It will no longer be possible to place orders using any of the old order types on the live system.

Verify that your app still works on our live system.

4/5-19All open orders with the old order types will be converted to the new order types.Verify that your app still works.