API Comparison


General

Category V20 REST API REST API Java SDK FIX MT4
Getting Started
License Agreement Online Online PDF PDF Online
API Enabled Online/Self-serve Online/Self-serve Email via customer support Email via customer support Online/Self-serve
OS All (online) All (online) All (Java) All Windows
Access Online Online Download software Online Download software
Availability restrictions by division Not yet available in Japan All All Institional customers only All

Order Types

Category V20 REST API REST API Java SDK FIX MT4
What order types are supported?
Market Order
MarketIfTouchedOrder
Standard Stop Order
Standard Limit
Take Profit / Stop Loss
Trailing Stop
OCO (TP/SL pair only)
What order durations are supported?
Fill-or-Kill (FOK)
Immediate-or-Cancel (IOC)
DAY
GTD
GTD Maximum Duration None 100 days 100 days 100 days 100 days
GTC
What trading operations are supported?
Order creation
Upper/Lower bound*
Order modification
Partial Trade Close
Close all orders
Close all orders on pair
Position close
Close all trades
Stale order rejection (reject orders if timestamp is x secs old) 1 second

* The v20 system only supports a single bound to prevent the price from moving against you. If the trade is a buy, then an upper price bound is supported to prevent executing at a price that is higher than the customer wanted. If the trade is a sell, then a lower bound is supported to prevent executing at a price that is lower than the customer wanted.

Account Management

Category V20 REST API REST API Java SDK FIX MT4
What account information can be gathered?
List of user accounts
Account status (balance, NAV etc)
List of positions
Position includes Unrealized P/L
List of trades
List of orders
Full account history
List of recent transactions unlimited four weeks, max 5000 records 90 days

Trade Information, Instruments and History

Category V20 REST API REST API Java SDK FIX MT4
What resource information can be retrieved?
Trade info
Trade trailing amount
Order ID that created a trade
Order info
Transaction Info
What market data can be gathered?
List of instruments
Number of tradable pairs available All tradable pairs for division All tradable pairs for division All tradable pairs for division All tradable pairs for division All tradable pairs for division
Access to non-tradeable pairs available Price information available Price information available Price information available Price information available Allowing market data requests on pairs marked as indicative is configurable
Instrument info
Current rates
Instrument History
Caching of instrument history
What is the maximum number of history records? 5000 per page 5000 per page 5000 per page no limit
How far does instrument history go back? Complete Complete Complete Varies by interval >=Daily, Complete
Candle data Bid, ask, mid Bid only
Intervals supported S5, S10, S15, S30, M1, M2, M3, M4, M5, M10, M15, M30, H1, H2, H3, H4, H6, H8, H12, D, W, M S5, S10, S15, S30, M1, M2, M3, M4, M5, M10, M15, M30, H1, H2, H3, H4, H6, H8, H12, D, W, M S5, S10, S15, S30, M1, M2, M3, M5, M10, M15, M30, H1, H2, H3, H4, H6, H8, H12, D, W, M M1, M5, M15, M30, H1, H4, D1, W1, MN
Flexible candle alignment? Aligned for GMT-5 and GMT+2 timezones only
Is streaming technology supported?
Streaming rates
Streaming events
Types of streaming events supported All account and trading related events All account and trading related events update orders, update trades, update transactions, update all (these events occur as result of tp/sl/ts/marketIfTouched fill, or any changes to account, trades, orders, or transactions.) Fill and expiry messages.,Cancellations originating from some other source are ignored.

Usage and Technical Requirements

Category V20 REST API REST API Java SDK FIX MT4
Quota Policy
Streams per user Aggregate of 20 connections 5 for rates, 20 for events unlimited unlimited unlimited (1 per terminal)
Rate limit (polling) 30 60 no polling 100 (default),Configurable by user name or IP address Streaming is always active, any polling is just against the local cache
Technical skills/limitations
Programming language Language agnostic Language agnostic Java any that allows socket communication MQL4 (and DLLs)
Format JSON JSON SDK Text SDK
Communication protocol HTTP HTTP OMP (propriatry protocol) TCP/FIX Proprietary
Connection state stateless stateless stateful stateful
What type of application can be build with the API?
Web
Desktop Windows only
Mobile
Partner Abilities
Third party application
Personal use application

Authentication & Other APIs

Category V20 REST API REST API Java SDK FIX MT4
What type of authentication and security is used?
OAuth
Username/Password
Account/Password
Supports read-only access
Messages encrypted SSL SSL SSL
Are custom indicators supported?
Write custom indicators
Query built-in indicators
Query custom indicators
Is backtesting built in?
Integration with other APIs
fxLabs API
Autochartist API