API Comparison
- General
- Order Types
- Account Management
- Trade Information, Instruments and History
- Usage and Technical Requirements
- Authentication & Other APIs
General
Category | V20 REST API | FIX | MT4 |
---|---|---|---|
Getting Started | |||
License Agreement | Online | Online | |
API Enabled | Online/Self-serve | Email via customer support | Online/Self-serve |
OS | All (online) | All | Windows |
Access | Online | Online | Download software |
Availability restrictions by division | Not yet available in Global Markets | Institional customers only | All |
Order Types
Category | V20 REST API | 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 |
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) |
* 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 | 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 | 90 days |
Trade Information, Instruments and History
Category | V20 REST API | 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 |
Access to non-tradeable pairs 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 | – | no limit |
How far does instrument history go back? | Complete | – | Varies by interval >=Daily, Complete |
Candle data | – | 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 | – | 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 | Fill and expiry messages.,Cancellations originating from some other source are ignored. | – |
Usage and Technical Requirements
Category | V20 REST API | FIX | MT4 | |
---|---|---|---|---|
Quota Policy | ||||
Streams per user | Aggregate of 20 connections | unlimited | unlimited (1 per terminal) | |
Rate limit (polling) | 30 | 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 | any that allows socket communication | MQL4 (and DLLs) | |
Format | JSON | Text | SDK | |
Communication protocol | HTTP | TCP/FIX | Proprietary | |
Connection state | stateless | 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 | FIX | MT4 |
---|---|---|---|
What type of authentication and security is used? | |||
Username/Password | |||
Account/Password | |||
Supports read-only access | |||
Messages encrypted | 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 |