Please note, this API download package contains information for both the Java Trading API, as well as the FIX Trading API, which are separate APIs but are bundled together since the object models are both based on the FIX specification. If you are only interested in the FIX API, the only document you need is titled "FXCM-FIX-BSI.doc" in the download.
The FXCM Trading SDK provides clients with a fully functioning programmable API into the FXCM FX trading platform. The API’s main features are streaming executable FX trading prices, the ability to open/close positions and entry orders as well as set/update/delete stops ands limits. The API Object model is based on the FIX specification for FX (
http://www.fixprotocol.org) and is very simple and easy to use.
Brief overview of core API classes – See javadocs for complete details - IGateway: this is the primary interface into the FXCM trading platform. It contains all the entry points into application usability.
- FXCMLoginProperties: this class is used in the login method of IGateway and contains the properties necessary to log in.
- CollateralReport: represents an FXCM accounts properties at the time the message was generated. When it is a part of a batch response the RequestID can be used to match against the RequestID received from the IGateway.
- ExecutionReport: this class represents an order’s status in the system. When it is a part of a batch response the RequestID can be used to match against the RequestID received from the IGateway.
- PositionReport: this class is used to represent a position’s status in the FXCM system. When it is a part of a batch response the RequestID can be used to match against the RequestID received from the IGateway.
- ClosedPositionReport: this class represents a closed position in the FXCM system. When it is a part of a batch response the RequestID can be used to match against the RequestID received from the IGateway.
- OrderSingle: this class is used to send orders into the system.
- CollateralInquiryAck: this class is the first leg of a batch response to retrieve accounts.
- RequestForPositionsAck: this class is the first leg of a batch response to retrieve open or closed positions.
- MessageGenerator: this class is a factory for all order types available in the API
- OrderCancelRequest: this class is used to delete stop/limit orders.
- OrderCancelReplaceRequest: this class is used to update entry order prices and also to update stop/limit order prices
- IGenericMessageListener: implementations of this interface are registered with IGateway to receive application messages.
- IStatusMessageListener: implementations of this interface are registered with IGateway to receive application status messages.
Requirements
- The developer or developing company must be an existing FXCM client with an account balance over $25,000, or an introducing broker.
To obtain this API, please fill out the api request form at
http://www.fxprogrammers.com/api_request.htm